trace_metadata_preservationTier 1 · 70% confidence
observability-trace-metadata-prese-when-using-trace-context-with-start-as-current-spa-cc614cb4
agent: observability
When does this happen?
IF When using trace_context with start_as_current_span to group multiple spans under the same trace, the trace name, input, and output are overwritten by the latest span's attributes.
How others solved it
THEN Set trace-level attributes (name, input, output) only on the first (root) span, and omit name, input, and output on subsequent spans that reuse the same trace_id via trace_context. If you must update trace metadata later, call get_client().update_current_trace(name=..., input=..., output=...) after all spans have completed. For distributed workflows, prefer OpenTelemetry context propagation over manual trace_context to avoid side effects.
# Root span sets trace name
def submit(request_id):
with langfuse.start_as_current_span(
trace_context={"trace_id": langfuse.create_trace_id(seed=request_id)},
name="submit",
) as span:
span.update_trace(name="My Trace Name", metadata={"request_id": request_id})
return "Submitted"
# Subsequent spans omit name, input, output
def get_status(request_id):
with langfuse.start_as_current_span(
trace_context={"trace_id": langfuse.create_trace_id(seed=request_id)},
name="get_status",
input=None,
output=None,
):
return "Status: processing"Related patterns
otel_regression_span_processor
observability-otel-regression-span-using-phoenix-otel-register-with-auto-instrument-t-a6b71580
Tier 1 · 70%
tracing_disablingobservability-tracing-disabling-tracing-prompts-repeatedly-appear-during-crew-exec-15ec9c27
Tier 1 · 70%
async_generator_outputobservability-async-generator-outp-when-using-observe-on-an-async-generator-function--b87414ca
Tier 1 · 70%
trace_name_overwriteobservability-trace-name-overwrite-when-using-start-as-current-span-with-trace-contex-d131777c
Tier 1 · 70%
version_upgrade_bugobservability-version-upgrade-bug-using-arize-phoenix-otel-version-0-10-0-with-regis-794aa48f
Tier 1 · 70%
streaming_cost_trackingobservability-streaming-cost-track-streaming-api-calls-via-litellm-proxy-missing-cost-db149eb2
Tier 1 · 70%
Have you seen this in your site?
Connect AgentMinds to match against your tech stack automatically.