-
Notifications
You must be signed in to change notification settings - Fork 625
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
Make opentelemetry_metrics_exporter
entrypoint support pull exporters
#3411
Comments
Recap of the discussion from the SIG:
Possible paths forward:
Please add your thoughts to move this forward. |
I think we should also look at the config proposed by Configuration WG https://github.com/open-telemetry/opentelemetry-configuration and make sure it aligns with what we do. |
I'd vote for exploring option 2 (did you mean reader instead of processor?) -- it's backwards compatible, is type safe/consistent, solves the problem for Prometheus users, and appears to be only a (minor) inconvenience for authors of pull-based exporters (of which, to my knowledge, there is only one). |
Here's an example snippet from OTel configuration yaml as proposed: meter_provider:
# Configure metric readers.
readers:
# Configure a pull-based metric reader.
- pull:
exporter:
# Configure exporter to be prometheus.
prometheus:
# ...
# Configure a periodic metric reader.
- periodic:
interval: 5000
timeout: 30000
exporter:
otlp:
# ...
tracer_provider:
# Configure span processors.
processors:
- batch:
schedule_delay: 5000
export_timeout: 30000
exporter:
otlp:
# ... This is more hierarchical than what we current support with |
Discussed in SIG today. Decided because our current entrypoint structure is so different from what the Configuration WG has proposed, there will probably be breaking changes. Until then, we should do a minimal workaround to avoid churn but still support Prometheus. I will send a PR that instead just checks that if the entrypoint points to a |
The
opentelemetry_metrics_exporter
is currently the option for configuring metric exporters for auto-instrumentation. Unfortunately, this doesn't work for pull exporters (e.g. prometheus) which are implemented as MetricReader subclasses, nor does it allow the entrypoint impl to set configure the MetricReader. Solution was discussed in #2843 (comment)and I think we are all on board with this approach (see #2864 (comment)).
The text was updated successfully, but these errors were encountered: