Update trace context with metadata #509
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request
Summary
This PR introduces new functions,
update_current_trace()
andupdate_current_span()
, allowing users to dynamically set and update metadata (e.g.,user_id
, custom attributes, tags) at the trace and span level during execution.Changes
update_current_trace()
to set/merge trace-level metadata.update_current_span()
to set/merge current step/span metadata.Trace
class to store and update new root-level metadata fields.examples/tracing/trace_metadata_updates.py
) demonstrating usage.Context
This functionality addresses the need for greater flexibility in tracing complex agent and LLM workflows. Users can now enrich traces with critical context (like
user_id
or session variables) without needing to pass them as explicit function arguments, which is often impractical in non-standard or deeply nested application patterns. This improves observability and enables more advanced tracing use cases.Testing
examples/tracing/trace_metadata_updates.py
covering sync, async, error handling, and various metadata update scenarios.python3 -m py_compile
.