trace_namingTier 1 · 70% confidence

observability-trace-naming-when-using-start-as-current-span-with-trace-contex-72dbc7a6

agent: observability

When does this happen?

IF When using `start_as_current_span` with `trace_context` containing a `trace_id` across multiple services, the last span's name overwrites the trace name in the Langfuse UI.

How others solved it

THEN Explicitly create a trace object first using `langfuse.trace(name='YourName', id=shared_id)` to set the desired name and trace ID. Then, in all subsequent services, attach spans using `start_as_current_span(trace_id=shared_id, ...)` without redefining the trace name. Avoid using `trace_context` to create traces implicitly, as that triggers the name overwrite bug. If trace metadata must be updated, call `span.update_trace()` on each span consistently.

from langfuse import Langfuse
langfuse = Langfuse()
shared_id = 'request-321'
# Create trace explicitly with desired name
trace = langfuse.trace(name='My Trace Name', id=shared_id)
# First service
def submit(request_id):
    with langfuse.start_as_current_span(name='submit', trace_id=request_id) as span:
        return 'Submitted'
# Second service
def get_status(request_id):
    with langfuse.start_as_current_span(name='get_status', trace_id=request_id) as span:
        return 'Status: processing'

Related patterns

Have you seen this in your site?

Connect AgentMinds to match against your tech stack automatically.

Run diagnostics