-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
Description
Component(s)
processor/routing
Is your feature request related to a problem? Please describe.
If multiple statements are configured in the configuration file, the routing processor will judge each statement. Whenever a match is made, data will be sent to the exporters defined in the configuration. Can we support interrupting the match after matching only once?
Describe the solution you'd like
Use a switch to allow the routing processor to match only once.
Describe alternatives you've considered
No response
Additional context
routing:
default_exporters:
- jaeger
error_mode: ignore
table:
- statement: route() where resource.attributes["service.name"] == "demo"
exporters: [ logging ]
- statement: route() where resource.attributes["service.name"] == "demo" and resource.attributes["token"] == "xxx"
exporters: [ logging/2 ]
As shown in the configuration file above, I hope that some traces/metrics/logs will be sent to logging exporter if they only match the service.name attribute, and if they match both the service.name and the token, they will be sent to logging/2 exporter. This is possible in practice.
If this seems reasonable, I sincerely hope that I can make some contributions.