[WIP] chore(telemetry): track process creation via it headers#5464
[WIP] chore(telemetry): track process creation via it headers#5464
Conversation
|
👋 Hey @DataDog/ruby-guild, please fill "Change log entry" section in the pull request description. If changes need to be present in CHANGELOG.md you can state it this way **Change log entry**
Yes. A brief summary to be placed into the CHANGELOG.md(possible answers Yes/Yep/Yeah) Or you can opt out like that **Change log entry**
None.(possible answers No/Nope/None) Visited at: 2026-03-16 21:11:29 UTC |
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 1ac18f3 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
BenchmarksBenchmark execution time: 2026-03-16 21:54:31 Comparing candidate commit 1ac18f3 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 46 metrics, 0 unstable metrics.
|
| # Root of the fork tree (Stable Service Instance Identifier). Nil in root process. | ||
| def ancestor_runtime_id | ||
| @ancestor_runtime_id | ||
| end |
There was a problem hiding this comment.
Minor: It's kinda weird that the same concept is getting two names in this PR -- "ancestor" and "root". Maybe worth picking one name and using it throughout?
There was a problem hiding this comment.
Yup this is a carryover from my python implementation. I'll clean it up 😄
What does this PR do?
Adds telemetry session ID headers (
DD-Session-ID,DD-Root-Session-ID,DD-Parent-Session-ID) for the Stable Service Instance Identifier RFC. Tracks session lineage across forks andProcess.spawnviaIdentityand a spawn monkey patch.Motivation:
Support Stable Service Instance Identifier RFC and pass system-tests
test_session_id_headers_across_forksandtest_session_id_headers_across_spawned.Change log entry
DD-Session-ID,DD-Root-Session-ID,DD-Parent-Session-ID) for process lineage tracking across forks and spawned processes.Additional Notes:
N/A
How to test the change?
TEST_LIBRARY=ruby ./run.sh DEFAULT -k "test_session_id_headers_across_forks or test_session_id_headers_across_spawned"in system-tests with dd-trace-rb inbinaries/dd-trace-rb.PR: DataDog/system-tests#6510