typeduck-codex-utils-rustls-provider 0.6.0

Support package for the standalone Codex Web runtime (codex-exec-server)
Documentation
use opentelemetry::trace::TracerProvider as _;
use opentelemetry_sdk::trace::SdkTracerProvider;
use tracing_subscriber::prelude::*;

use super::current_trace_context_headers;

#[test]
fn creates_traceparent_header_from_current_span() {
    let provider = SdkTracerProvider::builder().build();
    let tracer = provider.tracer("exec-server-test");
    let subscriber =
        tracing_subscriber::registry().with(tracing_opentelemetry::layer().with_tracer(tracer));
    let _guard = subscriber.set_default();
    tracing::callsite::rebuild_interest_cache();
    let span = tracing::info_span!("outbound-request");
    let _entered = span.enter();

    let headers = current_trace_context_headers();

    let traceparent = headers
        .get("traceparent")
        .expect("traceparent header")
        .to_str()
        .expect("valid traceparent header");
    assert!(traceparent.starts_with("00-"));
    assert_eq!(traceparent.len(), 55);
}