-
Notifications
You must be signed in to change notification settings - Fork 3
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
Add OpenTelemetry to Rust benchmark runner #75
Conversation
Using older version of tracing_openetelemetry (v0.24.0 and its dependencies), because the latest version seems to be broken (its otlp example doesn't export data correctly)
HIgh level request: Could we get a comment outlining all of the troubleshooting and exact version matching you had to do to get this working? I know it involved a lot of banging your head against various walls, and there are some indications of it like the comment in Cargo.toml, but it would be nice to have it all laid out in detail somewhere so the next person to touch this gets some amount of context from the start. |
I'll add a comment in telemetry.rs, but I'm still just going to link the issue: tokio-rs/tracing-opentelemetry#159 since it has all the context, and repro steps, and will eventually have the version it's fixed in. A lot of the head-banging was specific to me learning about this space. Such as:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nothing blocking.
Get started adding observability, so we can diagnose bottlenecks.
Many crates (including the AWS SDK for Rust) use the tracing crate to emit Spans and Events. We want to view this data.
OpenTelemetry is a widely use ecosystem for viewing this kind of data, so let's use the opentelemetry-* crates (various features are split among various crates).
OTLP/gRPC (OpenTelemetry Protocol) is a popular and platform-agnostic way to export this data, so let's use the opentelemetry-otlp crate.
The tracing-opentelemetry crate exists to help pipe data from
tracing
to anopentelemetry::trace::Tracer
, so let's use that.There's lots more to do. Currently, it's hard-coded to only view "info" level data because "debug" was too much. I'm still learning how to filter for the exact data we're interested in.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.