Skip to content

Conversation

@morrisonlevi
Copy link
Collaborator

@morrisonlevi morrisonlevi commented Nov 10, 2025

Description

This is an experiment that builds on Florian's feat(prof): switch panics to abort so that it also builds std with panic_abort. This should give us more helpful stack traces on panics.

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@morrisonlevi morrisonlevi added the profiling Relates to the Continuous Profiler label Nov 10, 2025
@codecov-commenter
Copy link

codecov-commenter commented Nov 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 61.79%. Comparing base (12004d3) to head (7a89e11).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3478      +/-   ##
==========================================
+ Coverage   61.77%   61.79%   +0.01%     
==========================================
  Files         142      142              
  Lines       12904    12904              
  Branches     1689     1689              
==========================================
+ Hits         7972     7974       +2     
+ Misses       4172     4169       -3     
- Partials      760      761       +1     

see 1 file 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 12004d3...7a89e11. 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.

Base automatically changed from levi/panic_abort to master November 11, 2025 21:26
@morrisonlevi
Copy link
Collaborator Author

For reasons that are unclear, this comes out larger than merely doing panic=abort and not rebuilding std. I could not get bloaty to build in multiple different containers, so I don't know why. Let's just ship panic=abort for now.

These have rust-src in them. Although this PR doesn't build the std
library with panic=abort, these are still the images being mirrored
for our CI, so we should bump them.
@morrisonlevi morrisonlevi reopened this Nov 13, 2025
@morrisonlevi morrisonlevi changed the base branch from master to florian/panic-abort November 13, 2025 00:14
@pr-commenter
Copy link

pr-commenter bot commented Nov 13, 2025

Benchmarks [ profiler ]

Benchmark execution time: 2025-11-13 00:27:56

Comparing candidate commit 1f7212b in PR branch levi/panic_abort2 with baseline commit 8a812db in branch florian/panic-abort.

Found 0 performance improvements and 4 performance regressions! Performance is the same for 26 metrics, 6 unstable metrics.

scenario:php-profiler-exceptions-control

  • 🟥 cpu_user_time [+1.215ms; +6.236ms] or [+2.172%; +11.147%]

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

  • 🟥 execution_time [+27.818ms; +44.864ms] or [+2.260%; +3.644%]

scenario:walk_stack/50

  • 🟥 wall_time [+570.319ns; +580.053ns] or [+3.689%; +3.752%]

scenario:walk_stack/99

  • 🟥 wall_time [+661.253ns; +666.116ns] or [+4.314%; +4.346%]

@pr-commenter
Copy link

pr-commenter bot commented Nov 13, 2025

Benchmarks [ tracer ]

Benchmark execution time: 2025-11-13 01:19:08

Comparing candidate commit 1f7212b in PR branch levi/panic_abort2 with baseline commit 8a812db in branch florian/panic-abort.

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

scenario:ComposerTelemetryBench/benchTelemetryParsing

  • 🟥 execution_time [+0.882µs; +1.718µs] or [+8.397%; +16.365%]

scenario:ComposerTelemetryBench/benchTelemetryParsing-opcache

  • 🟩 execution_time [-2.162µs; -1.038µs] or [-15.333%; -7.362%]

scenario:MessagePackSerializationBench/benchMessagePackSerialization

  • 🟥 execution_time [+2.948µs; +3.892µs] or [+2.822%; +3.726%]

scenario:MessagePackSerializationBench/benchMessagePackSerialization-opcache

  • 🟥 execution_time [+4.994µs; +6.606µs] or [+4.939%; +6.532%]

scenario:SamplingRuleMatchingBench/benchRegexMatching1

  • 🟥 execution_time [+85.125ns; +142.475ns] or [+7.261%; +12.152%]

scenario:SamplingRuleMatchingBench/benchRegexMatching2

  • 🟥 execution_time [+93.567ns; +150.033ns] or [+8.097%; +12.983%]

scenario:SamplingRuleMatchingBench/benchRegexMatching3

  • 🟥 execution_time [+98.332ns; +155.468ns] or [+8.378%; +13.246%]

scenario:SamplingRuleMatchingBench/benchRegexMatching4

  • 🟥 execution_time [+75.604ns; +146.396ns] or [+6.421%; +12.433%]

scenario:SpanBench/benchOpenTelemetryAPI

  • 🟥 mem_peak [+1.439MB; +1.459MB] or [+3.462%; +3.510%]

scenario:TraceSerializationBench/benchSerializeTrace

  • 🟩 execution_time [-33.581µs; -22.919µs] or [-7.532%; -5.141%]

Base automatically changed from florian/panic-abort to master November 13, 2025 07:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

profiling Relates to the Continuous Profiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants