sentry-rust
sentry-rust copied to clipboard
OpenTelemetry Support
For Sentry SDKs there is generally 2 ways that we can support OpenTelemetry, when there is existing OTel support in a ecosystem for a given platform.
- An in process span processor, where the host app runs Sentry and OTel SDKs. The Sentry SDK picks up all the OTel span and converts them into Sentry traces and spans, to connect with Sentry signals like errors.
- "POTEL" Performance powered by OTel: where the Sentry SDK uses the relevnat OTel package(s) under the hood, to power all the tracing instrumentaton and creation of spans
We should determine if one of the approaches is viable for Rust.
We're going to work on an initial version based on the span processor approach, which will enable (distributed) tracing in Sentry. This approach doesn't guarantee that everything will work correctly (in particular there could be issues when mixing OTEL and Sentry APIs) but it will give us something to iterate and get feedback on.
Closing this and the child issues for now, as we don't plan to work on this any time soon, due to the low traction of instrumenting with opentelemetry-sdk in general and of sentry-opentelemetry in particular.