Skip to content

test(telemetry): flush metrics with heartbeats if the interval is small - #1418

Merged
paullegranddc merged 3 commits into
mainfrom
paullgdc/telemetry/flush_metrics_faster
Jan 13, 2026
Merged

paullegranddc merged 3 commits into
mainfrom
paullgdc/telemetry/flush_metrics_faster

Conversation

@paullegranddc

Copy link
Copy Markdown
Collaborator

Motivation

Tests usually set the telemetry hearbeat interval to a small value to not have to wait to get data. For these tests also want to get telemetry metrics fast. This PR changes the metics flush interval to the heartbeat value if the hearbeat interval is set to a shorter duration than the default metrics flush interval.

# Motivation

Tests usually set the telemetry hearbeat interval to a small value to not have to wait to get data.
For these tests also want to get telemetry metrics fast.
This PR changes the metics flush interval to the heartbeat value if the hearbeat interval is set to a shorter duration than the default metrics flush interval.
@paullegranddc
paullegranddc requested a review from a team as a code owner December 18, 2025 16:38
@codecov-commenter

codecov-commenter commented Dec 18, 2025 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 71.31%. Comparing base (9ea31cc) to head (17e14f3).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1418      +/-   ##
==========================================
- Coverage   71.31%   71.31%   -0.01%     
==========================================
  Files         413      413              
  Lines       66148    66150       +2     
==========================================
+ Hits        47174    47175       +1     
- Misses      18974    18975       +1     
Components Coverage Δ
libdd-crashtracker 58.67% <ø> (+0.07%) ⬆️
libdd-crashtracker-ffi 14.37% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.17% <ø> (ø)
libdd-data-pipeline-ffi 77.01% <ø> (ø)
libdd-common 81.11% <ø> (ø)
libdd-common-ffi 74.19% <ø> (ø)
libdd-telemetry 60.26% <87.50%> (+0.30%) ⬆️
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.61% <ø> (ø)
libdd-profiling 81.04% <ø> (ø)
libdd-profiling-ffi 62.43% <ø> (ø)
datadog-sidecar 35.99% <ø> (ø)
datdog-sidecar-ffi 11.46% <ø> (ø)
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.74% <ø> (ø)
datadog-tracer-flare 61.06% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 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 Dec 18, 2025 •

Copy link
Copy Markdown

Benchmarks

Comparison

Benchmark execution time: 2026-01-12 17:34:59

Comparing candidate commit 17e14f3 in PR branch paullgdc/telemetry/flush_metrics_faster with baseline commit 9ea31cc in branch main.

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

scenario:concentrator/add_spans_to_concentrator

  • 🟩 execution_time [-561.230µs; -555.712µs] or [-5.036%; -4.987%]

scenario:single_flag_killswitch/rules-based

  • 🟥 execution_time [+52.796ns; +53.895ns] or [+27.714%; +28.290%]

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 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 239.155ns 243.850ns ± 3.275ns 243.499ns ± 2.318ns 246.267ns 250.014ns 252.314ns 253.163ns 3.97% 0.606 -0.201 1.34% 0.232ns 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 [243.397ns; 244.304ns] or [-0.186%; +0.186%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.890µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.912µs 3.917µs 3.920µs 3.921µs 0.25% -1.058 14.247 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 255066440.469op/s 255674447.318op/s ± 193029.277op/s 255694643.197op/s ± 90955.455op/s 255782573.015op/s 255866092.938op/s 255939561.791op/s 257090473.828op/s 0.55% 1.092 14.487 0.08% 13649.231op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.997µs 81.978µs ± 0.617µs 82.031µs ± 0.414µs 82.445µs 82.874µs 83.056µs 83.107µs 1.31% -0.571 0.049 0.75% 0.044µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12032705.683op/s 12199082.682op/s ± 92228.845op/s 12190451.222op/s ± 61807.882op/s 12252257.102op/s 12366993.139op/s 12426859.281op/s 12500514.878op/s 2.54% 0.611 0.125 0.75% 6521.564op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 74.572µs 74.911µs ± 0.139µs 74.888µs ± 0.069µs 74.980µs 75.154µs 75.263µs 75.769µs 1.18% 1.284 6.727 0.19% 0.010µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13197959.044op/s 13349272.691op/s ± 24736.637op/s 13353351.403op/s ± 12294.211op/s 13362963.878op/s 13385373.201op/s 13408575.978op/s 13409858.928op/s 0.42% -1.245 6.494 0.18% 1749.144op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.893µs 3.911µs ± 0.007µs 3.911µs ± 0.001µs 3.912µs 3.915µs 3.918µs 3.979µs 1.76% 8.156 75.469 0.17% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 251292554.753op/s 255664617.858op/s ± 439749.968op/s 255719396.318op/s ± 75068.577op/s 255778728.693op/s 255878101.410op/s 255924124.069op/s 256868468.979op/s 0.45% -8.099 74.806 0.17% 31095.018op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 71.497µs 72.052µs ± 0.171µs 72.042µs ± 0.098µs 72.153µs 72.338µs 72.471µs 72.641µs 0.83% 0.282 1.248 0.24% 0.012µs 1 200
credit_card/is_card_number/378282246310005 throughput 13766296.225op/s 13878923.931op/s ± 33010.638op/s 13880737.701op/s ± 18965.218op/s 13897647.824op/s 13931241.228op/s 13947771.914op/s 13986543.134op/s 0.76% -0.260 1.234 0.24% 2334.205op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.138µs 52.189µs ± 0.024µs 52.185µs ± 0.015µs 52.202µs 52.232µs 52.259µs 52.285µs 0.19% 0.969 1.669 0.05% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19126039.605op/s 19161118.310op/s ± 8722.577op/s 19162476.039op/s ± 5643.789op/s 19167058.535op/s 19171791.212op/s 19176622.051op/s 19179742.356op/s 0.09% -0.965 1.658 0.05% 616.779op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.734µs 5.895µs ± 0.059µs 5.896µs ± 0.037µs 5.933µs 5.994µs 6.031µs 6.038µs 2.42% -0.040 -0.223 1.00% 0.004µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165611392.182op/s 169652980.716op/s ± 1700367.591op/s 169614803.236op/s ± 1056972.859op/s 170675931.477op/s 172524670.503op/s 173481380.451op/s 174402069.213op/s 2.82% 0.093 -0.214 1.00% 120234.145op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.912µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.916µs 3.918µs 3.921µs 0.24% -0.894 9.926 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255057034.585op/s 255652535.147op/s ± 182809.092op/s 255676204.294op/s ± 105976.564op/s 255771603.563op/s 255853917.103op/s 255934679.820op/s 256893536.022op/s 0.48% 0.918 10.083 0.07% 12926.555op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.089µs 64.274µs ± 0.095µs 64.261µs ± 0.049µs 64.317µs 64.407µs 64.673µs 64.856µs 0.93% 2.271 9.576 0.15% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15418889.721op/s 15558508.285op/s ± 22924.903op/s 15561556.731op/s ± 11804.976op/s 15571904.004op/s 15585634.956op/s 15595917.211op/s 15603295.416op/s 0.27% -2.242 9.387 0.15% 1621.035op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.200µs 57.529µs ± 0.149µs 57.502µs ± 0.059µs 57.571µs 57.787µs 57.996µs 58.778µs 2.22% 3.615 24.573 0.26% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17013151.557op/s 17382716.841op/s ± 44673.901op/s 17390642.098op/s ± 17835.634op/s 17407133.443op/s 17425944.446op/s 17453406.744op/s 17482508.700op/s 0.53% -3.512 23.451 0.26% 3158.922op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.911µs ± 0.002µs 3.911µs ± 0.001µs 3.912µs 3.915µs 3.917µs 3.917µs 0.16% -1.835 17.808 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255287480.960op/s 255693242.652op/s ± 147204.956op/s 255703324.146op/s ± 78014.320op/s 255778229.782op/s 255846095.801op/s 255881346.170op/s 256848962.464op/s 0.45% 1.864 18.051 0.06% 10408.962op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.573µs 54.797µs ± 0.180µs 54.741µs ± 0.077µs 54.857µs 55.145µs 55.478µs 55.647µs 1.65% 1.929 4.750 0.33% 0.013µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17970455.981op/s 18249207.137op/s ± 59667.987op/s 18267857.705op/s ± 25566.857op/s 18286007.551op/s 18312068.295op/s 18321920.732op/s 18324022.794op/s 0.31% -1.900 4.596 0.33% 4219.164op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.146µs 52.197µs ± 0.031µs 52.191µs ± 0.019µs 52.211µs 52.262µs 52.286µs 52.309µs 0.23% 1.078 1.117 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19117053.019op/s 19158362.492op/s ± 11398.128op/s 19160463.342op/s ± 6877.806op/s 19167174.297op/s 19173033.129op/s 19175088.818op/s 19176817.146op/s 0.09% -1.074 1.107 0.06% 805.969op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.765µs 5.912µs ± 0.052µs 5.919µs ± 0.037µs 5.952µs 5.995µs 6.005µs 6.033µs 1.91% -0.285 -0.139 0.87% 0.004µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165767883.203op/s 169168100.817op/s ± 1481060.693op/s 168934503.990op/s ± 1044426.904op/s 170206881.619op/s 171569041.201op/s 172938404.692op/s 173472121.973op/s 2.69% 0.332 -0.088 0.87% 104726.806op/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.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255647695.317op/s; 255701199.320op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [81.893µs; 82.064µs] or [-0.104%; +0.104%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12186300.651op/s; 12211864.713op/s] or [-0.105%; +0.105%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [74.891µs; 74.930µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13345844.431op/s; 13352700.951op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number/37828224631 execution_time [3.910µs; 3.912µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/37828224631 throughput [255603672.742op/s; 255725562.975op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/378282246310005 execution_time [72.028µs; 72.076µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/378282246310005 throughput [13874348.974op/s; 13883498.888op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.186µs; 52.192µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19159909.445op/s; 19162327.176op/s] or [-0.006%; +0.006%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.887µs; 5.903µs] or [-0.139%; +0.139%] None None None
credit_card/is_card_number/x371413321323331 throughput [169417326.121op/s; 169888635.311op/s] or [-0.139%; +0.139%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255627199.565op/s; 255677870.729op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.260µs; 64.287µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15555331.114op/s; 15561685.456op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [57.508µs; 57.549µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17376525.468op/s; 17388908.214op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.911µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255672841.461op/s; 255713643.843op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.773µs; 54.822µs] or [-0.046%; +0.046%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18240937.728op/s; 18257476.547op/s] or [-0.045%; +0.045%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.192µs; 52.201µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19156782.821op/s; 19159942.163op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.905µs; 5.919µs] or [-0.121%; +0.121%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [168962840.049op/s; 169373361.585op/s] or [-0.121%; +0.121%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.091µs 162.261µs ± 0.343µs 162.236µs ± 0.170µs 162.430µs 162.695µs 163.290µs 164.214µs 1.22% 1.351 7.235 0.21% 0.024µ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.214µs; 162.309µs] 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 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.551ms 10.585ms ± 0.015ms 10.584ms ± 0.009ms 10.592ms 10.610ms 10.633ms 10.642ms 0.55% 0.978 2.111 0.14% 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.583ms; 10.587ms] or [-0.019%; +0.019%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.853µs 25.409µs ± 9.465µs 18.069µs ± 0.176µs 33.806µs 41.866µs 51.502µs 67.610µs 274.17% 1.024 0.901 37.16% 0.669µ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.098µs; 26.721µs] or [-5.162%; +5.162%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 240.597ns 252.422ns ± 14.429ns 245.145ns ± 2.834ns 256.008ns 285.414ns 293.532ns 295.993ns 20.74% 1.558 1.221 5.70% 1.020ns 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 [250.422ns; 254.422ns] or [-0.792%; +0.792%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 186.522µs 187.092µs ± 0.558µs 186.900µs ± 0.138µs 187.130µs 188.267µs 189.080µs 190.448µs 1.90% 2.601 8.319 0.30% 0.039µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5250790.211op/s 5345023.163op/s ± 15829.522op/s 5350463.019op/s ± 3936.597op/s 5353915.032op/s 5357235.426op/s 5358990.824op/s 5361310.079op/s 0.20% -2.570 8.062 0.30% 1119.316op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.590µs 17.689µs ± 0.091µs 17.682µs ± 0.036µs 17.718µs 17.767µs 17.848µs 18.764µs 6.12% 8.397 96.693 0.51% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53294014.194op/s 56533054.575op/s ± 278290.558op/s 56554328.566op/s ± 114191.441op/s 56665684.855op/s 56782543.516op/s 56831390.022op/s 56851425.905op/s 0.53% -7.971 89.995 0.49% 19678.114op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 9.907µs 10.116µs ± 0.116µs 10.183µs ± 0.031µs 10.200µs 10.226µs 10.235µs 10.246µs 0.63% -0.665 -1.437 1.14% 0.008µs 1 200
normalization/normalize_name/normalize_name/good throughput 97595455.009op/s 98870241.851op/s ± 1141854.732op/s 98207307.442op/s ± 296784.067op/s 100295778.166op/s 100627661.305op/s 100782839.879op/s 100934253.568op/s 2.78% 0.669 -1.433 1.15% 80741.322op/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 [187.014µs; 187.169µs] or [-0.041%; +0.041%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5342829.344op/s; 5347216.983op/s] or [-0.041%; +0.041%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.677µs; 17.702µs] or [-0.071%; +0.071%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [56494486.180op/s; 56571622.969op/s] or [-0.068%; +0.068%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.100µs; 10.132µs] or [-0.159%; +0.159%] None None None
normalization/normalize_name/normalize_name/good throughput [98711991.767op/s; 99028491.935op/s] or [-0.160%; +0.160%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 59.710ms 60.143ms ± 2.140ms 59.857ms ± 0.053ms 59.926ms 60.225ms 68.225ms 81.813ms 36.68% 8.927 81.307 3.55% 0.151ms 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 [59.847ms; 60.440ms] or [-0.493%; +0.493%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 89.697µs 89.840µs ± 0.249µs 89.812µs ± 0.039µs 89.857µs 89.933µs 90.247µs 93.142µs 3.71% 11.860 153.057 0.28% 0.018µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [89.805µs; 89.874µs] or [-0.038%; +0.038%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 495.244µs 496.161µs ± 0.742µs 496.039µs ± 0.291µs 496.378µs 496.973µs 497.539µs 502.775µs 1.36% 5.488 42.697 0.15% 0.052µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1988961.045op/s 2015478.915op/s ± 2989.289op/s 2015971.309op/s ± 1182.575op/s 2016888.472op/s 2018096.553op/s 2018926.750op/s 2019206.694op/s 0.16% -5.423 41.952 0.15% 211.375op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.678µs 371.343µs ± 0.269µs 371.351µs ± 0.181µs 371.508µs 371.782µs 371.946µs 372.351µs 0.27% 0.333 0.360 0.07% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2685635.191op/s 2692932.168op/s ± 1951.285op/s 2692872.610op/s ± 1309.702op/s 2694265.946op/s 2695844.455op/s 2697034.430op/s 2697759.241op/s 0.18% -0.328 0.351 0.07% 137.977op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 169.385µs 169.964µs ± 0.332µs 169.921µs ± 0.093µs 170.059µs 170.203µs 170.441µs 174.059µs 2.43% 9.388 113.470 0.20% 0.024µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5745191.408op/s 5883608.481op/s ± 11301.466op/s 5885073.278op/s ± 3209.956op/s 5887425.712op/s 5893106.894op/s 5897176.197op/s 5903719.398op/s 0.32% -9.228 110.888 0.19% 799.134op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.238µs 37.372µs ± 0.059µs 37.362µs ± 0.035µs 37.407µs 37.477µs 37.522µs 37.590µs 0.61% 0.612 0.585 0.16% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26602657.894op/s 26758214.211op/s ± 42175.941op/s 26765171.105op/s ± 25056.102op/s 26786571.537op/s 26817114.341op/s 26847219.561op/s 26853993.221op/s 0.33% -0.601 0.567 0.16% 2982.289op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.166µs 46.326µs ± 0.174µs 46.313µs ± 0.042µs 46.355µs 46.412µs 46.533µs 48.589µs 4.91% 11.019 140.629 0.38% 0.012µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20580870.797op/s 21586529.254op/s ± 78021.143op/s 21592254.059op/s ± 19348.014op/s 21610502.027op/s 21642556.223op/s 21654138.474op/s 21660930.982op/s 0.32% -10.778 136.493 0.36% 5516.928op/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 [496.058µs; 496.264µs] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2015064.629op/s; 2015893.202op/s] or [-0.021%; +0.021%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [371.305µs; 371.380µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2692661.739op/s; 2693202.598op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [169.918µs; 170.010µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5882042.207op/s; 5885174.756op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.364µs; 37.380µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26752369.031op/s; 26764059.391op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.302µs; 46.350µs] or [-0.052%; +0.052%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21575716.274op/s; 21597342.234op/s] or [-0.050%; +0.050%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.617ms 9.949ms ± 0.072ms 9.953ms ± 0.032ms 9.984ms 10.050ms 10.097ms 10.149ms 1.97% -1.381 5.161 0.72% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [9.939ms; 9.959ms] or [-0.101%; +0.101%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.927µs 4.997µs ± 0.053µs 4.962µs ± 0.018µs 5.044µs 5.090µs 5.092µs 5.099µs 2.74% 0.711 -1.144 1.07% 0.004µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [4.989µs; 5.004µs] or [-0.148%; +0.148%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 147.155µs 148.872µs ± 1.855µs 148.557µs ± 0.589µs 149.183µs 150.825µs 154.999µs 166.747µs 12.24% 6.126 50.010 1.24% 0.131µ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 [148.615µs; 149.129µs] or [-0.173%; +0.173%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.360µs 2.412µs ± 0.015µs 2.412µs ± 0.004µs 2.417µs 2.440µs 2.447µs 2.448µs 1.46% -0.916 3.436 0.61% 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.410µs; 2.414µs] or [-0.085%; +0.085%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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 529.800µs 530.488µs ± 0.532µs 530.389µs ± 0.212µs 530.636µs 531.197µs 532.036µs 535.670µs 1.00% 5.093 43.905 0.10% 0.038µ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 [530.414µs; 530.562µs] or [-0.014%; +0.014%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.899ms 3.905ms ± 0.007ms 3.905ms ± 0.002ms 3.907ms 3.910ms 3.914ms 3.998ms 2.38% 10.063 123.196 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_frames_x1000 execution_time [3.904ms; 3.906ms] or [-0.026%; +0.026%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.175µs 3.208µs ± 1.407µs 2.999µs ± 0.025µs 3.024µs 3.643µs 13.807µs 14.791µs 393.25% 7.332 55.045 43.75% 0.099µ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.013µs; 3.403µs] or [-6.079%; +6.079%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.380µs 33.883µs ± 0.865µs 33.500µs ± 0.057µs 33.590µs 35.654µs 35.678µs 38.160µs 13.91% 1.963 2.981 2.55% 0.061µ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.763µs; 34.003µs] or [-0.354%; +0.354%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 17e14f3 1768238326 paullgdc/telemetry/flush_metrics_faster
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.752ms 14.817ms ± 0.038ms 14.812ms ± 0.019ms 14.831ms 14.882ms 14.966ms 15.012ms 1.35% 1.785 5.437 0.26% 0.003ms 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.812ms; 14.822ms] or [-0.036%; +0.036%] None None None

Baseline

Omitted due to size.

@ekump ekump left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is this something we can easily unit test? Otherwise LGTM.

@dd-octo-sts

dd-octo-sts Bot commented Dec 18, 2025

Copy link
Copy Markdown
Contributor

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 86.48 MB 86.48 MB +0% (+904 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 7.44 MB 7.44 MB 0% (0 B) 👌
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 58.49 MB 58.49 MB +0% (+544 B) 👌
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 8.45 MB 8.45 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.27 MB 100.28 MB +0% (+1.44 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 9.61 MB 9.61 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 19.72 MB 19.72 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 140.14 MB 140.20 MB +.04% (+64.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 745.03 MB 745.03 MB +0% (+2.77 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 6.37 MB 6.37 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 69.82 KB 69.82 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 19.75 MB 19.75 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 38.79 MB 38.79 MB +0% (+238 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 16.83 MB 16.83 MB +0% (+512 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 142.76 MB 142.81 MB +.03% (+48.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 733.36 MB 733.37 MB +0% (+4.51 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 4.89 MB 4.89 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 70.90 KB 70.90 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 20.99 MB 20.98 MB --.03% (-8.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 36.54 MB 36.54 MB +0% (+392 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 74.80 MB 74.81 MB +0% (+640 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 8.88 MB 8.88 MB 0% (0 B) 👌
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 59.83 MB 59.83 MB +0% (+976 B) 👌
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 9.50 MB 9.50 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 94.46 MB 94.46 MB +0% (+552 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.32 MB 10.32 MB 0% (0 B) 👌

.field("cancellation_token", &self.cancellation_token)
.field("seq_id", &self.seq_id)
.field("runtime_id", &self.runtime_id)
.field("deadlines", &self.deadlines)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
.field("metrics_flush_interval", &self.metrics_flush_interval)
.field("deadlines", &self.deadlines)

@paullegranddc paullegranddc changed the title tests(telemetry): flush metrics with heartbeats if the interval is small test(telemetry): flush metrics with heartbeats if the interval is small Jan 12, 2026
@paullegranddc
paullegranddc merged commit 40a1ad6 into main Jan 13, 2026
45 of 49 checks passed
@paullegranddc
paullegranddc deleted the paullgdc/telemetry/flush_metrics_faster branch January 13, 2026 13:28
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.

4 participants