You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The observability team runs the collector with a base config to define the static elements, and each team's config to pull in team specific processing rules. otelcol --config gateway-base.yaml --config team-A.yaml ...
Problem
Currently, all routes must include a pipelines field which explicitly names the pipeline(s) to which the data should be routed if it matches the route criteria. In the above example, a contract or convention is used to manage routing, but there is no way to dynamically lookup relevant pipelines.
Describe the solution you'd like
Instead of requiring each route item to specify pipelines, allow an alternative field e.g. lookup_pipeline which is a "computed" pipeline ID.
If a route uses this field, the value is interpreted as an OTTL expression which must return a string that is interpreted as a pipeline.ID. (The data type can be inferred from the type of data that is being routed.)
The routing connector can use its PipelineIDs method to check if it is a valid pipeline. If so, it routes the data to that pipeline. If not, the route is not considered a match in which case route matching moves on to the next route as usual.
The text was updated successfully, but these errors were encountered:
Component(s)
connector/routing
Is your feature request related to a problem? Please describe.
Scenario
In order to accomplish this, the observability team could define a simple contract which the other teams must follow:
resource.attributes["team"] = "team-A"
team-A.yaml
.The observability team runs the collector with a base config to define the static elements, and each team's config to pull in team specific processing rules.
otelcol --config gateway-base.yaml --config team-A.yaml ...
Problem
Currently, all routes must include a
pipelines
field which explicitly names the pipeline(s) to which the data should be routed if it matches the route criteria. In the above example, a contract or convention is used to manage routing, but there is no way to dynamically lookup relevant pipelines.Describe the solution you'd like
Instead of requiring each route item to specify
pipelines
, allow an alternative field e.g.lookup_pipeline
which is a "computed" pipeline ID.If a route uses this field, the value is interpreted as an OTTL expression which must return a string that is interpreted as a
pipeline.ID
. (The data type can be inferred from the type of data that is being routed.)The routing connector can use its
PipelineIDs
method to check if it is a valid pipeline. If so, it routes the data to that pipeline. If not, the route is not considered a match in which case route matching moves on to the next route as usual.The text was updated successfully, but these errors were encountered: