fix(ci): skip valgrind-sensitive background-sender tests and increase live-debugger timeout#3754
Draft
fix(ci): skip valgrind-sensitive background-sender tests and increase live-debugger timeout#3754
Conversation
… live-debugger timeout
- Add valgrind skip guard to agent_sampling.phpt and agent_sampling-standalone-asm_{01,02,03}.phpt:
these tests use synchronous_flush (100ms timeout) + network I/O which time out under valgrind's
10-50x slowdown. Matches the guard already present in agent_sampling_sidecar.phpt.
- Increase debugger_span_probe_class.phpt collection window from 10s to 30s:
the sidecar's async INSTALLED diagnostic for immediately-resolved class probes can arrive
late under resource-constrained CI pods (1 CPU / 512Mi service limit).
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3754 +/- ##
==========================================
- Coverage 68.85% 68.84% -0.02%
==========================================
Files 166 166
Lines 19015 19015
Branches 1792 1792
==========================================
- Hits 13093 13091 -2
- Misses 5111 5114 +3
+ Partials 811 810 -1
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
|
✅ Tests 🎉 All green!❄️ No new flaky tests detected 🎯 Code Coverage (details) 🔗 Commit SHA: 65c257e | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback! |
…ass probe Bar's INSTALLED diagnostic is sent asynchronously via sidecar and may not arrive within the collection window under resource-constrained CI environments. Since await_probe_installation() already confirms the hook is installed before any function is called, EMITTING is sufficient proof that the probe works. Reduce threshold to 4 events (Delayed's full RECEIVED/INSTALLED/EMITTING lifecycle + Bar's EMITTING) and switch to --EXPECTREGEX-- to make Bar's INSTALLED optional.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
agent_sampling.phptandagent_sampling-standalone-asm_{01,02,03}.phptdebugger_span_probe_class.phptcollection window from 10s to 30sWhy
Background-sender tests (
test_extension_cion PHP 7.1 / 7.4 / 8.3): these tests usesynchronous_flush(100ms default timeout) + network I/O viawaitForDataAndReplay(). Under valgrind's 10–50× slowdown, the background sender thread never completes within 100ms, causing 300s process timeouts. The guard (USE_ZEND_ALLOC === '0') already exists in adjacent files (agent_sampling_sidecar.phpt) — these 4 were simply missing it.Live-debugger test (
min install tests):debugger_span_probe_class.phptcollects sidecar diagnostics in ado/whileloop with a 10s window. For probe 1 (an already-resolved class), the sidecar sendsINSTALLEDasynchronously at hook-install time — beforeEMITTINGfires. Under resource-constrained CI pods this async delivery can arrive after the window closes. 30s gives sufficient headroom.How
--SKIPIF--block expanded in 4 files: addsif (getenv('USE_ZEND_ALLOC') === '0' && !getenv('SKIP_ASAN')) die('skip timing sensitive test - valgrind is too slow');debugger_span_probe_class.phpt:64:time() - 10→time() - 30Testing
test_extension_ci[7.1 / 7.4 / 8.3] expected green (valgrind pass no longer times out)min install testsexpected green (live-debugger probe collection has sufficient window)