Skip to content
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

Fix exemplar support #3031

Open
fcollonval opened this issue Nov 20, 2024 · 0 comments
Open

Fix exemplar support #3031

fcollonval opened this issue Nov 20, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@fcollonval
Copy link

fcollonval commented Nov 20, 2024

Describe your environment

OS: Debian 12
Python version: Any
Package version: 0.49b0 and later

What happened?

Since 1.28.0, the opentelemetry Python SDK supports exemplars. However some instrumentation libraries does not add exemplars because the measure are added/recorded outside of the active span.

For example, in the asgi instrumentation, all measures should be taken within the use_span context rather than outside:

self.active_requests_counter.add(1, active_requests_count_attrs)
try:
with trace.use_span(span, end_on_exit=False) as current_span:

Steps to Reproduce

You can test the repository https://github.com/webscit/opentelemetry-demo-python with OTEL_AUTO_INSTRUMENTATION_LEVEL = 1, it uses fastapi instrumentation (but the flaw is actually in the asgi instrumentation).

Expected Result

Exemplars are recorded for all Python instrumentations

Actual Result

Some instrumentations are missing exemplars

Additional context

I don't know if all packages or only a subset of them are concerned by this. I have at least identified 3 cases:

Package Line to blame
asgi
wsgi
tornado

Would you like to implement a fix?

None

@fcollonval fcollonval added the bug Something isn't working label Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant