Skip to content

Conversation

@Aaalibaba42
Copy link
Contributor

What does this PR do?

Refactor health metrics emission via common API.

Motivation

Logic was duplicated and would have required to be duplicated again if another usecase arose. Now the core logic can be integrated elsewhere more easiely.

Additional Notes

I don't have the full context of this part of the code, I may have blindspots or problems in the implementation.

How to test the change?

I (mostly AI) added a bunch of tests (maybe too much of them even ?) to validate the changes.

Comment on lines 263 to 266
debug_assert!(
trace_chunks > 0,
"SendResult::success called with zero trace chunks"
);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I originally thought it would be a "bug" to have 0 traces, but some tests were failing sending empty payloads. I don't know if it's just the tests or if it's sementically valid

@pr-commenter
Copy link

pr-commenter bot commented Jan 7, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-01-07 13:11:30

Comparing candidate commit bc805f6 in PR branch jwiriath/APMSP-1584_refactor_health_metrics with baseline commit 0d4ebbe in branch main.

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

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 bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.817µs 534.793µs ± 0.537µs 534.705µs ± 0.314µs 535.097µs 535.493µs 536.017µs 539.005µs 0.80% 2.702 17.915 0.10% 0.038µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1855268.942op/s 1869885.825op/s ± 1874.124op/s 1870189.694op/s ± 1098.455op/s 1871127.523op/s 1872220.273op/s 1872797.728op/s 1873300.531op/s 0.17% -2.665 17.541 0.10% 132.521op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.187µs 380.772µs ± 0.260µs 380.771µs ± 0.159µs 380.907µs 381.191µs 381.409µs 381.668µs 0.24% 0.439 0.553 0.07% 0.018µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2620079.974op/s 2626242.701op/s ± 1795.336op/s 2626251.623op/s ± 1097.252op/s 2627455.436op/s 2629138.797op/s 2629614.298op/s 2630286.375op/s 0.15% -0.435 0.543 0.07% 126.949op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.036µs 190.581µs ± 0.269µs 190.560µs ± 0.163µs 190.734µs 190.996µs 191.448µs 191.622µs 0.56% 0.791 1.312 0.14% 0.019µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5218618.640op/s 5247117.338op/s ± 7385.113op/s 5247688.545op/s ± 4495.090op/s 5252162.022op/s 5257620.224op/s 5259935.651op/s 5262150.204op/s 0.28% -0.779 1.279 0.14% 522.206op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.164µs 37.289µs ± 0.051µs 37.289µs ± 0.032µs 37.321µs 37.365µs 37.424µs 37.457µs 0.45% 0.204 0.409 0.14% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26697228.332op/s 26817355.034op/s ± 36350.890op/s 26817424.489op/s ± 22800.519op/s 26840071.745op/s 26875902.205op/s 26896419.729op/s 26907916.277op/s 0.34% -0.195 0.397 0.14% 2570.396op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.819µs 45.898µs ± 0.047µs 45.891µs ± 0.024µs 45.916µs 45.975µs 46.051µs 46.209µs 0.69% 2.018 9.011 0.10% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21640753.868op/s 21787409.048op/s ± 22444.517op/s 21790688.573op/s ± 11306.916op/s 21801772.351op/s 21815374.379op/s 21822242.558op/s 21825208.212op/s 0.16% -1.997 8.844 0.10% 1587.067op/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.718µs; 534.867µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869626.090op/s; 1870145.561op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.736µs; 380.808µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2625993.885op/s; 2626491.518op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.544µs; 190.618µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5246093.832op/s; 5248140.843op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.282µs; 37.296µs] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26812317.151op/s; 26822392.918op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.892µs; 45.905µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21784298.454op/s; 21790519.643op/s] or [-0.014%; +0.014%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.886ms 10.077ms ± 0.054ms 10.076ms ± 0.028ms 10.102ms 10.179ms 10.264ms 10.282ms 2.04% 0.802 3.082 0.54% 0.004ms 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 [10.070ms; 10.085ms] or [-0.074%; +0.074%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.801ms 13.856ms ± 0.029ms 13.852ms ± 0.013ms 13.865ms 13.896ms 13.961ms 14.039ms 1.35% 2.417 10.677 0.21% 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.852ms; 13.860ms] or [-0.029%; +0.029%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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 185.512ns 188.945ns ± 2.522ns 188.742ns ± 1.906ns 190.441ns 193.759ns 195.813ns 198.138ns 4.98% 0.858 0.522 1.33% 0.178ns 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.596ns; 189.295ns] or [-0.185%; +0.185%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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 526.822µs 527.571µs ± 0.501µs 527.511µs ± 0.267µs 527.780µs 528.452µs 528.990µs 531.590µs 0.77% 3.039 19.669 0.09% 0.035µ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 [527.501µs; 527.640µs] or [-0.013%; +0.013%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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 90.033µs 90.293µs ± 0.275µs 90.274µs ± 0.081µs 90.345µs 90.506µs 90.755µs 93.753µs 3.85% 10.123 124.631 0.30% 0.019µ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 [90.255µs; 90.331µs] or [-0.042%; +0.042%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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 162.563µs 163.365µs ± 0.423µs 163.293µs ± 0.157µs 163.462µs 163.876µs 164.427µs 167.381µs 2.50% 4.926 40.818 0.26% 0.030µ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 [163.306µs; 163.423µs] or [-0.036%; +0.036%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.338µs 35.800µs ± 0.779µs 35.444µs ± 0.042µs 35.518µs 37.424µs 37.520µs 39.173µs 10.52% 1.827 1.941 2.17% 0.055µ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.692µs; 35.908µs] or [-0.301%; +0.301%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.010µs 5.067µs ± 0.037µs 5.078µs ± 0.033µs 5.098µs 5.112µs 5.118µs 5.121µs 0.84% -0.151 -1.639 0.72% 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.062µs; 5.072µs] or [-0.100%; +0.100%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.700µs 25.189µs ± 8.946µs 18.159µs ± 0.381µs 32.911µs 40.817µs 42.109µs 64.464µs 255.00% 0.949 0.703 35.42% 0.633µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.950µs; 26.429µs] or [-4.922%; +4.922%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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 60.343ms 60.896ms ± 2.082ms 60.608ms ± 0.074ms 60.702ms 60.966ms 72.937ms 79.907ms 31.84% 8.243 68.127 3.41% 0.147ms 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 [60.608ms; 61.185ms] or [-0.474%; +0.474%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.698µs 146.560µs ± 1.873µs 146.285µs ± 0.533µs 146.849µs 148.013µs 152.565µs 165.996µs 13.47% 6.785 61.032 1.28% 0.132µ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.300µs; 146.819µs] or [-0.177%; +0.177%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.894ns 255.851ns ± 14.754ns 248.949ns ± 4.423ns 270.276ns 282.760ns 297.553ns 298.681ns 19.98% 1.244 0.401 5.75% 1.043ns 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.806ns; 257.896ns] or [-0.799%; +0.799%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.949ms 3.955ms ± 0.007ms 3.954ms ± 0.002ms 3.956ms 3.959ms 3.961ms 4.041ms 2.21% 10.463 130.404 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.954ms; 3.955ms] or [-0.024%; +0.024%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.655ms 10.693ms ± 0.016ms 10.692ms ± 0.009ms 10.702ms 10.720ms 10.738ms 10.769ms 0.72% 0.916 2.900 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.691ms; 10.696ms] or [-0.021%; +0.021%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.248µs 3.248µs ± 1.445µs 3.019µs ± 0.030µs 3.050µs 3.736µs 14.238µs 14.982µs 396.32% 7.301 54.644 44.39% 0.102µ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.047µs; 3.448µs] or [-6.167%; +6.167%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.354µs 2.408µs ± 0.017µs 2.407µs ± 0.007µs 2.415µs 2.441µs 2.452µs 2.457µs 2.05% -0.369 2.515 0.71% 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.406µs; 2.410µs] or [-0.098%; +0.098%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.893µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.917µs 3.919µs 3.924µs 0.32% -0.354 6.587 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 254864833.427op/s 255656237.056op/s ± 204752.323op/s 255689043.725op/s ± 127211.974op/s 255796742.329op/s 255892854.948op/s 255928789.590op/s 256899463.596op/s 0.47% 0.375 6.684 0.08% 14478.176op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.380µs 78.404µs ± 0.551µs 78.375µs ± 0.419µs 78.793µs 79.339µs 79.867µs 80.120µs 2.23% 0.392 -0.181 0.70% 0.039µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12481289.036op/s 12755144.247op/s ± 89452.071op/s 12759216.444op/s ± 67782.774op/s 12827191.782op/s 12887188.014op/s 12922517.692op/s 12923191.616op/s 1.29% -0.357 -0.233 0.70% 6325.217op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.846µs 71.718µs ± 0.508µs 71.652µs ± 0.341µs 72.011µs 72.608µs 73.026µs 73.201µs 2.16% 0.584 -0.145 0.71% 0.036µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13660976.902op/s 13944122.904op/s ± 98463.249op/s 13956348.728op/s ± 66776.131op/s 14021940.840op/s 14088205.127op/s 14103247.830op/s 14115071.711op/s 1.14% -0.552 -0.197 0.70% 6962.403op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.900µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.921µs 3.925µs 0.32% 0.484 2.599 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254796466.251op/s 255595346.460op/s ± 190716.287op/s 255619684.296op/s ± 110530.243op/s 255719396.318op/s 255846079.174op/s 255949219.803op/s 256404291.307op/s 0.31% -0.474 2.598 0.07% 13485.678op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 68.002µs 68.625µs ± 0.334µs 68.563µs ± 0.185µs 68.817µs 69.272µs 69.594µs 69.828µs 1.85% 0.928 0.877 0.48% 0.024µs 1 200
credit_card/is_card_number/378282246310005 throughput 14320803.056op/s 14572301.753op/s ± 70514.389op/s 14585030.654op/s ± 39430.247op/s 14620337.255op/s 14661856.548op/s 14685910.447op/s 14705451.321op/s 0.83% -0.899 0.797 0.48% 4986.120op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.652µs 44.933µs ± 0.108µs 44.942µs ± 0.073µs 45.009µs 45.106µs 45.135µs 45.139µs 0.44% -0.299 -0.486 0.24% 0.008µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22153732.199op/s 22255396.554op/s ± 53753.174op/s 22251027.738op/s ± 36129.678op/s 22290473.610op/s 22345437.107op/s 22385009.271op/s 22395184.011op/s 0.65% 0.310 -0.478 0.24% 3800.923op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.691µs 5.701µs ± 0.011µs 5.700µs ± 0.003µs 5.703µs 5.707µs 5.764µs 5.799µs 1.75% 6.683 51.128 0.20% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 172435476.708op/s 175409281.986op/s ± 344578.979op/s 175446979.938op/s ± 105760.179op/s 175552718.486op/s 175658184.588op/s 175678456.818op/s 175714230.790op/s 0.15% -6.633 50.553 0.20% 24365.413op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.891µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.918µs 3.920µs 0.19% -1.662 10.091 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255071758.259op/s 255580762.945op/s ± 207495.712op/s 255563503.585op/s ± 135401.960op/s 255717976.997op/s 255877616.168op/s 255922760.612op/s 257029485.011op/s 0.57% 1.685 10.282 0.08% 14672.162op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 59.918µs 60.966µs ± 0.584µs 60.941µs ± 0.406µs 61.324µs 62.020µs 62.220µs 62.477µs 2.52% 0.358 -0.527 0.96% 0.041µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 16005907.247op/s 16403953.669op/s ± 156745.278op/s 16409362.099op/s ± 109664.564op/s 16521633.850op/s 16645635.160op/s 16679426.074op/s 16689465.488op/s 1.71% -0.319 -0.559 0.95% 11083.565op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.517µs 53.781µs ± 0.092µs 53.791µs ± 0.062µs 53.855µs 53.906µs 53.960µs 53.998µs 0.38% -0.525 0.030 0.17% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18519369.478op/s 18593859.135op/s ± 31709.956op/s 18590573.100op/s ± 21505.643op/s 18611117.028op/s 18650696.902op/s 18677989.266op/s 18685806.262op/s 0.51% 0.534 0.041 0.17% 2242.233op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.891µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.917µs 3.920µs 3.923µs 0.28% -0.659 7.620 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254935626.511op/s 255635829.150op/s ± 215218.707op/s 255658979.519op/s ± 108120.986op/s 255758466.386op/s 255905440.890op/s 255948408.681op/s 257013518.992op/s 0.53% 0.682 7.760 0.08% 15218.261op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.166µs 50.524µs ± 0.176µs 50.509µs ± 0.080µs 50.582µs 50.925µs 51.075µs 51.307µs 1.58% 1.454 3.291 0.35% 0.012µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19490682.034op/s 19792714.823op/s ± 68496.676op/s 19798470.487op/s ± 31395.493op/s 19833260.088op/s 19880939.647op/s 19920261.915op/s 19933693.923op/s 0.68% -1.421 3.182 0.35% 4843.446op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.632µs 44.936µs ± 0.118µs 44.954µs ± 0.085µs 45.031µs 45.097µs 45.135µs 45.198µs 0.54% -0.453 -0.383 0.26% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22124633.517op/s 22253865.450op/s ± 58682.223op/s 22245107.972op/s ± 42120.593op/s 22292472.950op/s 22356414.590op/s 22403829.967op/s 22405385.973op/s 0.72% 0.464 -0.369 0.26% 4149.460op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.691µs 5.700µs ± 0.009µs 5.698µs ± 0.003µs 5.701µs 5.707µs 5.762µs 5.774µs 1.33% 5.612 37.882 0.16% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 173203870.924op/s 175451687.793op/s ± 283730.971op/s 175499649.001op/s ± 86300.326op/s 175580284.085op/s 175666091.412op/s 175693208.433op/s 175716816.980op/s 0.12% -5.571 37.468 0.16% 20062.809op/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.911µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255627860.354op/s; 255684613.759op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.327µs; 78.480µs] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12742747.051op/s; 12767541.444op/s] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.648µs; 71.789µs] or [-0.098%; +0.098%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13930476.845op/s; 13957768.964op/s] or [-0.098%; +0.098%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255568915.017op/s; 255621777.904op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.579µs; 68.671µs] or [-0.067%; +0.067%] None None None
credit_card/is_card_number/378282246310005 throughput [14562529.137op/s; 14582074.369op/s] or [-0.067%; +0.067%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [44.918µs; 44.948µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22247946.881op/s; 22262846.227op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.699µs; 5.703µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number/x371413321323331 throughput [175361526.653op/s; 175457037.318op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255552006.035op/s; 255609519.855op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [60.885µs; 61.047µs] or [-0.133%; +0.133%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [16382230.281op/s; 16425677.057op/s] or [-0.132%; +0.132%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.769µs; 53.794µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18589464.440op/s; 18598253.830op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255606001.907op/s; 255665656.393op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.500µs; 50.549µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19783221.843op/s; 19802207.804op/s] or [-0.048%; +0.048%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.920µs; 44.953µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22245732.658op/s; 22261998.242op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.698µs; 5.701µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [175412365.409op/s; 175491010.177op/s] or [-0.022%; +0.022%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz bc805f6 1767790512 jwiriath/APMSP-1584_refactor_health_metrics
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.243µs 204.890µs ± 0.360µs 204.838µs ± 0.234µs 205.087µs 205.603µs 205.887µs 206.120µs 0.63% 0.827 0.511 0.18% 0.025µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4851531.976op/s 4880672.572op/s ± 8569.073op/s 4881904.748op/s ± 5566.704op/s 4886655.189op/s 4891809.794op/s 4894254.888op/s 4896127.983op/s 0.29% -0.817 0.488 0.18% 605.925op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.562µs 18.670µs ± 0.089µs 18.635µs ± 0.026µs 18.686µs 18.834µs 19.001µs 19.098µs 2.48% 1.856 3.912 0.48% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 52362479.710op/s 53562400.205op/s ± 253517.620op/s 53661779.817op/s ± 75940.488op/s 53722765.797op/s 53786415.512op/s 53829608.532op/s 53872226.037op/s 0.39% -1.821 3.706 0.47% 17926.403op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.829µs 10.926µs ± 0.051µs 10.918µs ± 0.034µs 10.953µs 11.029µs 11.061µs 11.112µs 1.78% 0.782 0.598 0.46% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 89991492.343op/s 91524784.171op/s ± 423482.949op/s 91593480.259op/s ± 282038.308op/s 91829391.587op/s 92098295.663op/s 92208711.658op/s 92345942.106op/s 0.82% -0.754 0.530 0.46% 29944.766op/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 [204.840µs; 204.940µs] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4879484.981op/s; 4881860.163op/s] or [-0.024%; +0.024%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.658µs; 18.683µs] or [-0.066%; +0.066%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53527265.101op/s; 53597535.309op/s] or [-0.066%; +0.066%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.919µs; 10.933µs] or [-0.064%; +0.064%] None None None
normalization/normalize_name/normalize_name/good throughput [91466093.507op/s; 91583474.835op/s] or [-0.064%; +0.064%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Jan 7, 2026

Codecov Report

❌ Patch coverage is 81.40351% with 106 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.32%. Comparing base (0d4ebbe) to head (bc805f6).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1433      +/-   ##
==========================================
+ Coverage   71.23%   71.32%   +0.09%     
==========================================
  Files         411      412       +1     
  Lines       65788    65990     +202     
==========================================
+ Hits        46863    47069     +206     
+ Misses      18925    18921       -4     
Components Coverage Δ
libdd-crashtracker 58.72% <ø> (ø)
libdd-crashtracker-ffi 14.72% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.59% <81.40%> (+0.58%) ⬆️
libdd-data-pipeline-ffi 77.74% <ø> (ø)
libdd-common 81.06% <ø> (ø)
libdd-common-ffi 74.19% <ø> (ø)
libdd-telemetry 59.95% <ø> (ø)
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 80.84% <ø> (ø)
libdd-profiling-ffi 62.43% <ø> (ø)
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.

@Aaalibaba42 Aaalibaba42 marked this pull request as ready for review January 7, 2026 12:55
@Aaalibaba42 Aaalibaba42 requested a review from a team as a code owner January 7, 2026 12:55
@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 7, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 87.02 MB 87.00 MB --.02% (-23.66 KB) 💪
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.50 MB 7.44 MB --.83% (-64.00 KB) 💪
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.83 MB 58.82 MB --.01% (-12.03 KB) 💪
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.49 MB 8.49 MB -0% (-208 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.61 MB 9.61 MB -0% (-528 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.69 MB 100.65 MB --.03% (-39.41 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 20.04 MB 20.03 MB --.04% (-9.00 KB) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 73.49 KB 73.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 141.89 MB 141.89 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 746.12 MB 745.49 MB --.08% (-640.36 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.40 MB 6.39 MB --.16% (-11.00 KB) 💪
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 73.49 KB 73.49 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.88 MB 19.88 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.96 MB 38.94 MB --.06% (-24.47 KB) 💪
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 17.10 MB 17.09 MB --.05% (-9.00 KB) 💪
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 74.62 KB 74.62 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 144.59 MB 144.60 MB +0% (+8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 735.01 MB 734.38 MB --.08% (-652.47 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.92 MB 4.91 MB --.16% (-8.50 KB) 💪
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 74.62 KB 74.62 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 21.16 MB 21.16 MB --.03% (-8.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.76 MB 36.74 MB --.06% (-22.77 KB) 💪
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 75.30 MB 75.28 MB --.02% (-21.64 KB) 💪
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.93 MB 8.91 MB --.13% (-12.00 KB) 💪
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 60.17 MB 60.16 MB --.02% (-13.69 KB) 💪
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.54 MB 9.53 MB --.04% (-4.21 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.85 MB 94.83 MB --.02% (-28.65 KB) 💪
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.35 MB 10.35 MB --.07% (-8.21 KB) 💪

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