Skip to content

tracing: forward the action journey on SDK calls - #97

Merged
nycomp merged 1 commit into
mainfrom
feat/828-forward-journey
Oct 5, 2026
Merged

nycomp merged 1 commit into
mainfrom
feat/828-forward-journey

Conversation

@nycomp

@nycomp nycomp commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Companion to campus#834 (action journeys, campus#828): when the host request carries an action journey — the journeys middleware stashes it as flask.g.journey_id — SDK calls forward it as X-Journey-ID, and receiving services (campus.api/auth adopt-only registrations) tag their spans with it. A classroom action episode therefore spans services in the audit UI.

Design note: journey forwarding is independent of span-trace forwarding — trace headers still require span state on flask.g (the tracing middleware ran), while the journey header only requires an active journey. That keeps journeys meaningful on hosts even where span tracing is off.

3 new tests (forwarded inside a traced request; absent without a journey; journey-without-trace-context); suite 249 OK; ruff clean.

propagation_headers() gains X-Journey-ID forwarding (campus#828): when
the host request carries an action journey (the journeys middleware
stashes it as flask.g.journey_id), outbound SDK calls forward it so
the receiving service's span joins the same journey. Trace headers and
the journey header are independent — trace headers require span state
on flask.g, the journey header only requires an active journey, so
journeys work on hosts even where span tracing is off. 3 new tests;
suite 249 OK.
@nycomp
nycomp merged commit eaf4ac5 into main Oct 5, 2026
2 checks passed
@nycomp
nycomp deleted the feat/828-forward-journey branch October 5, 2026 23:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants