ByteVeda / ByteVeda/flexiq

observability: verify trace context survives enqueue to execute

Open
#854 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P2 parity tests
Dominant language
Rust
Stars
20
Forks
2
Avg merge
5h 10m
Merged PRs (30d)
127

Description

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:

  1. does an SDK inject W3C traceparent at enqueue, in each of the three shells?
  2. does the worker extract it and make the execution a child span, in each shell?
  3. 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?
  4. 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.

Only after that does it go on the landing page.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/content/docs/python/guides/extend/otel.mdx, crates/flexiq-core/src/worker/protocol.rs, and sdks/java/.../ExecutorAttachTest.java to trace current metadata and context handling. Run the polyglot suite from ci-polyglot.yml across enqueue, retries, workflows, fan-out, replay, and network doors. Done means documented or implemented propagation behavior with a cross-SDK test that supports the claim or records each gap.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, java, node.js, python, rust
Domain
distributed-systems, observability, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.