Skip to content

feat(crashtracking)!: improve parity between errors intake payload and telemetry intake payload - #1823

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
mainfrom
gyuheon0h/errors-intake-support-custom-message
Mar 31, 2026
Merged

gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit into
mainfrom
gyuheon0h/errors-intake-support-custom-message

Conversation

@gyuheon0h

@gyuheon0h gyuheon0h commented Mar 30, 2026 •

Copy link
Copy Markdown
Contributor

What does this PR do?

Crashtracking supports custom error messages; more widely used with unhandled exception crashes. Errors intake payloads should inherit custom messages set, if there is one.

Also, errors intake should include files, proc_info, and thread_name.

error.thread_name is explicitly stated in the Errors data model . Since we now calculate thread_name for crash reports, we should include it in the errors payloads

Fields like files and proc_info are not included in the data model, but these are additive and we should add this information, as it is useful for crash debugging.

We also add specific parity tests in the bin tests to test the end to end parity between crash info and errors intake payloads

Motivation

Crash info now supports unhandled exceptions and panics. This means that crash messages are not only signal based. Errors intake payload lagged behind, diverging from crash info. This made me notice other areas where errors intake payload could maintain parity with crash info

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Unit and bin tests that enforce parity

Copy link
Copy Markdown
Contributor Author

@gyuheon0h gyuheon0h changed the title Support custom message for errors intake chore(crashtracking): support custom message for errors intake Mar 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/gyuheon0h/errors-intake-support-custom-message

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 20 20 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 55 55 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 8 8 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 195 195 No change (0%)

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Mar 30, 2026 •

Copy link
Copy Markdown

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

🎯 Code Coverage (details)
• Patch Coverage: 87.50%
• Overall Coverage: 71.54% (+0.01%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: c4f3229 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@codecov-commenter

codecov-commenter commented Mar 30, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.50000% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.53%. Comparing base (b863364) to head (c4f3229).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1823      +/-   ##
==========================================
+ Coverage   71.52%   71.53%   +0.01%     
==========================================
  Files         426      426              
  Lines       67026    67048      +22     
==========================================
+ Hits        47941    47966      +25     
+ Misses      19085    19082       -3     
Components Coverage Δ
libdd-crashtracker 66.03% <87.50%> (+0.17%) ⬆️
libdd-crashtracker-ffi 34.09% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 86.45% <ø> (ø)
libdd-data-pipeline-ffi 73.71% <ø> (ø)
libdd-common 79.70% <ø> (ø)
libdd-common-ffi 73.87% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 72.56% <ø> (ø)
libdd-profiling 82.04% <ø> (-0.02%) ⬇️
libdd-profiling-ffi 64.94% <ø> (ø)
datadog-sidecar 31.35% <ø> (ø)
datdog-sidecar-ffi 11.84% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 87.24% <ø> (ø)
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 88.73% <ø> (ø)
datadog-tracer-flare 86.88% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 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

pr-commenter Bot commented Mar 30, 2026 •

Copy link
Copy Markdown

Benchmarks

Comparison

Benchmark execution time: 2026-03-30 21:54:22

Comparing candidate commit 6488242 in PR branch gyuheon0h/errors-intake-support-custom-message with baseline commit 15860bb in branch main.

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

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:profile_add_sample2_frames_x1000

  • 🟥 execution_time [+42.653µs; +42.983µs] or [+5.827%; +5.872%]

scenario:receiver_entry_point/report/2598

  • 🟥 execution_time [+328.246µs; +342.950µs] or [+9.510%; +9.936%]

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 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 190.186ns 192.418ns ± 1.748ns 192.294ns ± 1.264ns 193.313ns 195.487ns 197.775ns 201.135ns 4.60% 1.225 2.743 0.91% 0.124ns 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 [192.176ns; 192.661ns] or [-0.126%; +0.126%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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_timestamped_x1000 execution_time 4.189ms 4.194ms ± 0.008ms 4.194ms ± 0.002ms 4.195ms 4.197ms 4.208ms 4.301ms 2.57% 11.551 148.526 0.19% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_timestamped_x1000 execution_time [4.193ms; 4.195ms] or [-0.027%; +0.027%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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.846µs 162.891µs ± 0.670µs 162.760µs ± 0.224µs 163.119µs 163.499µs 163.757µs 170.886µs 4.99% 8.559 99.381 0.41% 0.047µ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 [162.798µs; 162.984µs] or [-0.057%; +0.057%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 4.314ms 4.319ms ± 0.003ms 4.318ms ± 0.001ms 4.320ms 4.322ms 4.324ms 4.353ms 0.80% 6.633 69.327 0.07% 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 [4.318ms; 4.319ms] or [-0.010%; +0.010%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 772.558µs 774.830µs ± 1.069µs 774.853µs ± 0.747µs 775.543µs 776.670µs 777.424µs 777.708µs 0.37% 0.222 -0.358 0.14% 0.076µ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 [774.682µs; 774.978µs] or [-0.019%; +0.019%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 14.738ms 14.816ms ± 0.033ms 14.813ms ± 0.020ms 14.832ms 14.863ms 14.923ms 14.976ms 1.10% 1.057 2.995 0.22% 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 [14.811ms; 14.820ms] or [-0.031%; +0.031%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 33.286µs 34.031µs ± 1.337µs 33.400µs ± 0.062µs 33.571µs 36.903µs 36.948µs 37.618µs 12.63% 1.686 0.897 3.92% 0.095µ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 [33.846µs; 34.216µs] or [-0.545%; +0.545%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 14.990µs 15.396µs ± 0.309µs 15.342µs ± 0.105µs 15.456µs 15.705µs 17.112µs 17.470µs 13.87% 4.056 21.763 2.00% 0.022µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [15.353µs; 15.439µs] or [-0.278%; +0.278%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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.894µs 3.916µs ± 0.004µs 3.915µs ± 0.002µs 3.919µs 3.923µs 3.928µs 3.931µs 0.41% 0.096 3.238 0.11% 0.000µs 1 200
credit_card/is_card_number/ throughput 254376085.381op/s 255338662.028op/s ± 276774.971op/s 255418415.750op/s ± 157080.610op/s 255528633.114op/s 255647768.717op/s 255735443.578op/s 256775236.813op/s 0.53% -0.079 3.297 0.11% 19570.946op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 74.949µs 77.294µs ± 0.717µs 77.318µs ± 0.480µs 77.783µs 78.374µs 78.859µs 79.227µs 2.47% -0.170 0.082 0.93% 0.051µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12621959.685op/s 12938794.556op/s ± 120290.565op/s 12933622.733op/s ± 80530.828op/s 13015363.128op/s 13144994.537op/s 13216767.069op/s 13342332.223op/s 3.16% 0.227 0.125 0.93% 8505.827op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 67.484µs 67.661µs ± 0.103µs 67.649µs ± 0.063µs 67.716µs 67.832µs 67.912µs 68.307µs 0.97% 1.504 6.632 0.15% 0.007µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 14639712.713op/s 14779526.136op/s ± 22468.309op/s 14782267.935op/s ± 13760.042op/s 14795394.564op/s 14810501.550op/s 14816245.064op/s 14818394.073op/s 0.24% -1.475 6.424 0.15% 1588.749op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.916µs ± 0.004µs 3.916µs ± 0.002µs 3.919µs 3.923µs 3.926µs 3.929µs 0.34% -0.109 3.258 0.10% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254521544.342op/s 255343289.258op/s ± 253000.116op/s 255389043.992op/s ± 147131.236op/s 255506194.762op/s 255659709.420op/s 255772623.883op/s 256676684.159op/s 0.50% 0.125 3.317 0.10% 17889.810op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 64.477µs 64.721µs ± 0.078µs 64.723µs ± 0.051µs 64.774µs 64.840µs 64.908µs 64.919µs 0.30% -0.126 0.272 0.12% 0.005µs 1 200
credit_card/is_card_number/378282246310005 throughput 15403746.609op/s 15450908.410op/s ± 18537.728op/s 15450556.674op/s ± 12260.205op/s 15463026.358op/s 15481002.952op/s 15497182.825op/s 15509420.422op/s 0.38% 0.134 0.276 0.12% 1310.815op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.816µs 45.034µs ± 0.087µs 45.035µs ± 0.062µs 45.098µs 45.167µs 45.211µs 45.228µs 0.43% -0.143 -0.567 0.19% 0.006µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22110289.296op/s 22205441.440op/s ± 43015.610op/s 22205033.516op/s ± 30578.797op/s 22235507.578op/s 22282774.541op/s 22299034.068op/s 22313580.045op/s 0.49% 0.151 -0.563 0.19% 3041.663op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.695µs 5.706µs ± 0.006µs 5.705µs ± 0.004µs 5.710µs 5.716µs 5.723µs 5.727µs 0.38% 0.672 0.375 0.11% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 174621821.233op/s 175261966.189op/s ± 188068.619op/s 175288965.563op/s ± 123563.623op/s 175405304.580op/s 175522230.452op/s 175573641.885op/s 175591939.158op/s 0.17% -0.665 0.359 0.11% 13298.460op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.895µs 3.916µs ± 0.004µs 3.915µs ± 0.002µs 3.919µs 3.924µs 3.928µs 3.930µs 0.38% 0.212 3.398 0.10% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254479557.905op/s 255352607.697op/s ± 267792.677op/s 255437144.242op/s ± 142395.889op/s 255531876.015op/s 255637400.468op/s 255721279.075op/s 256736362.930op/s 0.51% -0.195 3.454 0.10% 18935.802op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 60.070µs 61.054µs ± 0.519µs 61.010µs ± 0.374µs 61.402µs 61.937µs 62.172µs 63.266µs 3.70% 0.653 0.625 0.85% 0.037µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15806255.121op/s 16380191.079op/s ± 138631.140op/s 16390874.219op/s ± 101120.675op/s 16487815.487op/s 16572968.871op/s 16609624.653op/s 16647111.449op/s 1.56% -0.598 0.449 0.84% 9802.702op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.453µs 53.758µs ± 0.112µs 53.756µs ± 0.077µs 53.832µs 53.929µs 53.985µs 54.019µs 0.49% -0.133 -0.357 0.21% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18511878.587op/s 18601834.641op/s ± 38630.528op/s 18602627.338op/s ± 26550.203op/s 18628885.168op/s 18669327.322op/s 18691956.192op/s 18707909.704op/s 0.57% 0.143 -0.350 0.21% 2731.591op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.898µs 3.916µs ± 0.003µs 3.915µs ± 0.002µs 3.918µs 3.921µs 3.924µs 3.930µs 0.37% 0.034 5.379 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254483046.686op/s 255383553.249op/s ± 213092.802op/s 255424175.899op/s ± 125026.503op/s 255515710.290op/s 255657183.472op/s 255758123.299op/s 256550449.179op/s 0.44% -0.015 5.423 0.08% 15067.937op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.214µs 50.365µs ± 0.072µs 50.365µs ± 0.051µs 50.412µs 50.493µs 50.523µs 50.580µs 0.43% 0.255 -0.357 0.14% 0.005µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19770595.521op/s 19855052.646op/s ± 28457.839op/s 19855040.251op/s ± 20165.430op/s 19875826.524op/s 19897482.006op/s 19914116.659op/s 19914597.400op/s 0.30% -0.248 -0.362 0.14% 2012.273op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.755µs 44.932µs ± 0.088µs 44.921µs ± 0.058µs 44.982µs 45.100µs 45.182µs 45.214µs 0.65% 0.680 0.367 0.20% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22117093.846op/s 22256167.913op/s ± 43679.182op/s 22261483.204op/s ± 28866.191op/s 22288695.177op/s 22316990.709op/s 22332458.384op/s 22343659.511op/s 0.37% -0.669 0.345 0.20% 3088.585op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.694µs 5.705µs ± 0.005µs 5.704µs ± 0.003µs 5.709µs 5.714µs 5.719µs 5.721µs 0.30% 0.636 0.084 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 174796533.544op/s 175285825.988op/s ± 158755.747op/s 175325378.349op/s ± 106972.343op/s 175404729.779op/s 175485619.036op/s 175594553.020op/s 175609898.788op/s 0.16% -0.631 0.076 0.09% 11225.727op/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.916µs; 3.917µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/ throughput [255300303.679op/s; 255377020.377op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.194µs; 77.393µs] or [-0.129%; +0.129%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12922123.441op/s; 12955465.672op/s] or [-0.129%; +0.129%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [67.647µs; 67.676µs] or [-0.021%; +0.021%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14776412.244op/s; 14782640.027op/s] or [-0.021%; +0.021%] None None None
credit_card/is_card_number/37828224631 execution_time [3.916µs; 3.917µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number/37828224631 throughput [255308225.875op/s; 255378352.640op/s] or [-0.014%; +0.014%] None None None
credit_card/is_card_number/378282246310005 execution_time [64.710µs; 64.732µs] or [-0.017%; +0.017%] None None None
credit_card/is_card_number/378282246310005 throughput [15448339.259op/s; 15453477.561op/s] or [-0.017%; +0.017%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.022µs; 45.046µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22199479.890op/s; 22211402.990op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.705µs; 5.707µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number/x371413321323331 throughput [175235901.688op/s; 175288030.691op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.916µs; 3.917µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/ throughput [255315494.207op/s; 255389721.186op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [60.982µs; 61.126µs] or [-0.118%; +0.118%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [16360978.136op/s; 16399404.021op/s] or [-0.117%; +0.117%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.743µs; 53.774µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18596480.821op/s; 18607188.461op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.915µs; 3.916µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255354020.636op/s; 255413085.862op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.355µs; 50.375µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19851108.663op/s; 19858996.629op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.919µs; 44.944µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22250114.399op/s; 22262221.428op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.704µs; 5.706µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [175263823.968op/s; 175307828.008op/s] or [-0.013%; +0.013%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 14.849ms 14.898ms ± 0.024ms 14.892ms ± 0.015ms 14.912ms 14.944ms 14.961ms 14.980ms 0.59% 0.710 0.234 0.16% 0.002ms 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 [14.894ms; 14.901ms] or [-0.022%; +0.022%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 5.385µs 5.488µs ± 0.061µs 5.474µs ± 0.038µs 5.533µs 5.606µs 5.626µs 5.707µs 4.26% 0.775 0.102 1.11% 0.004µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [5.479µs; 5.496µs] or [-0.154%; +0.154%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 48.727ms 49.046ms ± 0.836ms 48.943ms ± 0.043ms 48.994ms 49.140ms 51.803ms 58.839ms 20.22% 9.674 101.711 1.70% 0.059ms 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 [48.930ms; 49.162ms] or [-0.236%; +0.236%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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/2598 execution_time 3.633ms 3.787ms ± 0.049ms 3.800ms ± 0.011ms 3.811ms 3.833ms 3.850ms 3.856ms 1.48% -1.940 2.749 1.30% 0.003ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2598 execution_time [3.780ms; 3.794ms] or [-0.180%; +0.180%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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.981µs 146.624µs ± 1.820µs 146.277µs ± 0.491µs 146.805µs 148.424µs 156.495µs 160.992µs 10.06% 4.765 28.673 1.24% 0.129µ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.371µs; 146.876µs] or [-0.172%; +0.172%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 5.013µs 5.081µs ± 0.040µs 5.100µs ± 0.032µs 5.115µs 5.133µs 5.136µs 5.138µs 0.73% -0.207 -1.664 0.79% 0.003µ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.075µs; 5.087µs] or [-0.110%; +0.110%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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.729µs 205.535µs ± 0.483µs 205.477µs ± 0.309µs 205.793µs 206.332µs 207.076µs 207.276µs 0.88% 0.871 0.712 0.23% 0.034µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4824492.147op/s 4865373.480op/s ± 11400.741op/s 4866727.624op/s ± 7316.622op/s 4873806.127op/s 4880076.473op/s 4882978.171op/s 4884516.821op/s 0.37% -0.858 0.673 0.23% 806.154op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.581µs 18.659µs ± 0.053µs 18.645µs ± 0.025µs 18.679µs 18.763µs 18.836µs 18.916µs 1.46% 1.661 3.717 0.28% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52863996.617op/s 53593674.437op/s ± 151034.167op/s 53633986.683op/s ± 72427.480op/s 53693266.296op/s 53760233.555op/s 53810787.395op/s 53817336.662op/s 0.34% -1.636 3.592 0.28% 10679.728op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.552µs 10.824µs ± 0.116µs 10.841µs ± 0.073µs 10.905µs 10.988µs 11.093µs 11.127µs 2.64% -0.207 -0.368 1.06% 0.008µs 1 200
normalization/normalize_name/normalize_name/good throughput 89871483.778op/s 92394696.220op/s ± 988464.963op/s 92239784.152op/s ± 616900.762op/s 93126715.490op/s 94075671.104op/s 94686383.827op/s 94766707.515op/s 2.74% 0.258 -0.372 1.07% 69895.028op/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.468µs; 205.602µs] or [-0.033%; +0.033%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4863793.447op/s; 4866953.513op/s] or [-0.032%; +0.032%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.652µs; 18.666µs] or [-0.039%; +0.039%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53572742.554op/s; 53614606.320op/s] or [-0.039%; +0.039%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.808µs; 10.840µs] or [-0.148%; +0.148%] None None None
normalization/normalize_name/normalize_name/good throughput [92257704.483op/s; 92531687.957op/s] or [-0.148%; +0.148%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 243.461ns 254.033ns ± 12.936ns 248.657ns ± 3.011ns 255.313ns 284.500ns 298.014ns 298.814ns 20.17% 2.053 3.397 5.08% 0.915ns 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 [252.240ns; 255.826ns] or [-0.706%; +0.706%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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.339µs 2.405µs ± 0.020µs 2.405µs ± 0.008µs 2.417µs 2.428µs 2.434µs 2.491µs 3.57% -1.088 4.505 0.82% 0.001µ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.402µs; 2.408µs] or [-0.114%; +0.114%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 289.543µs 290.296µs ± 0.675µs 290.178µs ± 0.162µs 290.363µs 290.897µs 291.876µs 297.837µs 2.64% 7.677 78.225 0.23% 0.048µ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 [290.202µs; 290.390µs] or [-0.032%; +0.032%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_serialize_compressed_pprof_timestamped_x1000 execution_time 912.687µs 917.461µs ± 2.804µs 916.870µs ± 1.128µs 918.219µs 922.294µs 927.242µs 939.731µs 2.49% 3.289 20.041 0.30% 0.198µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_serialize_compressed_pprof_timestamped_x1000 execution_time [917.073µs; 917.850µs] or [-0.042%; +0.042%] None None None

Group 21

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 6488242 1774906600 gyuheon0h/errors-intake-support-custom-message
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 534.915µs 536.701µs ± 1.565µs 536.193µs ± 0.755µs 537.401µs 539.336µs 541.965µs 545.566µs 1.75% 2.151 7.345 0.29% 0.111µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1832960.380op/s 1863249.053op/s ± 5399.366op/s 1865001.025op/s ± 2629.969op/s 1866966.912op/s 1868520.664op/s 1869112.462op/s 1869456.512op/s 0.24% -2.111 7.059 0.29% 381.793op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.484µs 381.286µs ± 0.468µs 381.235µs ± 0.273µs 381.512µs 382.116µs 382.680µs 383.049µs 0.48% 0.900 1.085 0.12% 0.033µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2610631.764op/s 2622706.956op/s ± 3216.245op/s 2623051.479op/s ± 1878.563op/s 2624882.944op/s 2627052.287op/s 2627746.250op/s 2628228.407op/s 0.20% -0.892 1.061 0.12% 227.423op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.939µs 190.685µs ± 0.366µs 190.685µs ± 0.285µs 190.951µs 191.281µs 191.661µs 191.749µs 0.56% 0.348 -0.279 0.19% 0.026µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5215163.610op/s 5244282.760op/s ± 10054.539op/s 5244261.920op/s ± 7848.980op/s 5252547.006op/s 5259334.480op/s 5261955.137op/s 5264846.056op/s 0.39% -0.339 -0.293 0.19% 710.963op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.788µs 37.897µs ± 0.064µs 37.879µs ± 0.035µs 37.936µs 38.018µs 38.089µs 38.176µs 0.79% 1.130 1.668 0.17% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26194229.427op/s 26387158.616op/s ± 44522.929op/s 26400150.560op/s ± 24732.400op/s 26416351.437op/s 26446090.646op/s 26454517.045op/s 26463410.769op/s 0.24% -1.118 1.621 0.17% 3148.246op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.803µs 46.022µs ± 0.152µs 46.000µs ± 0.065µs 46.074µs 46.256µs 46.328µs 47.464µs 3.18% 4.630 39.244 0.33% 0.011µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21068579.631op/s 21729163.835op/s ± 70643.444op/s 21738925.649op/s ± 30813.823op/s 21768449.487op/s 21800388.474op/s 21820166.398op/s 21832578.088op/s 0.43% -4.440 36.789 0.32% 4995.246op/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 [536.485µs; 536.918µs] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1862500.753op/s; 1863997.353op/s] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [381.221µs; 381.351µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2622261.215op/s; 2623152.696op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.634µs; 190.735µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5242889.298op/s; 5245676.222op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.888µs; 37.906µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26380988.167op/s; 26393329.066op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.001µs; 46.043µs] or [-0.046%; +0.046%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21719373.333op/s; 21738954.337op/s] or [-0.045%; +0.045%] None None None

Baseline

Omitted due to size.

@dd-octo-sts

dd-octo-sts Bot commented Mar 30, 2026 •

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.76 MB 8.76 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 102.09 MB 102.11 MB +.02% (+25.08 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.36 MB 11.36 MB +0% (+880 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 119.06 MB 119.08 MB +.01% (+22.53 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.41 MB 27.42 MB +.02% (+7.50 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 80.69 KB 80.69 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 187.80 MB 187.82 MB +0% (+16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 924.44 MB 924.51 MB +0% (+69.17 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.06 MB 9.06 MB +.03% (+3.00 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 80.69 KB 80.69 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 27.01 MB 27.01 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 61.32 MB 61.33 MB +.02% (+12.98 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 23.26 MB 23.27 MB +.02% (+7.00 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 81.94 KB 81.94 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 192.32 MB 192.38 MB +.03% (+64.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 909.59 MB 909.65 MB +0% (+68.49 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 6.90 MB 6.90 MB +.03% (+2.50 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 81.94 KB 81.94 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 29.12 MB 29.12 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 57.69 MB 57.70 MB +.02% (+13.48 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 88.94 MB 88.96 MB +.02% (+21.52 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.34 MB 10.34 MB +.07% (+8.00 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 111.73 MB 111.75 MB +.01% (+21.74 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 12.08 MB 12.09 MB +.07% (+8.80 KB) 🔍

@gyuheon0h
gyuheon0h force-pushed the gyuheon0h/errors-intake-support-custom-message branch from dbe8607 to 5c9fd4c Compare March 30, 2026 20:15
@gyuheon0h gyuheon0h changed the title chore(crashtracking): support custom message for errors intake chore(crashtracking): improve parity between errors intake payload and telemetry intake payload Mar 30, 2026
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs Outdated
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs
@gyuheon0h
gyuheon0h marked this pull request as ready for review March 30, 2026 20:21
@gyuheon0h
gyuheon0h requested a review from a team as a code owner March 30, 2026 20:21
@gyuheon0h
gyuheon0h requested a review from gleocadie March 30, 2026 20:21
@gyuheon0h
gyuheon0h force-pushed the gyuheon0h/errors-intake-support-custom-message branch from 5c9fd4c to 2a3ddf0 Compare March 30, 2026 20:22
@gyuheon0h gyuheon0h changed the title chore(crashtracking): improve parity between errors intake payload and telemetry intake payload feat(crashtracking)!: improve parity between errors intake payload and telemetry intake payload Mar 30, 2026
@gyuheon0h
gyuheon0h force-pushed the gyuheon0h/errors-intake-support-custom-message branch 3 times, most recently from bb21155 to 6488242 Compare March 30, 2026 21:36
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs
Comment thread bin_tests/tests/crashtracker_bin_test.rs
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs
@gyuheon0h

Copy link
Copy Markdown
Contributor Author

The actual message is Process terminated with SEGV_MAPERR (SIGSEGV)
https://app.datadoghq.com/error-tracking?query=is_crash%3Atrue%20source%3Aphp&refresh_mode=sliding&source=all&sp=%5B%7B%22p%22%3A%7B%22issueId%22%3A%22a54b086e-2d0f-11f1-8f2b-da7ad0900002%22%7D%2C%22i%22%3A%22error-tracking-issue%22%7D%5D&from_ts=1774883161942&to_ts=1774969561942&live=true
shouldn't we do the same ?

My comment was misleading; Yes, that will be the format of signal based crashes; for both telemetry and errors intake

@gyuheon0h
gyuheon0h requested a review from gleocadie March 31, 2026 15:48
Comment thread libdd-crashtracker/src/crash_info/errors_intake.rs Outdated
@gyuheon0h
gyuheon0h force-pushed the gyuheon0h/errors-intake-support-custom-message branch from 6488242 to c4f3229 Compare March 31, 2026 16:53
@gyuheon0h
gyuheon0h requested a review from a team as a code owner March 31, 2026 16:53
@gyuheon0h

Copy link
Copy Markdown
Contributor Author

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351 Bot commented Mar 31, 2026 •

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-03-31 16:54:33 UTC ℹ️ Start processing command /merge


2026-03-31 16:54:40 UTC ℹ️ MergeQueue: waiting for PR to be ready

This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
It will be added to the queue as soon as checks pass and/or get approvals. View in MergeQueue UI.
Note: if you pushed new commits since the last approval, you may need additional approval.
You can remove it from the waiting list with /remove command.


2026-03-31 17:33:32 UTC ℹ️ MergeQueue: merge request added to the queue

The expected merge time in main is approximately 45m (p90).


2026-03-31 18:08:54 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot merged commit 703e1e2 into main Mar 31, 2026
110 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854d Bot deleted the gyuheon0h/errors-intake-support-custom-message branch March 31, 2026 18:08
hoolioh added a commit that referenced this pull request Aug 19, 2026
# Release proposal for libdd-crashtracker, libdd-gotter and their
dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-gotter
**Next version:** `1.0.0`
**Semver bump:** `major`
**Tag:** `libdd-gotter-v1.0.0`

**Warning:** this is an initial release. Please verify that the version
and commits included are correct.


## libdd-crashtracker
**Next version:** `2.0.0`
**Semver bump:** `major`
**Tag:** `libdd-crashtracker-v2.0.0`

### ⚠️ major bump forced due to:

- `libdd-common`: ^1.0.0 → ^5.2.0
- `libdd-telemetry`: ^1.0.0 → ^7.0.0

### Commits

- feat(crashtracking)!: retrieve c assert message for linux when
`__assert_fail` is dynamically loaded (#2268)
- test: skip/shorten slow miri jobs (#2331)
- feat(crashtracking): send debug log when no data is received at all
(#2321)
- fix(crashtracking): check fields and exclude uuid for `has_data`
(#2322)
- refactor: migrate to workspace dependencies, phase 4 (#2296)
- refactor: migrate to workspace dependencies, phase 3 (#2283)
- chore: moving to workspace-level dependencies, phase 2 (#2270)
- refactor: consolidate core dependencies at workspace level (phase 1)
(#2253)
- test: stabilize flaky tests (#2256)
- feat(telemetry)!: make telemetry worker wasm-compatible for the
TraceExporter (#2172)
- chore(crashtracking): harden multi thread ptrace collection (#2216)
- fix(sidecar): don't double-encode file:// telemetry endpoints (#2230)
- fix: new clippy lints (#2219)
- refactor(sidecar)!: Avoid a dedicated socket for crashtracker (#2179)
- refactor(clippy): prefer core and alloc imports (#2196)
- refactor(libdd-telemetry)!: avoid leaking libdd-common types in the
public API (#2152)
- feat(crashtracking): collect all native stacks for unhandled exception
and also crashing thread (#2155)
- fix(crashtracking): sanitize type and message for unhandled exceptions
(#2148)
- fix(crashtracking): multi thread collection centos flakes harden
(#2113)
- chore(crashtracking)!: remove frame count experimental field (#2114)
- fix(crashtracking): authenticate peer granted socket ptrace access
(#2098)
- feat(crashtracking)!: add experimental frame count field (#2099)
- fix(crashtracker): increase test_waitall_nohang timeout to 500ms
(#2097)
- fix(crashtracker): support socket based receiver for all thread
collection (#2080)
- fix(crashtracker): set failed thread stack collection as incomplete
empty stack (#2079)
- fix(crashtracking)!: flatten all threads object into a list of
`ThreadData` (#2054)
- refactor(crashtracker): update imports to linux only (#2036)
- fix(crashtracker): move preload logger marking after recursive guard
(#2023)
- fix(libdd-telemetry): restore previous Cargo.toml version (#1993)
- feat!: integrate obfuscation to the stats exporter [APMSP-2764]
(#1819)
- chore(crashtracking)!: create errorsintake crash ping directly from
telemetry (#1963)
- feat(telemetry)!: include dependencies and integrations in
app-extended-heartbeat (#1962)
- feat(crashtracking)!: collect all threads (#1878)
- chore(crashtracking): bump libdatadog-libunwind to v1.0.2 (#1942)
- chore(crashtracking): default errors intake crash report upload to be
on (#1902)
- chore(libdd-crashtracker): remove path reference for
libdd-libunwind-sys (#1877)
- fix(crashtracking): handle new lines in client submitted exception
message (#1836)
- fix(crashtracker): Fix bin_tests in gitlab (#1832)
- feat(crashtracking)!: improve parity between errors intake payload and
telemetry intake payload (#1823)
- feat(crashtracking)!: emit ucontext registers as structured data
(#1787)
- fix(ci): use single threaded for all tests that mutate signal state
and use non-fatal signal (#1812)
- fix(crashtracking): fix SIGCHLD signal guarding while in CT signal
handler (#1807)
- fix(ci): use single threaded to avoid race conditions for sa guard
tests (#1800)
- fix(crashtracking): guard sigchld and sigpipe during crashtracker
signal handler execution (#1771)
- chore(crashtracking): preserve errno for crashtracker (#1767)
- chore(crashtracker): use weaker mem ordering for OP_COUNTERS (#1744)
- chore(crashtracking): rename target triple to runtime platform (#1747)
- chore(ci): give libdd-libunwind-sys its own version (#1743)
- chore(crashtracking): add tag for target triple (#1741)
- refactor(libdd-crashtracker)!: avoid leaking Endpoint through the
public API (#1705)
- chore(cargo): bump to 29.0.0 (#1702)
- fix(crashtracking): use libunwind to unwind frames (#1663)
- chore(deps): bump blazesym to 0.2.3 and blazesym-c to 0.1.7 (#1654)
- chore(ci): fix crashtracker receiver binary rpath setting (#1652)
- chore(crashtracking): emit a best effort stacktrace for Mac (#1645)
- chore(crashtracker): use default-features=false for aws-lc-sys (#1625)
- feat(crashtracking): report unhandled exceptions (#1596)
- refactor(ddcommon)!: remove direct dependency on hyper client
everywhere in common (#1604)
- feat(crashtracking): include `Kind` in crash ping and clarify
requirements (#1595)
- fix(crashtracking): add process_tags to application field (#1576)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(telemetry)!: fix logs payload format [APMSP-2590] (#1498)
- chore(crashtracking): bump os_info crate to 3.14 (#1507)
- Don't bail (#1494)
- feat(crashtracking)!: emit crashing thread name in crash report for
linux crashes (#1485)
- test(crashtracking): add minimal LD preload test for crashtracker
collector (#1428)
- chore: release libddcommon-v1.1.0 (#1456)
- chore: prepare libdd-telemetry-v2.0.0 (#1457)
- [crashtracker] Retrieve panic message when crashing (#1361)
- fix(sidecar): AWS lambda also can return EACCESS for shm_open (#1446)
- chore(crashtracking): add `is_crash_debug` tag to crashtracker
receiver debug logs (#1445)
- [crashtracker] Log errors in crashtracker receiver (#1395)
- chore: add changelog for every published crate (#1396)
- Fix CI (#1389)
- [crashtracker] Set OS info in the crash info builder when receiving
report (#1388)
- crashtracker: support cxx bindings for crashinfo (#1379)


[APMSP-2764]:
https://datadoghq.atlassian.net/browse/APMSP-2764?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: hoolioh <107922352+hoolioh@users.noreply.github.com>
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.

3 participants