-
Notifications
You must be signed in to change notification settings - Fork 398
Telemetry: send events in forked children #5074
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
Thank you for updating Change log entry section 👏 Visited at: 2025-11-20 18:37:32 UTC |
Typing analysisNote: Ignored files are excluded from the next sections.
|
9176330 to
1e15731
Compare
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage 🔗 Commit SHA: f2e7239 | Docs | Datadog PR Page | Was this helpful? Give us feedback! |
BenchmarksBenchmark execution time: 2025-11-20 19:18:46 Comparing candidate commit f2e7239 in PR branch Found 1 performance improvements and 1 performance regressions! Performance is the same for 42 metrics, 2 unstable metrics. scenario:profiling - sample+serialize retain_every=10 heap_samples=false heap_size=false heap_sample_every=1 skip_end_gc=false
scenario:tracing - Propagation - Trace Context
|
| private | ||
|
|
||
| def reset_ran_once_state_for_tests | ||
| def reset | ||
| @mutex.synchronize { @ran_once = false } | ||
| end |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is the right way to go -- I think this is bending the OnlyOnce in a really weird direction generally only to support a specific use-case of one of its users.
Rather than resetting the only once, consider creating a new instance?
What does this PR do?
Changes telemetry to send events in forked children
Motivation:
Dynamic Instrumentation / Live Debugger require telemetry app-heartbeat events to properly render UI. These events are normally sent from forked children in forking web servers, and presently are missing for most customers.
Change log entry
Yes: fix Live Debugger / Dynamic Instrumentation UI for forking web servers
Additional Notes:
Telemetry has some special logic to deal with app-started/configuration-change events due to the component tree being created multiple times by dd-trace-rb, but system tests expecting a single set of events.
This PR further augments that logic to go back from configuration-change events to app-started in the forked children, which are reported as brand new processes.
How to test the change?
Tests added