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

Bump opentelemetry to latest version #3037

Open
tillrohrmann opened this issue Mar 30, 2025 · 0 comments · May be fixed by #3078
Open

Bump opentelemetry to latest version #3037

tillrohrmann opened this issue Mar 30, 2025 · 0 comments · May be fixed by #3078

Comments

@tillrohrmann
Copy link
Contributor

tillrohrmann commented Mar 30, 2025

We are currently using opentelemetry 0.27 whereas the latest version is 0.29. In order to benefit from bug fixes and performance improvements, we should try to upgrade. The biggest hurdle right now is our usage of the injecting service names as done by UserServiceModifierSpanExporter and RuntimeModifierSpanExporter. The current implementation requires a keeping the inner span exporter within a std::sync::Mutex. However, with the latest version, the SpanExporter trait changed to no longer return a BoxFuture<'static, ..> when calling export but a normal future. This future (with Rust edition 2025) now captures &self. Therefore, we can no longer use std::sync::Mutex because the guard would be kept around during an await point which violates the Send bound. A solution is to use Tokio's Mutex, however, it's known to be slower than std::sync::Mutex.

@tillrohrmann tillrohrmann linked a pull request Apr 1, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant