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
observability: verify trace context survives enqueue to execute #854
The claim worth making is "a trace that starts in a Python request, enqueues a job, and executes
it in a Node worker is one trace". Nobody else in this space can say that, because nobody else
has one engine under three languages.
The claim is not currently supportable. What exists:
docs/content/docs/python/guides/extend/otel.mdx — one SDK, and it documents the middleware
hooks rather than context propagation
trace_id appearing in metadata in tests (crates/flexiq-core/src/worker/protocol.rs, sdks/java/.../ExecutorAttachTest.java) — which shows metadata survives the frame protocol,
not that trace context is extracted, injected or continued
So the first task is not to market anything. It is to find out what actually happens:
does an SDK inject W3C traceparent at enqueue, in each of the three shells?
does the worker extract it and make the execution a child span, in each shell?
does it survive the paths that are not a direct enqueue — retry, workflow step, durable step
resume after step.sleep, pub/sub fan-out, a dead letter replay?
does it survive the network doors — gRPC producer, gRPC executor, attach?
Then, per gap: implement or document. A cross-SDK propagation test in the polyglot suite
(ci-polyglot.yml is the only job where the three SDKs meet) is what turns this from a claim
into a guarantee.
Done in #1048 (506d96c). Trace context now survives enqueue → execute across all three SDKs, retry, step.sleep resume, pub/sub fan-out, dead-letter replay, both executor transports and the gRPC producer door (metadata or headers). The polyglot suite asserts one trace per order through Python → Node → Java. Workflow node jobs remain: #1047.
Activity
pratyush618 commentedon Oct 9, 2026
Done in #1048 (506d96c). Trace context now survives enqueue → execute across all three SDKs, retry, step.sleep resume, pub/sub fan-out, dead-letter replay, both executor transports and the gRPC producer door (metadata or headers). The polyglot suite asserts one trace per order through Python → Node → Java. Workflow node jobs remain: #1047.