Repository navigation
Conversation
📚 Documentation Check Results📦
|
🔒 Cargo Deny Results📦
|
|
d7e040e to
bebb69c
Compare
BenchmarksComparisonBenchmark execution time: 2026-11-09 20:54:52 Comparing candidate commit 961c8fb in PR branch Found 4 performance improvements and 6 performance regressions! Performance is the same for 139 metrics, 10 unstable metrics.
|
3e0583d to
ee5fd65
Compare
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
a11738c to
07ba83e
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 07ba83e800
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
07ba83e to
d5bc3b1
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d5bc3b182d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
b024855 to
0be8af3
Compare
0be8af3 to
f1c90d7
Compare
0aaeb57 to
e8e8bdd
Compare
1f62ead to
e516e83
Compare
yannham
left a comment
There was a problem hiding this comment.
Still some comments, but non blocking.
yannham
left a comment
There was a problem hiding this comment.
(missed otel_tls_reader.rs changes)
0a2e68d to
a613018
Compare
a613018 to
cf10e4a
Compare

What does this PR do?
Add OTel thread context collection to the crashtracker. When a process crashes, the collector reads each thread's
otel_thread_ctx_v1TLS record, containing trace ID, span ID, trace flags, and packed attributes, and includes them in the crash report underexperimental.otel_thread_contexts. This lets crash reports carry the OpenTelemetry context that was active on each thread at the time of the crash, enabling correlation with distributed traces even when telemetry pipelines are unavailable.The collector forks a child process that ptraces each parent thread while it is stopped. For each thread it walks the
Dynamic Thread Vector through
/proc/<pid>/memto resolve the thread's TLS slot address, using the module ID and offset discovered withdl_iterate_phdr, which works correctly for both static TLS (linked at load time) and dynamic TLS (dlopen'd after threads exist). It then does a read of the record (28-byte header first, then only theattrs_data_sizeattribute bytes) to avoid reading past the allocation, and emits the raw bytes over the pipe to the receiver, which decodes them into structuredOtelThreadContextentries in the crash report JSON. The feature is gated behind the otel-thread-ctx cargo feature (default-on) and thecollect_otel_thread_contextsruntime config flag.I did temporary integration tests verify the full fork + ptrace + DTV walk flow for both static and dynamic TLS scenarios.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Describe here in detail how the change can be validated.