Skip to content

Add poisson upscaling without storing count in the sample types #908

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 6, 2025

Conversation

realFlowControl
Copy link
Member

@realFlowControl realFlowControl commented Mar 5, 2025

What does this PR do?

So far our poisson upscaling relied on the count of samples to be part of the sample data. This works fine for sample types where we also collect the count, like memory allocations, where we collect the alloc-size and alloc-count. In that case we can just use the alloc-count from the samples collected. In some cases, like I/O profiling, we add a lot of sample types (socket/file read/write times/bytes) but also adding the count for all of these operations would just bloat the resulting pprof, without a lot of value, so we need a way to inject the count to calculate the scale without having it in a sample type. This PR adds this.

Motivation

I/O profiling in PHP is such a feature, where we add 8 sample types already. Adding all the counts would add another 8 sample types for no value (besides upscaling, which we can solve differently).

Additional Notes

  • I am planing to release this as v15.1.0 as the PHP profiler is not yet on v16 and I do not want to mix to many things together.
  • The clippy errors are unrelated to the changes in this PR

How to test the change?

DataDog/dd-trace-php#3118

@github-actions github-actions bot added the profiling Relates to the profiling* modules. label Mar 5, 2025
@realFlowControl realFlowControl force-pushed the florian/poisson-upscaling branch from 7bb80e6 to f761446 Compare March 5, 2025 17:37
@pr-commenter
Copy link

pr-commenter bot commented Mar 5, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-03-06 08:19:09

Comparing candidate commit b8ed15a in PR branch florian/poisson-upscaling with baseline commit 4bc2c2e in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 52 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 b8ed15a 1741248463 florian/poisson-upscaling
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.217µs 33.694µs ± 0.818µs 33.317µs ± 0.040µs 33.416µs 35.429µs 35.521µs 36.671µs 10.07% 1.756 1.312 2.42% 0.058µ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.581µs; 33.808µs] or [-0.337%; +0.337%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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.225µs 3.121µs ± 1.296µs 2.952µs ± 0.028µs 2.974µs 3.577µs 8.436µs 16.251µs 450.56% 8.316 74.083 41.42% 0.092µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.941µs; 3.301µs] or [-5.754%; +5.754%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 245.793ns 255.763ns ± 11.963ns 251.045ns ± 3.031ns 258.825ns 277.135ns 294.541ns 295.990ns 17.90% 1.763 2.335 4.67% 0.846ns 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 [254.105ns; 257.421ns] or [-0.648%; +0.648%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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.896µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.919µs 3.921µs 3.923µs 0.19% -1.917 16.336 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 254921563.210op/s 255409227.468op/s ± 163388.785op/s 255407496.213op/s ± 85579.915op/s 255496009.045op/s 255628030.428op/s 255646133.542op/s 256670415.890op/s 0.49% 1.945 16.580 0.06% 11553.332op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 81.948µs 82.345µs ± 0.302µs 82.300µs ± 0.088µs 82.401µs 82.708µs 82.943µs 85.662µs 4.09% 6.781 70.834 0.37% 0.021µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11673805.550op/s 12144202.474op/s ± 43513.846op/s 12150719.115op/s ± 12938.317op/s 12161833.431op/s 12187870.755op/s 12200199.783op/s 12202813.969op/s 0.43% -6.492 66.570 0.36% 3076.894op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 76.483µs 77.150µs ± 0.322µs 77.120µs ± 0.221µs 77.360µs 77.740µs 78.027µs 78.171µs 1.36% 0.517 0.192 0.42% 0.023µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12792512.767op/s 12961914.600op/s ± 53935.620op/s 12966757.491op/s ± 37240.515op/s 13001680.649op/s 13039071.772op/s 13068539.662op/s 13074747.433op/s 0.83% -0.493 0.152 0.42% 3813.824op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.899µs 3.918µs ± 0.002µs 3.918µs ± 0.001µs 3.919µs 3.920µs 3.922µs 3.924µs 0.15% -4.289 44.551 0.05% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254868003.811op/s 255244915.530op/s ± 123608.444op/s 255254394.222op/s ± 48540.780op/s 255297453.383op/s 255359803.638op/s 255408965.645op/s 256457381.049op/s 0.47% 4.330 45.022 0.05% 8740.437op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 72.846µs 73.621µs ± 0.484µs 73.558µs ± 0.260µs 73.827µs 74.335µs 74.643µs 77.054µs 4.75% 2.538 13.961 0.66% 0.034µs 1 200
credit_card/is_card_number/378282246310005 throughput 12977976.752op/s 13583600.362op/s ± 87969.031op/s 13594775.796op/s ± 48132.758op/s 13640716.128op/s 13693646.722op/s 13724022.900op/s 13727672.242op/s 0.98% -2.358 12.449 0.65% 6220.350op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.974µs 52.179µs ± 0.077µs 52.182µs ± 0.046µs 52.225µs 52.321µs 52.356µs 52.371µs 0.36% 0.078 0.116 0.15% 0.005µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19094594.022op/s 19164744.563op/s ± 28107.443op/s 19163854.097op/s ± 16894.048op/s 19181492.738op/s 19209580.403op/s 19231130.890op/s 19240543.674op/s 0.40% -0.069 0.116 0.15% 1987.496op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.498µs 6.680µs ± 0.064µs 6.680µs ± 0.039µs 6.718µs 6.789µs 6.807µs 6.845µs 2.47% -0.324 0.296 0.96% 0.005µs 1 200
credit_card/is_card_number/x371413321323331 throughput 146089598.430op/s 149711061.114op/s ± 1439476.780op/s 149695865.660op/s ± 880220.015op/s 150622990.144op/s 152203864.048op/s 153426023.283op/s 153900756.644op/s 2.81% 0.387 0.349 0.96% 101786.379op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.896µs 3.916µs ± 0.003µs 3.916µs ± 0.001µs 3.917µs 3.920µs 3.923µs 3.935µs 0.48% -0.091 27.585 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254143615.622op/s 255338512.754op/s ± 170499.497op/s 255363968.145op/s ± 68159.915op/s 255423824.657op/s 255478946.827op/s 255503200.597op/s 256646351.678op/s 0.50% 0.150 27.693 0.07% 12056.135op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 63.656µs 63.882µs ± 0.096µs 63.866µs ± 0.032µs 63.902µs 64.027µs 64.377µs 64.383µs 0.81% 2.759 11.256 0.15% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15532136.435op/s 15653810.725op/s ± 23397.311op/s 15657749.911op/s ± 7845.303op/s 15664648.805op/s 15677319.232op/s 15693165.658op/s 15709317.196op/s 0.33% -2.734 11.111 0.15% 1654.440op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.451µs 57.562µs ± 0.111µs 57.531µs ± 0.041µs 57.588µs 57.724µs 57.887µs 58.495µs 1.68% 3.757 24.670 0.19% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17095555.509op/s 17372662.859op/s ± 33205.504op/s 17381938.428op/s ± 12320.489op/s 17392261.316op/s 17402242.540op/s 17404170.474op/s 17406012.037op/s 0.14% -3.685 23.827 0.19% 2347.984op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.895µs 3.916µs ± 0.003µs 3.916µs ± 0.001µs 3.917µs 3.920µs 3.922µs 3.937µs 0.54% 0.218 26.012 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 253989452.879op/s 255356302.707op/s ± 190061.468op/s 255373560.267op/s ± 83265.687op/s 255454269.725op/s 255533543.391op/s 255578717.449op/s 256753490.732op/s 0.54% -0.156 26.051 0.07% 13439.375op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.624µs 54.724µs ± 0.147µs 54.676µs ± 0.024µs 54.712µs 55.119µs 55.208µs 55.506µs 1.52% 3.020 9.234 0.27% 0.010µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 18015910.707op/s 18273601.632op/s ± 48749.327op/s 18289409.517op/s ± 8057.199op/s 18295745.324op/s 18303109.241op/s 18306345.016op/s 18306852.255op/s 0.10% -3.003 9.096 0.27% 3447.098op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.957µs 52.160µs ± 0.081µs 52.160µs ± 0.056µs 52.210µs 52.300µs 52.353µs 52.459µs 0.57% 0.263 0.384 0.16% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19062642.225op/s 19171938.527op/s ± 29851.490op/s 19171739.897op/s ± 20578.232op/s 19192785.434op/s 19219273.472op/s 19232188.012op/s 19246661.606op/s 0.39% -0.252 0.367 0.16% 2110.819op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.481µs 6.660µs ± 0.066µs 6.660µs ± 0.053µs 6.715µs 6.766µs 6.799µs 6.842µs 2.73% -0.054 -0.181 0.99% 0.005µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 146145813.380op/s 150169047.412op/s ± 1497807.814op/s 150139901.813op/s ± 1174836.600op/s 151232621.297op/s 152495736.842op/s 153553904.922op/s 154308636.613op/s 2.78% 0.109 -0.168 0.99% 105911.006op/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.915µs; 3.916µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255386583.354op/s; 255431871.582op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.303µs; 82.387µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12138171.874op/s; 12150233.075op/s] or [-0.050%; +0.050%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [77.106µs; 77.195µs] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/ 378282246310005 throughput [12954439.642op/s; 12969389.558op/s] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/37828224631 execution_time [3.918µs; 3.918µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/37828224631 throughput [255227784.589op/s; 255262046.472op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/378282246310005 execution_time [73.554µs; 73.688µs] or [-0.091%; +0.091%] None None None
credit_card/is_card_number/378282246310005 throughput [13571408.701op/s; 13595792.024op/s] or [-0.090%; +0.090%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.169µs; 52.190µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19160849.141op/s; 19168639.984op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.671µs; 6.689µs] or [-0.133%; +0.133%] None None None
credit_card/is_card_number/x371413321323331 throughput [149511563.476op/s; 149910558.751op/s] or [-0.133%; +0.133%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.916µs; 3.917µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255314883.163op/s; 255362142.344op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [63.869µs; 63.896µs] or [-0.021%; +0.021%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15650568.082op/s; 15657053.367op/s] or [-0.021%; +0.021%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [57.547µs; 57.577µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17368060.896op/s; 17377264.823op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.916µs; 3.917µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255329962.015op/s; 255382643.398op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.704µs; 54.745µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18266845.444op/s; 18280357.820op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.148µs; 52.171µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19167801.398op/s; 19176075.657op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.651µs; 6.669µs] or [-0.138%; +0.138%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [149961465.654op/s; 150376629.170op/s] or [-0.138%; +0.138%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 208.594µs 209.074µs ± 0.206µs 209.050µs ± 0.137µs 209.209µs 209.413µs 209.629µs 209.964µs 0.44% 0.643 1.096 0.10% 0.015µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4762720.598op/s 4783003.941op/s ± 4710.114op/s 4783549.692op/s ± 3132.270op/s 4786388.787op/s 4789348.682op/s 4791862.511op/s 4793997.276op/s 0.22% -0.635 1.071 0.10% 333.055op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.240µs 18.314µs ± 0.036µs 18.308µs ± 0.018µs 18.331µs 18.364µs 18.410µs 18.546µs 1.30% 2.147 10.704 0.20% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53919162.131op/s 54602564.797op/s ± 107351.020op/s 54620786.402op/s ± 53666.157op/s 54666472.254op/s 54756630.073op/s 54768097.786op/s 54823931.177op/s 0.37% -2.099 10.361 0.20% 7590.863op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.674µs 10.731µs ± 0.019µs 10.733µs ± 0.013µs 10.744µs 10.762µs 10.770µs 10.779µs 0.43% -0.149 -0.326 0.18% 0.001µs 1 200
normalization/normalize_name/normalize_name/good throughput 92771149.264op/s 93189458.438op/s ± 167318.549op/s 93174138.026op/s ± 112028.090op/s 93309710.883op/s 93469839.642op/s 93540747.831op/s 93687398.218op/s 0.55% 0.158 -0.321 0.18% 11831.208op/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 [209.045µs; 209.102µs] or [-0.014%; +0.014%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4782351.165op/s; 4783656.718op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.309µs; 18.319µs] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54587686.978op/s; 54617442.616op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.728µs; 10.734µs] or [-0.025%; +0.025%] None None None
normalization/normalize_name/normalize_name/good throughput [93166269.696op/s; 93212647.180op/s] or [-0.025%; +0.025%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 54.670ms 55.506ms ± 0.544ms 55.597ms ± 0.502ms 55.998ms 56.347ms 56.434ms 56.495ms 1.62% 0.059 -1.435 0.98% 0.038ms 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 [55.430ms; 55.581ms] or [-0.136%; +0.136%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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.394µs 2.423µs ± 0.020µs 2.420µs ± 0.011µs 2.430µs 2.480µs 2.486µs 2.488µs 2.83% 1.756 2.983 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.421µs; 2.426µs] or [-0.114%; +0.114%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 147.414µs 148.231µs ± 0.386µs 148.192µs ± 0.180µs 148.373µs 148.781µs 149.309µs 151.281µs 2.08% 2.797 18.809 0.26% 0.027µ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 [148.178µs; 148.285µs] or [-0.036%; +0.036%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 504.823µs 505.803µs ± 0.592µs 505.797µs ± 0.250µs 506.041µs 506.302µs 506.516µs 512.477µs 1.32% 7.091 78.770 0.12% 0.042µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1951305.602op/s 1977057.403op/s ± 2296.936op/s 1977078.195op/s ± 976.461op/s 1978110.232op/s 1979777.617op/s 1980794.376op/s 1980890.787op/s 0.19% -6.985 77.232 0.12% 162.418op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 454.177µs 454.900µs ± 0.338µs 454.864µs ± 0.233µs 455.107µs 455.566µs 455.780µs 456.265µs 0.31% 0.791 1.133 0.07% 0.024µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2191707.565op/s 2198284.989op/s ± 1632.208op/s 2198457.870op/s ± 1126.959op/s 2199463.881op/s 2200665.057op/s 2201084.823op/s 2201783.555op/s 0.15% -0.786 1.117 0.07% 115.415op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 175.121µs 176.404µs ± 0.352µs 176.414µs ± 0.219µs 176.636µs 176.927µs 177.114µs 177.245µs 0.47% -0.575 0.669 0.20% 0.025µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5641898.001op/s 5668821.330op/s ± 11316.714op/s 5668500.043op/s ± 7037.940op/s 5675336.493op/s 5688983.338op/s 5697579.313op/s 5710339.014op/s 0.74% 0.589 0.694 0.20% 800.213op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.625µs 37.711µs ± 0.040µs 37.709µs ± 0.025µs 37.735µs 37.778µs 37.826µs 37.841µs 0.35% 0.453 0.337 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26426659.337op/s 26517363.399op/s ± 28316.835op/s 26518718.940op/s ± 17844.829op/s 26536534.791op/s 26561450.994op/s 26571733.040op/s 26577995.058op/s 0.22% -0.447 0.327 0.11% 2002.303op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.212µs 48.325µs ± 0.048µs 48.322µs ± 0.032µs 48.359µs 48.402µs 48.446µs 48.460µs 0.28% 0.108 -0.085 0.10% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20635643.478op/s 20693206.221op/s ± 20745.281op/s 20694446.845op/s ± 13782.738op/s 20706026.082op/s 20726288.014op/s 20740470.186op/s 20741900.052op/s 0.23% -0.103 -0.087 0.10% 1466.913op/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 [505.721µs; 505.885µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1976739.070op/s; 1977375.736op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [454.853µs; 454.947µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2198058.781op/s; 2198511.198op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [176.355µs; 176.453µs] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5667252.942op/s; 5670389.717op/s] or [-0.028%; +0.028%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.706µs; 37.717µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26513438.958op/s; 26521287.840op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [48.318µs; 48.332µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20690331.125op/s; 20696081.318op/s] or [-0.014%; +0.014%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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.975µs 5.057µs ± 0.046µs 5.059µs ± 0.049µs 5.078µs 5.127µs 5.130µs 5.147µs 1.74% -0.002 -1.168 0.90% 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.051µs; 5.064µs] or [-0.125%; +0.125%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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.974µs 26.426µs ± 11.853µs 18.398µs ± 0.332µs 35.635µs 45.262µs 58.679µs 105.401µs 472.90% 2.273 9.868 44.74% 0.838µ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.783µs; 28.069µs] or [-6.216%; +6.216%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 68.630µs 68.837µs ± 0.233µs 68.768µs ± 0.059µs 68.900µs 69.100µs 69.270µs 71.405µs 3.83% 7.013 72.605 0.34% 0.016µ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 [68.805µs; 68.869µs] or [-0.047%; +0.047%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz b8ed15a 1741248463 florian/poisson-upscaling
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 5.934ms 5.951ms ± 0.007ms 5.951ms ± 0.004ms 5.955ms 5.960ms 5.979ms 5.995ms 0.75% 1.434 6.931 0.12% 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 [5.950ms; 5.952ms] or [-0.017%; +0.017%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Mar 5, 2025

Codecov Report

Attention: Patch coverage is 80.95238% with 12 lines in your changes missing coverage. Please review.

Project coverage is 72.21%. Comparing base (4bc2c2e) to head (b8ed15a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #908   +/-   ##
=======================================
  Coverage   72.21%   72.21%           
=======================================
  Files         330      330           
  Lines       49065    49128   +63     
=======================================
+ Hits        35430    35480   +50     
- Misses      13635    13648   +13     
Components Coverage Δ
crashtracker 42.93% <ø> (+0.02%) ⬆️
crashtracker-ffi 6.25% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 92.33% <ø> (ø)
data-pipeline-ffi 90.39% <ø> (ø)
ddcommon 79.19% <ø> (ø)
ddcommon-ffi 61.05% <ø> (ø)
ddtelemetry 61.74% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 89.59% <ø> (ø)
dogstatsd-client 82.57% <ø> (ø)
ipc 82.73% <ø> (+0.10%) ⬆️
profiling 82.00% <80.95%> (-0.02%) ⬇️
profiling-ffi 70.68% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 40.88% <ø> (ø)
sidecar-ffi 5.14% <ø> (ø)
spawn-worker 54.37% <ø> (ø)
tinybytes 92.00% <ø> (ø)
trace-mini-agent 74.94% <ø> (ø)
trace-normalization 98.23% <ø> (ø)
trace-obfuscation 95.96% <ø> (ø)
trace-protobuf 78.13% <ø> (ø)
trace-utils 93.77% <ø> (ø)
🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@realFlowControl realFlowControl requested a review from ivoanjo March 5, 2025 19:31
@realFlowControl realFlowControl marked this pull request as ready for review March 5, 2025 19:33
@realFlowControl realFlowControl requested a review from a team as a code owner March 5, 2025 19:33
Copy link
Contributor

@morrisonlevi morrisonlevi left a comment

Choose a reason for hiding this comment

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

I have a code style suggestion that clippy would probably give too. Aside from that, it looks fine to me, although I did not check the upscaling math--maybe someone more familiar can look at it.

Comment on lines +166 to +170
} => write!(
f,
"Poisson = sum_value_offset: {}, count_value: {}, sampling_distance: {}",
sum_value_offset, count_value, sampling_distance
),
Copy link
Contributor

Choose a reason for hiding this comment

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

Clippy would probably suggest this:

Suggested change
} => write!(
f,
"Poisson = sum_value_offset: {}, count_value: {}, sampling_distance: {}",
sum_value_offset, count_value, sampling_distance
),
} => write!(
f,
"Poisson = sum_value_offset: {sum_value_offset}, count_value: {count_value}, sampling_distance: {sampling_distance}"
),

(or something close, writing code in a text box in a browser is hard)

This kind of thing is repeated a few times in this file (in and out of the PR).

Copy link
Member Author

@realFlowControl realFlowControl Mar 5, 2025

Choose a reason for hiding this comment

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

Interestingly clippy does not complain, but I see value in the proposed change.
I'd tend keep it as is for consistency reasons and clean up all of this in follow-up PR, WDYT?

Copy link
Member Author

Choose a reason for hiding this comment

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

See #913

Copy link
Contributor

@gleocadie gleocadie left a comment

Choose a reason for hiding this comment

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

LGTM

@realFlowControl realFlowControl changed the title poisson upscaling without storing count in the sample types Add poisson upscaling without storing count in the sample types Mar 6, 2025
@realFlowControl realFlowControl merged commit 8fdbf3b into main Mar 6, 2025
41 checks passed
@realFlowControl realFlowControl deleted the florian/poisson-upscaling branch March 6, 2025 08:47
realFlowControl added a commit that referenced this pull request Mar 6, 2025
* Add poisson upscaling without storing count in the sample types (#908)

* prepare v15.1.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
profiling Relates to the profiling* modules.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants