Dynamo lib/backend-common/src/telemetry.rs - dynamic-name OTel spans under the engine.generate parent
repo
Fields
id
sources/w5e-dynamo-backend-common-telemetryPublisher
NVIDIA
Kind
repo
Accessed
2026-10-05
notes
Read at main 2026-10-05. 91 lines, module doc 'Helpers for engine-author observability'. The convention is explicit in the doc comment: use tracing::info_span! for static span names (nests under the framework's engine.generate parent via the runtime's .instrument chain) and start_span() for dynamic names, which goes through OTel directly because tracing requires compile-time names while still inheriting the bridged parent context. start_span returns a NO-OP SpanGuard when no valid parent span context exists (bridge layer not installed), so span calls never panic and never emit an orphan root - confirmed by the test start_span_is_noop_without_bridge. Both paths land in the same OTel tree.
Notes
Read at main 2026-10-05. 91 lines, module doc 'Helpers for engine-author observability'. The convention is explicit in the doc comment: use tracing::info_span! for static span names (nests under the framework's engine.generate parent via the runtime's .instrument chain) and start_span() for dynamic names, which goes through OTel directly because tracing requires compile-time names while still inheriting the bridged parent context. start_span returns a NO-OP SpanGuard when no valid parent span context exists (bridge layer not installed), so span calls never panic and never emit an orphan root - confirmed by the test start_span_is_noop_without_bridge. Both paths land in the same OTel tree.
Cross-references
This record references no other records.