You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9018a61
Browse filesBrowse the repository at this point in the historyBrowse files
Four review-comment fixes for the business<->obs correlation edge, each with unit
coverage:
- ADK span() CM recorded no error on a failing step, so a failed agent step closed
a green obs span. Now sets span error (guarded so obs can't shadow the app
exception) and re-raises. (tests/test_adk_tracing_span_error.py)
- In lgtm mode with no TracerProvider, open_obs_span returned a handle with empty
correlation, suppressing the ambient obs_correlation() fallback -> business span
got no obs_* ids. Now bails to None so the caller falls back.
(tests/test_obs_span_fallback.py)
- Obs-handle registry could leak (registration-order + start-without-end via public
API). Processor hooks now swallow (obs must never crash the app path) and the
registry is a bounded OrderedDict that evicts+closes the oldest.
(tests/test_obs_handle_registry.py)
- On the Temporal path the ambient span is the OTel interceptor span regardless of
SGP_OBS_MODE, but tag/read branched on mode -> in the default dd_only they
tagged/read an unrelated ddtrace span. Added prefer_otel (OTel-first, ddtrace
fallback) via a shared _begin_obs helper used by both start_span paths.
(tests/test_temporal_obs_backend.py)
Also: ObsSpanHandle.close() instead of reaching into _close; Iterator from
collections.abc.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments