-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Update OTLP exporter to send different signals to different endpoints #1121
Comments
@MrAlias I would like to work on this. Maybe a clean approach to this would be to separate the exporter logic (from otlp.go in two: MetricsExporter and TracesExporter. These are both internal structures, will have specific connection and export methods and can be configured separately. The existing OTLP Exporter then maintains the same client interface (together with the added options for configuring traces and metrics separately), and under the hood it delegates the actions to the two different exporters. What do you think? Is there another design that you have in mind for this? |
I think I would need to see a prototype to really follow this, or if you are able to join the SIG meeting in an hour we could talk about this. The important thing I would look for in a design would be the reusability of connection handling logic. The connections to the collector need to support things like back-off, retries, and likely more features in the future. It is important that this logic doesn't need to be duplicated in every signal that is configured. |
I pushed a prototype on my own repo: https://github.com/stefanprisca/opentelemetry-go/tree/otlp-exporters-1121/exporters/otlp/1121 The idea of the design is to have a configurable connection, which can be used by both metrics and traces.
This design is a bit simpler than the initial one I proposed, as there are no separate metrics/traces exporters. Looking forward to hearing what you think! |
@MrAlias should I continue with this design, and put together a pull request? |
@stefanprisca sorry about the delay. Thank you for digging into this, your design docs are great! This looks like the approach I was thinking about and I think with your prototype it's clear that it is viable. The only feedback I have on a potential change would the the options might be better abstracted. We could collapse the |
@MrAlias no worries, just wanted to check if you got a chance to look over the design :) I submitted a PR, but it still needs a bit of polishing (build failing and CHANGELOG.md update) so it's in progress for now. |
The OTLP exporter specification states the exporter needs to be able to send different signals (traces and metric events) to different endpoints. The current exporter design only supports sending to a single endpoint for both signals.
The text was updated successfully, but these errors were encountered: