Stream rule vs Pipeline stage for matching and moving to different stream

Are there advantages (either in terms of administration, or of performance) for having a stream rule applying a regexp and moving messages into a stream vs doing the same regexp and move as a pipeline stage?

My feeling is using a pipeline at least means all the logic is in one place in the UI, and if you want to end up extracting matched fields from the message anyway, you’d end up repeating the expression. But are the stream rules to perform a simple match without the addition of parsing a scripting language more efficient? Or maybe it simply emulates a pipeline stage under the surface?


I think you mean using an Extractor on an Input to apply regex (etc) vs using a pipeline since Stream rules are only meant to define whether a particular message is routed to a stream.

I asked this question a while back and while there are some advantages to each method… I decided on the pipeline since I enjoy writing snippets of code and puzzling about how they sequence. Others that reply here are all Extractor based. There is no clear processing speed advantage I have read about yet. Pipelines are interesting in how they work - separation of rules with stages, yet if you have a message that happens to be running through two+ pipelines the rule stages execute in lock step with like numbered stages in the respective pipeline yet the rules within each stage essentially run in parallel… something to keep in mind as (or if) you are building complex pipeline rules.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.