Skip to content

Conversation

@realFlowControl
Copy link
Member

@realFlowControl realFlowControl commented Jan 21, 2026

Description

This PR is based on #3559 with the intention to run that new correctness test on all PHP versions and provide a value and error range that matches all PHP versions. Additionally this runs the allocation_time_combined test without an adjusted sampling distance for allocations 🎉

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

morrisonlevi and others added 30 commits January 5, 2026 11:29
When allocation profiler takes a sample and interrupt_count > 0,
collect both allocation and time samples in a single stack walk.

Benefits:
- Eliminates redundant stack walks when samples coincide.
- Improves time sample accuracy (closer to timer expiry).
Let's do this in a dedicated PR.
@realFlowControl realFlowControl changed the base branch from master to levi/perf-time-alloc-piggyback January 21, 2026 09:04
@datadog-official
Copy link

datadog-official bot commented Jan 21, 2026

⚠️ Tests

Fix all issues with Cursor

⚠️ Warnings

🧪 1024 Tests failed

    testSearchPhpBinaries from integration.DDTrace\Tests\Integration\PHPInstallerTest (Fix with Cursor)

    testSimplePushAndProcess from laravel-58-test.DDTrace\Tests\Integrations\Laravel\V5_8\QueueTest (Fix with Cursor)

testSimplePushAndProcess from laravel-8x-test.DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest (Datadog) (Fix with Cursor)
DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest::testSimplePushAndProcess
Test code or tested code printed unexpected output: spanLinksTraceId: 6970cdc80000000004974a1cd85317fd
tid: 6970cdc800000000
hexProcessTraceId: 04974a1cd85317fd
hexProcessSpanId: 4596079971237a21
processTraceId: 330814585383884797
processSpanId: 5014203590733167137
View all

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 784e277 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@codecov-commenter
Copy link

codecov-commenter commented Jan 21, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.92%. Comparing base (9cb6ba1) to head (784e277).

Additional details and impacted files

Impacted file tree graph

@@                        Coverage Diff                         @@
##           levi/perf-time-alloc-piggyback    #3592      +/-   ##
==================================================================
- Coverage                           62.01%   61.92%   -0.10%     
==================================================================
  Files                                 140      140              
  Lines                               13311    13311              
  Branches                             1762     1762              
==================================================================
- Hits                                 8255     8243      -12     
- Misses                               4267     4277      +10     
- Partials                              789      791       +2     

see 2 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9cb6ba1...784e277. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link

pr-commenter bot commented Jan 21, 2026

Benchmarks [ profiler ]

Benchmark execution time: 2026-01-21 13:04:42

Comparing candidate commit 784e277 in PR branch florian/foobar with baseline commit 9cb6ba1 in branch levi/perf-time-alloc-piggyback.

Found 3 performance improvements and 0 performance regressions! Performance is the same for 25 metrics, 8 unstable metrics.

scenario:php-profiler-exceptions-control

  • 🟩 execution_time [-8.807ms; -6.438ms] or [-10.704%; -7.825%]

scenario:php-profiler-exceptions-with-profiler

  • 🟩 execution_time [-8.917ms; -7.302ms] or [-9.565%; -7.832%]

scenario:php-profiler-exceptions-with-profiler-and-timeline

  • 🟩 execution_time [-8.871ms; -7.464ms] or [-9.219%; -7.757%]

On PHP >= 8.4 (with frameless functions), typical CPU utilization of
that `str_replace()` function is at around 51%, without frameless
functions (PHP <= 8.3) the CPU utilisation for `str_replace()` is at
about 99%, this runs that test always and makes sure we match both
cases.
@realFlowControl realFlowControl changed the title Florian/foobar DO NOT MERGE ci(prof): run additional allocation test on all PHP versions Jan 21, 2026
@realFlowControl realFlowControl marked this pull request as ready for review January 21, 2026 13:19
@realFlowControl realFlowControl requested review from a team as code owners January 21, 2026 13:19
Base automatically changed from levi/perf-time-alloc-piggyback to master January 21, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants