Skip to content

Conversation

@gleocadie
Copy link
Contributor

@gleocadie gleocadie commented Nov 21, 2025

What does this PR do?

This PR add the panic message to the crash report.

Motivation

In a panic=abort mode, when a process panics, a SIGABORT signal is sent. The crashtracker intercepts the signal, generates a crash report, creates a message based on the signal info and send the report.

Adding the panic message, we can enrich the crash report and help in tracking the crash location.

We take care when the message type is &str, String or unknown.

I added bin_tests tests to check different type of messages and also the fork case.

Additional Notes

For now, we only handle the case of panic=abort, in case of a panic=unwind, the signal handler is not called and we do not generate a crash report.

Additional note

https://datadoghq.atlassian.net/browse/PROF-12985

@pr-commenter
Copy link

pr-commenter bot commented Nov 21, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-12-29 13:28:52

Comparing candidate commit 8361d3b in PR branch gleocadie/catch-panic-message-in-crash-report with baseline commit e7c2ff8 in branch main.

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

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+14.178µs; +14.347µs] or [+20.653%; +20.898%]
  • 🟥 throughput [-2520000.638op/s; -2491175.216op/s] or [-17.300%; -17.102%]

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 161.031µs 161.506µs ± 0.354µs 161.429µs ± 0.140µs 161.624µs 162.006µs 162.218µs 164.966µs 2.19% 5.102 44.634 0.22% 0.025µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [161.457µs; 161.555µs] or [-0.030%; +0.030%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 204.371µs 205.130µs ± 0.444µs 205.063µs ± 0.295µs 205.436µs 205.804µs 206.455µs 207.421µs 1.15% 1.147 2.963 0.22% 0.031µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4821109.475op/s 4874970.954op/s ± 10526.054op/s 4876556.239op/s ± 7024.568op/s 4882962.966op/s 4888915.968op/s 4891560.820op/s 4893052.421op/s 0.34% -1.124 2.840 0.22% 744.304op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.585µs 18.679µs ± 0.074µs 18.655µs ± 0.020µs 18.683µs 18.836µs 18.969µs 19.028µs 2.00% 2.187 5.138 0.40% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52555441.537op/s 53535545.203op/s ± 211615.878op/s 53604590.734op/s ± 57017.650op/s 53653715.737op/s 53719408.969op/s 53796257.378op/s 53807471.395op/s 0.38% -2.159 4.979 0.39% 14963.502op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.868µs 10.949µs ± 0.038µs 10.944µs ± 0.024µs 10.969µs 11.016µs 11.043µs 11.071µs 1.16% 0.516 0.088 0.34% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 90327144.071op/s 91330907.689op/s ± 314356.960op/s 91378251.209op/s ± 198490.310op/s 91533954.168op/s 91783544.189op/s 91911185.830op/s 92011556.652op/s 0.69% -0.498 0.061 0.34% 22228.394op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [205.069µs; 205.192µs] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4873512.144op/s; 4876429.764op/s] or [-0.030%; +0.030%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.669µs; 18.690µs] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53506217.278op/s; 53564873.128op/s] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.944µs; 10.955µs] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/good throughput [91287340.837op/s; 91374474.540op/s] or [-0.048%; +0.048%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.599ms 10.630ms ± 0.016ms 10.628ms ± 0.010ms 10.638ms 10.654ms 10.679ms 10.703ms 0.71% 1.052 2.673 0.15% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.627ms; 10.632ms] or [-0.020%; +0.020%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 186.202ns 188.629ns ± 1.975ns 188.420ns ± 1.483ns 189.787ns 191.654ns 194.671ns 200.327ns 6.32% 1.614 5.674 1.04% 0.140ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [188.355ns; 188.903ns] or [-0.145%; +0.145%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 242.610ns 255.254ns ± 15.238ns 248.659ns ± 3.985ns 256.022ns 292.969ns 296.009ns 299.880ns 20.60% 1.542 1.100 5.95% 1.078ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [253.142ns; 257.366ns] or [-0.827%; +0.827%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.455µs 2.525µs ± 0.072µs 2.485µs ± 0.014µs 2.585µs 2.664µs 2.673µs 2.682µs 7.91% 1.092 -0.478 2.83% 0.005µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.515µs; 2.535µs] or [-0.393%; +0.393%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 17.945µs 25.989µs ± 9.573µs 18.231µs ± 0.251µs 34.085µs 43.333µs 53.205µs 63.212µs 246.74% 0.936 0.530 36.74% 0.677µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.663µs; 27.316µs] or [-5.105%; +5.105%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 533.972µs 534.599µs ± 0.371µs 534.516µs ± 0.204µs 534.782µs 535.146µs 535.592µs 537.013µs 0.47% 2.472 12.272 0.07% 0.026µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [534.547µs; 534.650µs] or [-0.010%; +0.010%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 61.145ms 61.853ms ± 2.124ms 61.612ms ± 0.099ms 61.703ms 61.938ms 70.327ms 83.732ms 35.90% 8.954 81.996 3.43% 0.150ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [61.559ms; 62.147ms] or [-0.476%; +0.476%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.217µs 3.266µs ± 1.462µs 3.019µs ± 0.033µs 3.054µs 3.762µs 14.054µs 15.227µs 404.30% 7.217 53.914 44.64% 0.103µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.063µs; 3.468µs] or [-6.203%; +6.203%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.897µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.913µs 3.916µs 3.920µs 3.924µs 0.31% 0.246 3.531 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254840625.366op/s 255626440.059op/s ± 196915.904op/s 255643236.940op/s ± 114899.747op/s 255751326.837op/s 255901435.142op/s 255960918.553op/s 256580872.584op/s 0.37% -0.233 3.549 0.08% 13924.057op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.338µs 78.644µs ± 0.734µs 78.620µs ± 0.471µs 79.022µs 79.924µs 80.273µs 82.228µs 4.59% 0.787 1.864 0.93% 0.052µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12161283.128op/s 12716643.148op/s ± 117933.097op/s 12719400.309op/s ± 76722.252op/s 12796738.887op/s 12887540.157op/s 12923918.550op/s 12930201.550op/s 1.66% -0.700 1.497 0.93% 8339.129op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.824µs 71.644µs ± 0.615µs 71.578µs ± 0.379µs 71.963µs 72.632µs 73.239µs 75.535µs 5.53% 1.911 8.072 0.86% 0.043µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13238840.792op/s 13958974.959op/s ± 117906.488op/s 13970707.038op/s ± 73954.364op/s 14043708.235op/s 14097165.205op/s 14102470.623op/s 14119484.728op/s 1.06% -1.755 6.923 0.84% 8337.248op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.888µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.916µs 3.918µs 3.918µs 0.18% -2.177 17.357 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255213817.677op/s 255656173.061op/s ± 194877.606op/s 255664334.826op/s ± 110824.706op/s 255763288.630op/s 255915771.571op/s 255956907.936op/s 257189978.704op/s 0.60% 2.210 17.670 0.08% 13779.928op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 81.357µs 82.915µs ± 0.495µs 82.992µs ± 0.304µs 83.278µs 83.609µs 83.676µs 83.750µs 0.91% -0.641 0.107 0.60% 0.035µs 1 200
credit_card/is_card_number/378282246310005 throughput 11940247.842op/s 12061003.158op/s ± 72318.466op/s 12049354.808op/s ± 44128.624op/s 12100149.743op/s 12189899.419op/s 12238991.805op/s 12291487.860op/s 2.01% 0.672 0.170 0.60% 5113.688op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.639µs 44.876µs ± 0.082µs 44.876µs ± 0.054µs 44.932µs 44.997µs 45.017µs 45.316µs 0.98% 0.409 3.496 0.18% 0.006µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22067499.037op/s 22283635.315op/s ± 40538.336op/s 22283383.281op/s ± 26858.063op/s 22306041.034op/s 22344318.649op/s 22385782.187op/s 22401771.247op/s 0.53% -0.380 3.376 0.18% 2866.493op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.691µs 5.697µs ± 0.007µs 5.697µs ± 0.002µs 5.698µs 5.702µs 5.705µs 5.784µs 1.54% 10.511 131.087 0.12% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 172887328.658op/s 175522661.723op/s ± 207052.855op/s 175542966.090op/s ± 48872.714op/s 175591466.255op/s 175655900.735op/s 175688885.088op/s 175725204.208op/s 0.10% -10.430 129.688 0.12% 14640.848op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.895µs 3.911µs ± 0.002µs 3.911µs ± 0.002µs 3.913µs 3.914µs 3.916µs 3.918µs 0.18% -1.134 7.323 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255217072.305op/s 255697492.686op/s ± 163193.980op/s 255683403.939op/s ± 114570.551op/s 255818616.205op/s 255906950.156op/s 255958156.619op/s 256753800.227op/s 0.42% 1.149 7.431 0.06% 11539.557op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 60.165µs 61.445µs ± 0.600µs 61.418µs ± 0.415µs 61.837µs 62.508µs 62.909µs 63.728µs 3.76% 0.411 0.330 0.97% 0.042µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15691674.667op/s 16276321.027op/s ± 158300.814op/s 16281824.891op/s ± 110043.785op/s 16390997.663op/s 16516459.481op/s 16612514.589op/s 16620969.136op/s 2.08% -0.349 0.212 0.97% 11193.558op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.290µs 53.802µs ± 0.144µs 53.827µs ± 0.077µs 53.891µs 53.999µs 54.078µs 54.086µs 0.48% -0.800 0.874 0.27% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18489072.958op/s 18586805.762op/s ± 49733.442op/s 18578097.030op/s ± 26577.824op/s 18613631.819op/s 18673170.017op/s 18732764.483op/s 18765359.748op/s 1.01% 0.818 0.913 0.27% 3516.685op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.919µs 3.921µs 0.24% -1.083 9.941 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255020472.449op/s 255623658.510op/s ± 194884.315op/s 255637087.751op/s ± 127800.047op/s 255748509.105op/s 255854431.176op/s 255932371.757op/s 256959073.766op/s 0.52% 1.108 10.114 0.08% 13780.402op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.151µs 50.489µs ± 0.142µs 50.487µs ± 0.064µs 50.545µs 50.750µs 51.003µs 51.051µs 1.12% 1.108 3.734 0.28% 0.010µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19588312.727op/s 19806584.916op/s ± 55590.601op/s 19806920.349op/s ± 25012.405op/s 19833632.704op/s 19888043.357op/s 19931593.538op/s 19939598.048op/s 0.67% -1.070 3.638 0.28% 3930.849op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.585µs 44.868µs ± 0.106µs 44.887µs ± 0.076µs 44.953µs 45.015µs 45.048µs 45.089µs 0.45% -0.426 -0.551 0.23% 0.007µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22178415.707op/s 22287944.624op/s ± 52538.435op/s 22278239.732op/s ± 37511.194op/s 22325096.229op/s 22383960.222op/s 22410980.626op/s 22429185.379op/s 0.68% 0.435 -0.540 0.24% 3715.028op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.691µs 5.699µs ± 0.004µs 5.699µs ± 0.002µs 5.701µs 5.705µs 5.709µs 5.714µs 0.26% 0.703 0.949 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 175018681.125op/s 175466621.797op/s ± 109485.221op/s 175480776.087op/s ± 75120.910op/s 175549123.036op/s 175612269.802op/s 175668525.147op/s 175706243.989op/s 0.13% -0.699 0.936 0.06% 7741.774op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255599149.409op/s; 255653730.710op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.542µs; 78.746µs] or [-0.129%; +0.129%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12700298.755op/s; 12732987.541op/s] or [-0.129%; +0.129%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.558µs; 71.729µs] or [-0.119%; +0.119%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13942634.253op/s; 13975315.664op/s] or [-0.117%; +0.117%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255629164.899op/s; 255683181.223op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [82.846µs; 82.983µs] or [-0.083%; +0.083%] None None None
credit_card/is_card_number/378282246310005 throughput [12050980.514op/s; 12071025.802op/s] or [-0.083%; +0.083%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [44.865µs; 44.887µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22278017.091op/s; 22289253.538op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.696µs; 5.698µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number/x371413321323331 throughput [175493966.189op/s; 175551357.257op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.911µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255674875.570op/s; 255720109.802op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [61.362µs; 61.528µs] or [-0.135%; +0.135%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [16254382.057op/s; 16298259.998op/s] or [-0.135%; +0.135%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.782µs; 53.822µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18579913.185op/s; 18593698.339op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255596649.419op/s; 255650667.602op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.469µs; 50.508µs] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19798880.593op/s; 19814289.239op/s] or [-0.039%; +0.039%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.853µs; 44.882µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22280663.303op/s; 22295225.946op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.699µs; 5.700µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [175451448.198op/s; 175481795.396op/s] or [-0.009%; +0.009%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 13.798ms 13.848ms ± 0.032ms 13.843ms ± 0.013ms 13.856ms 13.899ms 13.999ms 14.006ms 1.18% 2.518 8.806 0.23% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [13.843ms; 13.852ms] or [-0.032%; +0.032%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 35.185µs 35.725µs ± 0.924µs 35.312µs ± 0.058µs 35.378µs 37.685µs 37.713µs 39.112µs 10.76% 1.747 1.291 2.58% 0.065µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [35.597µs; 35.853µs] or [-0.359%; +0.359%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 9.667ms 9.931ms ± 0.070ms 9.932ms ± 0.029ms 9.956ms 10.042ms 10.130ms 10.232ms 3.02% -0.115 4.338 0.70% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [9.921ms; 9.941ms] or [-0.098%; +0.098%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 144.094µs 146.891µs ± 1.889µs 146.639µs ± 0.552µs 147.219µs 148.816µs 152.953µs 165.873µs 13.12% 6.263 54.700 1.28% 0.134µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.629µs; 147.153µs] or [-0.178%; +0.178%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 89.338µs 89.704µs ± 0.190µs 89.708µs ± 0.096µs 89.788µs 89.899µs 90.190µs 91.467µs 1.96% 3.942 35.315 0.21% 0.013µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [89.677µs; 89.730µs] or [-0.029%; +0.029%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 4.993µs 5.073µs ± 0.058µs 5.077µs ± 0.055µs 5.128µs 5.167µs 5.171µs 5.174µs 1.90% 0.183 -1.400 1.15% 0.004µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.065µs; 5.081µs] or [-0.160%; +0.160%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 533.921µs 534.708µs ± 0.527µs 534.651µs ± 0.277µs 534.946µs 535.365µs 535.777µs 539.728µs 0.95% 4.460 39.378 0.10% 0.037µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1852785.712op/s 1870181.260op/s ± 1835.896op/s 1870380.436op/s ± 968.122op/s 1871272.882op/s 1872175.438op/s 1872812.164op/s 1872935.020op/s 0.14% -4.397 38.586 0.10% 129.817op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 379.892µs 380.512µs ± 0.273µs 380.481µs ± 0.205µs 380.709µs 380.935µs 381.091µs 381.119µs 0.17% 0.083 -0.646 0.07% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2623849.998op/s 2628040.941op/s ± 1884.000op/s 2628250.031op/s ± 1415.465op/s 2629364.445op/s 2631127.592op/s 2631647.984op/s 2632326.480op/s 0.16% -0.080 -0.646 0.07% 133.219op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.128µs 190.605µs ± 0.230µs 190.597µs ± 0.148µs 190.748µs 190.927µs 191.269µs 191.880µs 0.67% 0.998 4.140 0.12% 0.016µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5211598.238op/s 5246452.261op/s ± 6321.746op/s 5246660.652op/s ± 4085.634op/s 5250674.081op/s 5255807.779op/s 5258750.949op/s 5259619.541op/s 0.25% -0.980 4.042 0.12% 447.015op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.893µs 37.125µs ± 0.107µs 37.137µs ± 0.086µs 37.209µs 37.277µs 37.313µs 37.354µs 0.58% -0.168 -1.027 0.29% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26771066.344op/s 26936323.093op/s ± 77901.647op/s 26927522.879op/s ± 62582.792op/s 27002373.620op/s 27067298.559op/s 27092734.077op/s 27105412.951op/s 0.66% 0.176 -1.025 0.29% 5508.478op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.829µs 45.934µs ± 0.125µs 45.920µs ± 0.037µs 45.956µs 46.045µs 46.133µs 47.484µs 3.41% 9.686 116.777 0.27% 0.009µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21059799.300op/s 21770394.294op/s ± 57705.422op/s 21777037.735op/s ± 17415.173op/s 21794510.338op/s 21810797.079op/s 21816814.314op/s 21820250.113op/s 0.20% -9.484 113.359 0.26% 4080.389op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [534.635µs; 534.781µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869926.822op/s; 1870435.697op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.474µs; 380.550µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2627779.837op/s; 2628302.046op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.573µs; 190.637µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5245576.128op/s; 5247328.394op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.110µs; 37.140µs] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26925526.674op/s; 26947119.512op/s] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.917µs; 45.952µs] or [-0.038%; +0.038%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21762396.878op/s; 21778391.710op/s] or [-0.037%; +0.037%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8361d3b 1767013965 gleocadie/catch-panic-message-in-crash-report
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 3.966ms 3.972ms ± 0.007ms 3.971ms ± 0.001ms 3.972ms 3.976ms 3.980ms 4.060ms 2.24% 11.559 149.415 0.17% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [3.971ms; 3.972ms] or [-0.023%; +0.023%] None None None

Baseline

Omitted due to size.

@ivoanjo
Copy link
Member

ivoanjo commented Nov 21, 2025

YES PLEASE :D

@gleocadie gleocadie force-pushed the gleocadie/catch-panic-message-in-crash-report branch 2 times, most recently from 7ec74cb to 6646a2a Compare November 21, 2025 15:24
@codecov-commenter
Copy link

codecov-commenter commented Nov 21, 2025

Codecov Report

❌ Patch coverage is 72.67176% with 179 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.47%. Comparing base (e7c2ff8) to head (8361d3b).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1361      +/-   ##
==========================================
+ Coverage   71.44%   71.47%   +0.02%     
==========================================
  Files         411      414       +3     
  Lines       66044    66669     +625     
==========================================
+ Hits        47186    47649     +463     
- Misses      18858    19020     +162     
Components Coverage Δ
libdd-crashtracker 61.21% <91.76%> (+2.50%) ⬆️
libdd-crashtracker-ffi 14.72% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.02% <ø> (ø)
libdd-data-pipeline-ffi 77.74% <ø> (ø)
libdd-common 81.33% <ø> (ø)
libdd-common-ffi 74.96% <ø> (ø)
libdd-telemetry 59.95% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 81.70% <ø> (-0.02%) ⬇️
libdd-profiling-ffi 67.83% <ø> (ø)
datadog-sidecar 35.88% <ø> (ø)
datdog-sidecar-ffi 10.88% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 92.44% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.92% <ø> (ø)
datadog-tracer-flare 62.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Nov 21, 2025

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 87.06 MB 87.09 MB +.03% (+30.48 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.50 MB 7.50 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.87 MB 58.91 MB +.07% (+44.20 KB) 🔍
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.49 MB 8.49 MB +.01% (+1.46 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.62 MB 9.62 MB +.02% (+2.18 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.74 MB 100.79 MB +.05% (+56.47 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 20.06 MB 20.06 MB +0% (+512 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 74.31 KB 74.31 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.08 MB 142.08 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 748.24 MB 748.23 MB -0% (-8.07 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.41 MB 6.41 MB +.01% (+1.00 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 74.31 KB 74.31 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.90 MB 19.90 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.99 MB 38.99 MB +0% (+458 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 17.11 MB 17.11 MB +0% (+512 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 75.46 KB 75.46 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 144.71 MB 144.73 MB +.01% (+16.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 736.90 MB 736.89 MB -0% (-8.11 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.92 MB 4.92 MB +0% (+512 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 75.46 KB 75.46 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 21.17 MB 21.17 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.77 MB 36.77 MB -0% (-114 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 75.34 MB 75.37 MB +.03% (+28.85 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.93 MB 8.93 MB +.04% (+4.00 KB) 🔍
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 60.20 MB 60.23 MB +.05% (+35.08 KB) 🔍
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.54 MB 9.54 MB +.01% (+1.39 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.90 MB 94.96 MB +.06% (+60.87 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.35 MB 10.36 MB +.05% (+5.46 KB) 🔍

@gleocadie gleocadie force-pushed the gleocadie/catch-panic-message-in-crash-report branch 3 times, most recently from 86da0b0 to ba0552b Compare November 24, 2025 15:19
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Nov 24, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

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

@gleocadie gleocadie force-pushed the gleocadie/catch-panic-message-in-crash-report branch 8 times, most recently from 2c0f271 to a537d67 Compare November 25, 2025 15:38
@gleocadie gleocadie force-pushed the gleocadie/catch-panic-message-in-crash-report branch 7 times, most recently from dadd236 to 7e2f3b4 Compare December 9, 2025 22:01
@gleocadie gleocadie marked this pull request as ready for review December 10, 2025 08:48
@gleocadie gleocadie requested review from a team as code owners December 10, 2025 08:48
Copy link
Contributor

@gyuheon0h gyuheon0h left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

};

// Store the message, cleaning up any old message
let message_ptr = PANIC_MESSAGE.swap(Box::into_raw(Box::new(message)), SeqCst);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can recursive panics happen? Seems super rare but if somehow we get a panic when formatting or something, could we accidentally do a double free here since we drop the pointer unconditionally

  1. The panic hook panics recursively,
  2. The second panic happens before the first finishes,
  3. The pointer swap occurs again.

Not sure if this is worth caring about or something that would even happen so 🤷🏽‍♂️

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no because PANIC_MESSAGE is an atomic ptr. this should be good

@gleocadie gleocadie force-pushed the gleocadie/catch-panic-message-in-crash-report branch from 7d17046 to cd47892 Compare December 22, 2025 08:35
@gleocadie gleocadie force-pushed the gleocadie/catch-panic-message-in-crash-report branch from cd47892 to 8361d3b Compare December 29, 2025 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants