feat: seed root session ID for stable telemetry headers#54
Conversation
Set root_session_id from the RuntimeID generated in register_hooks (master process) so all forked worker Tracers share the same root. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
|
🎯 Code Coverage (details) 🔗 Commit SHA: 99afdb1 | Docs | Datadog PR Page | Give us feedback! |
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
|
/merge |
|
View all feedbacks in Devflow UI.
This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
The expected merge time in
Tests failed on this commit 9f211e9: What to do next?
|
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
Tests failed on this commit 54a5a8d: What to do next?
|
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
Tests failed on this commit 374d9c8: What to do next?
|
| conf.runtime_id = runtime_id; | ||
| conf.root_session_id = runtime_id.string(); |
There was a problem hiding this comment.
they share the same runtime id. is that expected?
There was a problem hiding this comment.
Yes, intentionally root_session_id is seeded from the master's RuntimeID before forking so all workers share it as a stable correlation key, even though each worker gets its own runtime_id at tracer construction time
ddapm-test-agent added vcr_json_body_normalizers as a required kwarg on make_app(); the fixture was constructed without it, which blew up the test-rum:amd64 / test-rum:arm64 GitLab jobs with: TypeError: make_app() missing 1 required positional argument: 'vcr_json_body_normalizers' Follow the existing vcr_* pattern and pass an empty string default. Co-Authored-By: Claude Opus 4 (1M context) <[email protected]>
The GitHub Actions 'test' job installs from requirements.txt (pinned to v1.40.0), while GitLab's test-rum job uses uv sync from pyproject.toml (which pulls latest). The prior commit added the new required kwarg vcr_json_body_normalizers to unblock GitLab, but that then broke the GitHub job because v1.40.0 doesn't accept the kwarg yet. Unify both envs on v1.50.1, which introduced vcr_json_body_normalizers in v1.47.0 (PR DataDog/dd-apm-test-agent#324, 2026-04-13). Co-Authored-By: Claude Opus 4 (1M context) <[email protected]>
Picks up: - feat(c-binding): accept explicit span timestamps (#309) - unpin system-tests (back to @main) (#308) Co-Authored-By: Claude Opus 4 (1M context) <[email protected]>
…ion-id-headers # Conflicts: # requirements.txt
Summary
Seed
root_session_idfrom the master-generatedRuntimeIDso all forked workers share the same root session ID for telemetry correlation.Related