diff --git a/crates/world/src/conversions.rs b/crates/world/src/conversions.rs index c254fc267..d232263f7 100644 --- a/crates/world/src/conversions.rs +++ b/crates/world/src/conversions.rs @@ -256,6 +256,16 @@ mod observe { } } + impl From for traces::TraceFlags { + fn from(flags: opentelemetry::trace::TraceFlags) -> Self { + if flags.is_sampled() { + traces::TraceFlags::SAMPLED + } else { + traces::TraceFlags::empty() + } + } + } + impl TryFrom for opentelemetry::trace::SpanContext { type Error = wasmtime::Error; @@ -286,7 +296,7 @@ mod observe { ((whole >> 64) as u64, whole as u64) }, span_id: u64::from_le_bytes(sc.span_id().to_bytes()), - trace_flags: traces::TraceFlags::all(), // TODO(Caleb): This is broken + trace_flags: sc.trace_flags().into(), is_remote: sc.is_remote(), trace_state: sc .trace_state()