Skip to content

Commit

Permalink
Enable use of Otel baggage via tracing-util crate (hasura#888)
Browse files Browse the repository at this point in the history
### What

Part of the point of the `tracing-util` crate is to centrally enforce
usage of a single version of opentelemetry libraries.

Previously we added some support for relaying baggage, but not actually
for defining it. This PR exposes the crates and types necessary to add
baggage to the context.

V3_GIT_ORIGIN_REV_ID: 107ec652d4e812f31bbfaa362cedf44b25dc3c39
  • Loading branch information
plcplc authored and hasura-bot committed Jul 26, 2024
1 parent 3357f97 commit 4f6bde1
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
2 changes: 2 additions & 0 deletions v3/crates/utils/tracing-util/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,12 @@ pub use tracer::{

// re-export things from OpenTelemetry to avoid library users importing their own version and
// risking mismatches and multiple globals
pub use opentelemetry::baggage;
pub use opentelemetry::global::get_text_map_propagator;
pub use opentelemetry::propagation::text_map_propagator::TextMapPropagator;
pub use opentelemetry::trace::get_active_span;
pub use opentelemetry::trace::FutureExt;
pub use opentelemetry::trace::Status;
pub use opentelemetry::Context;
pub use opentelemetry::KeyValue;
pub use opentelemetry_http::HeaderInjector;
4 changes: 2 additions & 2 deletions v3/crates/utils/tracing-util/src/setup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use opentelemetry::{global, trace::TraceError, KeyValue};
pub use opentelemetry_contrib::trace::propagator::trace_context_response::TraceContextResponsePropagator;
use opentelemetry_otlp::{WithExportConfig, OTEL_EXPORTER_OTLP_ENDPOINT_DEFAULT};
use opentelemetry_sdk::propagation::{BaggagePropagator, TraceContextPropagator};
use opentelemetry_sdk::trace::{SpanProcessor, TracerProvider as SDKTracerProvider};
use opentelemetry_sdk::trace::{SpanProcessor, TracerProvider};
use opentelemetry_semantic_conventions as semcov;

pub fn initialize_tracing(
Expand Down Expand Up @@ -42,7 +42,7 @@ pub fn initialize_tracing(
.build_span_exporter()?;

let stdout_exporter = opentelemetry_stdout::SpanExporter::default();
let tracer_provider = SDKTracerProvider::builder()
let tracer_provider = TracerProvider::builder()
.with_simple_exporter(stdout_exporter)
.with_batch_exporter(otlp_exporter, opentelemetry_sdk::runtime::Tokio)
.with_span_processor(BaggageSpanProcessor())
Expand Down

0 comments on commit 4f6bde1

Please sign in to comment.