Misc CI fixes - #4219
Misc CI fixes#4219
Conversation
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 6e29d76 | Docs | View more details | Give us feedback! |
b3cb7da to
d5fa5b9
Compare
Benchmarks [ profiler ]Benchmark execution time: 2026-09-23 15:37:21 Comparing candidate commit 66f1a60 in PR branch Found 0 performance improvements and 3 performance regressions! Performance is the same for 24 metrics, 9 unstable metrics.
|
Benchmarks [ tracer ]Benchmark execution time: 2026-09-30 11:58:23 Comparing candidate commit 6e29d76 in PR branch Found 6 performance improvements and 0 performance regressions! Performance is the same for 188 metrics, 0 unstable metrics.
|
99ed328 to
f1ce464
Compare
3bdc40d to
9919b0d
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. |
Seems like the wrong fix to me, can we instead hold the lock the other way round on telemetry shutdown? TelemetryCachedEntry anyway is Saves us from duplicating the map every time we want to flush. |
c0ec079 to
7a68e85
Compare
66f1a60 to
a4e71f8
Compare
cd4706e to
575f436
Compare
575f436 to
746df30
Compare
# What does this PR do? 1. Fix a verified hang on Windows when sending data to a full pipe. The previous code used the legacy `PIPE_NOWAIT` mode to simulate unix-style nonblocking I/O to (unsuccessfully) try to achieve this. Use instead `PIPE_WAIT` and overlapped I/O (the way the pipe is already opened) and, in a somewhat hacky fashion, to simulate Unix behavior, cancel pending requests when the operation returns `ERROR_IO_PENDING`. 2. Avoid leaking duplicated handles when there is a failure transmitting them to the other process. 3. ipc protocol improvement: support optional handles in messages # Motivation See DataDog/dd-trace-php#4219 Co-authored-by: gustavo.lopes <gustavo.lopes@datadoghq.com>
# What does this PR do? Snapshot telemetry client handles before stats and flush inspect them. This keeps the cache lock out of application and client lock scopes while preserving Stop sequencing. Guard Stop removal by client identity and cover retirement, snapshot lifetime, and replacement races with regression tests. # How to test the change? See DataDog/dd-trace-php#4219 Co-authored-by: bwoebi <bob.weinand@datadoghq.com> Co-authored-by: gustavo.lopes <gustavo.lopes@datadoghq.com>
9a8c508 to
cece80c
Compare
Advance libdatadog to c80125280 before adopting the later Windows remote-config notification fix. This keeps the mutable-metadata ABI additions separate from the notification lifetime change. Regenerate the headers at this revision, including the existing signal flush declarations. Keep the dynamic configuration sentinel explicit in cbindgen because its strict-provenance Rust initializer is unsupported.
Windows sidecar notifications previously passed an extension DLL entry point to libdatadog, which invoked it through CreateRemoteThread. PHP could unload php_ddtrace.dll while that remote thread was still running, causing an access violation in unloaded module code. Adopt libdatadog client-owned notifications instead. Create one process-wide registration during MINIT, pass it with every sidecar configuration, and drop it during MSHUTDOWN. The drop drains callbacks before the DLL can unload. Unix retains its signal-based notification path. NOTE: this includes cbindgen-generated header deduplication which will need to be included in libdatadog later.
Send an untimed trace before each measured worker. Require agent info and sampling rates before timing.
Reuse the p0 decision for sibling and inferred spans. Later emitted chunks still reevaluate automatic sampling, as before this change. This departs from the Priority Sampling RFC and from the other tracers, which lock the decision; it is kept as-is here.
cece80c to
76788e2
Compare
Description
Related libdatadog changes:
Now stacked atop #4224
Reviewer checklist