-
Notifications
You must be signed in to change notification settings - Fork 238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configure metrics exporter for loadbalancing when possible #2242
Configure metrics exporter for loadbalancing when possible #2242
Conversation
5b6f51c
to
f21e22d
Compare
f21e22d
to
fad70bc
Compare
Does this need a doc update in https://grafana.com/docs/alloy/latest/reference/components/otelcol/otelcol.exporter.loadbalancing/ ? |
9913ab6
to
5e5af96
Compare
I have now added a doc update to the PR |
docs/sources/reference/components/otelcol/otelcol.exporter.loadbalancing.md
Outdated
Show resolved
Hide resolved
docs/sources/reference/components/otelcol/otelcol.exporter.loadbalancing.md
Outdated
Show resolved
Hide resolved
docs/sources/reference/components/otelcol/otelcol.exporter.loadbalancing.md
Outdated
Show resolved
Hide resolved
docs/sources/reference/components/otelcol/otelcol.exporter.loadbalancing.md
Outdated
Show resolved
Hide resolved
docs/sources/reference/components/otelcol/otelcol.exporter.loadbalancing.md
Outdated
Show resolved
Hide resolved
docs/sources/reference/components/otelcol/otelcol.exporter.loadbalancing.md
Outdated
Show resolved
Hide resolved
…dbalancing.md Co-authored-by: Clayton Cornell <[email protected]>
…dbalancing.md Co-authored-by: Clayton Cornell <[email protected]>
…dbalancing.md Co-authored-by: Clayton Cornell <[email protected]>
…dbalancing.md Co-authored-by: Clayton Cornell <[email protected]>
…dbalancing.md Co-authored-by: Clayton Cornell <[email protected]>
…dbalancing.md Co-authored-by: Clayton Cornell <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the PR! If I remember correctly, there were two main problems in the past:
- We had to always send metrics, logs, and traces in OTLP components. #5684 fixed this so that we can only send a subset of those. Unfortunately, it also came with a limitation - a component is bound to the same types of telemetry throughout its lifetime. E.g. it might only be able to work for metrics.
- A component could only have one stability label. This is not a problem anymore - we now have the stability cmd args which can check if certain functionality is experimental.
Fortunately, there are ready solutions to those problems now. Unfortunately, one remaining challenge is that this exporter can change the types of outputs at runtime. It can start by accepting only metrics, then after a config update it may want to only accept traces in a way that's not compatible with any metrics config. I'm not sure what a good way to solve this problem would look like. If you want to try to implement a solution, I'd be happy to review the PR again 😊
internal/component/otelcol/exporter/loadbalancing/loadbalancing.go
Outdated
Show resolved
Hide resolved
225d467
to
5ad5662
Compare
PR Description
Metrics support was turned off in
otelcol.exporter.loadbalancing
for two reasons:development
upstreamrouting_key = traceID
Solve both issues by supporting metrics only if the specified
routing_key
supports it and stability level is set toexperimental
Which issue(s) this PR fixes
Notes to the Reviewer
PR Checklist