dd-trace-php
dd-trace-php copied to clipboard
PHP 8.4 support
Description
This PR will bring support for PHP 8.4 🎉
PROF-10137
Reviewer checklist
- [ ] Test coverage seems ok.
- [x] Appropriate labels assigned.
Codecov Report
Attention: Patch coverage is 66.66667% with 1 line in your changes missing coverage. Please review.
Project coverage is 78.24%. Comparing base (
093ef34) to head (2c614f2). Report is 459 commits behind head on master.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| appsec/src/extension/backtrace.c | 66.66% | 0 Missing and 1 partial :warning: |
:x: Your patch status has failed because the patch coverage (66.66%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage.
Additional details and impacted files
@@ Coverage Diff @@
## master #2758 +/- ##
============================================
+ Coverage 78.21% 78.24% +0.02%
Complexity 2526 2526
============================================
Files 173 135 -38
Lines 18752 14400 -4352
Branches 988 989 +1
============================================
- Hits 14667 11267 -3400
+ Misses 3544 2591 -953
- Partials 541 542 +1
| Flag | Coverage Δ | |
|---|---|---|
| appsec-extension | 68.36% <66.66%> (-0.01%) |
:arrow_down: |
| tracer-extension | ? |
|
| tracer-php | 82.09% <ø> (ø) |
Flags with carried forward coverage won't be shown. Click here to find out more.
| Files with missing lines | Coverage Δ | |
|---|---|---|
| appsec/src/extension/configuration.c | 62.62% <ø> (ø) |
|
| appsec/src/extension/ddappsec.c | 70.56% <ø> (ø) |
|
| appsec/src/extension/ddtrace.c | 60.00% <ø> (ø) |
|
| appsec/src/extension/helper_process.c | 62.23% <ø> (ø) |
|
| appsec/src/extension/ip_extraction.c | 75.00% <ø> (ø) |
|
| appsec/src/extension/logging.c | 71.11% <ø> (ø) |
|
| appsec/src/extension/logging.h | 100.00% <ø> (ø) |
|
| appsec/src/extension/msgpack_helpers.c | 55.05% <ø> (ø) |
|
| appsec/src/extension/php_objects.c | 85.71% <ø> (ø) |
|
| appsec/src/extension/request_abort.c | 72.28% <ø> (ø) |
|
| ... and 3 more |
... and 38 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 dataPowered by Codecov. Last update 093ef34...2c614f2. Read the comment docs.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Benchmarks
Benchmark execution time: 2024-09-12 13:37:00
Comparing candidate commit 29864d4253b8bbb7e9780a997ed37831f2123398 in PR branch florian/php-8.4 with baseline commit ddf15fee772bf1bddf9f3fc50dbc7aa8807243c6 in branch master.
Found 1 performance improvements and 2 performance regressions! Performance is the same for 175 metrics, 0 unstable metrics.
scenario:PDOBench/benchPDOBaseline-opcache
- 🟥
execution_time[+12.483µs; +14.526µs] or [+6.994%; +8.139%]
scenario:PDOBench/benchPDOOverhead-opcache
- 🟥
execution_time[+13.733µs; +16.923µs] or [+4.781%; +5.892%]
scenario:WordPressBench/benchWordPressOverhead
- 🟩
execution_time[-21.857ms; -21.671ms] or [-82.926%; -82.218%]
Benchmarks [ profiler ]
Benchmark execution time: 2024-10-29 19:00:54
Comparing candidate commit 2c614f2fc13f775ce09711a9704a59d85899f1b9 in PR branch florian/php-8.4 with baseline commit 093ef34caa83c8b83d53d10cffc130f0fd88a1df in branch master.
Found 0 performance improvements and 0 performance regressions! Performance is the same for 29 metrics, 7 unstable metrics.
Benchmarks [ tracer ]
Benchmark execution time: 2024-10-29 19:13:52
Comparing candidate commit 2c614f2fc13f775ce09711a9704a59d85899f1b9 in PR branch florian/php-8.4 with baseline commit 093ef34caa83c8b83d53d10cffc130f0fd88a1df in branch master.
Found 1 performance improvements and 2 performance regressions! Performance is the same for 175 metrics, 0 unstable metrics.
scenario:EmptyFileBench/benchEmptyFileOverhead-opcache
- 🟩
execution_time[-247.237µs; -112.423µs] or [-7.274%; -3.308%]
scenario:SamplingRuleMatchingBench/benchRegexMatching2
- 🟥
execution_time[+191.498ns; +538.502ns] or [+2.887%; +8.118%]
scenario:TraceFlushBench/benchFlushTrace
- 🟥
execution_time[+1000.000ns; +1000.000ns] or [+100.000%; +100.000%]
Benchmarks [ appsec ]
Benchmark execution time: 2024-10-29 19:31:01
Comparing candidate commit 2c614f2fc13f775ce09711a9704a59d85899f1b9 in PR branch florian/php-8.4 with baseline commit 093ef34caa83c8b83d53d10cffc130f0fd88a1df in branch master.
Found 0 performance improvements and 0 performance regressions! Performance is the same for 12 metrics, 0 unstable metrics.
I've tentatively added a commit which removes the zend_execute_internal bits on PHP 8.4. It's probably a slight abuse of cfg(php_frameless) but whatever, allows us to test it.