Skip to content
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

Add span decoder for slices #883

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Conversation

VianneyRuhlmann
Copy link
Contributor

@VianneyRuhlmann VianneyRuhlmann commented Feb 14, 2025

What does this PR do?

Use &[u8] in the msgpack decoder instead of Bytes and produce a SpanSlice which contains &str instead of BytesString. This allows to parse non-owned buffer containing traces. It also provides a from_bytes wrapper which uses the same parsing logic but convert the &str to BytesString based on the given Bytes buffer.

Motivation

The trace exporter needs to support reading traces from borrowed buffer.

Additional Notes

This PR also refactors the string, map and number decoding logic to be moved to separate modules.

How to test the change?

Describe here in detail how the change can be validated.

@pr-commenter
Copy link

pr-commenter bot commented Feb 14, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-02-17 12:18:48

Comparing candidate commit 55b16bf in PR branch vianney/decode-with-ref with baseline commit a8fb144 in branch main.

Found 3 performance improvements and 45 performance regressions! Performance is the same for 4 metrics, 2 unstable metrics.

scenario:benching deserializing traces from msgpack to their internal representation

  • 🟥 execution_time [+24.227ms; +24.288ms] or [+44.557%; +44.669%]

scenario:benching string interning on wordpress profile

  • 🟩 execution_time [-11.743µs; -11.619µs] or [-7.789%; -7.707%]

scenario:concentrator/add_spans_to_concentrator

  • 🟥 execution_time [+315.496µs; +318.209µs] or [+5.300%; +5.346%]

scenario:credit_card/is_card_number/

  • 🟥 execution_time [+373.397ns; +375.306ns] or [+9.542%; +9.591%]
  • 🟥 throughput [-22368422.408op/s; -22259368.681op/s] or [-8.753%; -8.710%]

scenario:credit_card/is_card_number/ 3782-8224-6310-005

  • 🟥 execution_time [+6.545µs; +6.761µs] or [+7.832%; +8.090%]
  • 🟥 throughput [-897811.271op/s; -868224.919op/s] or [-7.502%; -7.255%]

scenario:credit_card/is_card_number/37828224631

  • 🟥 execution_time [+374.567ns; +376.259ns] or [+9.571%; +9.614%]
  • 🟥 throughput [-22417401.685op/s; -22311386.704op/s] or [-8.774%; -8.732%]

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-7.308µs; -7.011µs] or [-8.451%; -8.108%]
  • 🟩 throughput [+1022395.044op/s; +1062010.366op/s] or [+8.840%; +9.182%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+18.734µs; +18.824µs] or [+36.427%; +36.602%]
  • 🟥 throughput [-5209827.851op/s; -5191234.326op/s] or [-26.794%; -26.698%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟥 execution_time [+1.206µs; +1.208µs] or [+19.970%; +20.010%]
  • 🟥 throughput [-27619450.831op/s; -27557217.530op/s] or [-16.679%; -16.641%]

scenario:credit_card/is_card_number_no_luhn/

  • 🟥 execution_time [+374.937ns; +376.059ns] or [+9.581%; +9.610%]
  • 🟥 throughput [-22408666.291op/s; -22340466.624op/s] or [-8.769%; -8.742%]

scenario:credit_card/is_card_number_no_luhn/ 3782-8224-6310-005

  • 🟥 execution_time [+5.195µs; +5.250µs] or [+7.836%; +7.919%]
  • 🟥 throughput [-1107673.306op/s; -1095235.443op/s] or [-7.344%; -7.262%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+4.280µs; +4.308µs] or [+7.183%; +7.230%]
  • 🟥 throughput [-1132136.499op/s; -1124447.147op/s] or [-6.745%; -6.700%]

scenario:credit_card/is_card_number_no_luhn/37828224631

  • 🟥 execution_time [+375.349ns; +376.505ns] or [+9.593%; +9.622%]
  • 🟥 throughput [-22434835.575op/s; -22366315.594op/s] or [-8.779%; -8.752%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+3.982µs; +4.032µs] or [+7.025%; +7.113%]
  • 🟥 throughput [-1172797.875op/s; -1157302.684op/s] or [-6.647%; -6.559%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+18.817µs; +18.888µs] or [+36.589%; +36.726%]
  • 🟥 throughput [-5223055.461op/s; -5208323.913op/s] or [-26.861%; -26.786%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟥 execution_time [+1.207µs; +1.209µs] or [+19.983%; +20.021%]
  • 🟥 throughput [-27634358.981op/s; -27575006.318op/s] or [-16.686%; -16.650%]

scenario:ip_address/quantize_peer_ip_address_benchmark

  • 🟥 execution_time [+437.209ns; +452.702ns] or [+8.583%; +8.888%]

scenario:normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...

  • 🟥 execution_time [+104.393µs; +104.754µs] or [+49.942%; +50.115%]
  • 🟥 throughput [-1597130.945op/s; -1593373.228op/s] or [-33.384%; -33.306%]

scenario:normalization/normalize_name/normalize_name/bad-name

  • 🟥 execution_time [+9.921µs; +9.950µs] or [+54.209%; +54.369%]
  • 🟥 throughput [-19249106.279op/s; -19202232.748op/s] or [-35.229%; -35.143%]

scenario:normalization/normalize_name/normalize_name/good

  • 🟥 execution_time [+6.008µs; +6.044µs] or [+56.126%; +56.464%]
  • 🟥 throughput [-33712570.652op/s; -33574958.108op/s] or [-36.089%; -35.941%]

scenario:normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...

  • 🟥 execution_time [+114.895µs; +115.260µs] or [+22.728%; +22.800%]
  • 🟥 throughput [-367386.666op/s; -366210.380op/s] or [-18.572%; -18.513%]

scenario:normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて

  • 🟥 execution_time [+22.097µs; +22.221µs] or [+4.871%; +4.899%]
  • 🟥 throughput [-102962.101op/s; -102385.820op/s] or [-4.671%; -4.644%]

scenario:normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters

  • 🟥 execution_time [+14.330µs; +14.452µs] or [+8.131%; +8.200%]
  • 🟥 throughput [-430187.041op/s; -426492.927op/s] or [-7.582%; -7.517%]

scenario:normalization/normalize_service/normalize_service/[empty string]

  • 🟥 execution_time [+7.813µs; +7.848µs] or [+20.741%; +20.834%]
  • 🟥 throughput [-4579741.728op/s; -4557890.871op/s] or [-17.252%; -17.169%]

scenario:normalization/normalize_trace/test_trace

  • 🟥 execution_time [+55.575ns; +60.834ns] or [+21.982%; +24.062%]

scenario:redis/obfuscate_redis_string

  • 🟥 execution_time [+5.914µs; +6.395µs] or [+17.714%; +19.155%]

scenario:sql/obfuscate_sql_string

  • 🟥 execution_time [+10.132µs; +10.213µs] or [+15.077%; +15.198%]

scenario:tags/replace_trace_tags

  • 🟥 execution_time [+249.816ns; +257.542ns] or [+10.250%; +10.567%]

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 55b16bf 1739794043 vianney/decode-with-ref
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 138.372µs 139.073µs ± 0.350µs 139.027µs ± 0.188µs 139.215µs 139.545µs 140.323µs 141.167µs 1.54% 1.988 7.836 0.25% 0.025µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [139.025µs; 139.122µs] or [-0.035%; +0.035%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 4.266µs 4.287µs ± 0.006µs 4.289µs ± 0.001µs 4.290µs 4.293µs 4.297µs 4.299µs 0.23% -1.897 3.078 0.14% 0.000µs 1 200
credit_card/is_card_number/ throughput 232617084.847op/s 233244861.106op/s ± 330980.513op/s 233153485.880op/s ± 73824.383op/s 233239184.185op/s 234093438.710op/s 234256828.623op/s 234406843.634op/s 0.54% 1.903 3.094 0.14% 23403.857op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 89.892µs 90.220µs ± 0.379µs 90.184µs ± 0.068µs 90.249µs 90.464µs 90.610µs 95.232µs 5.60% 11.641 151.126 0.42% 0.027µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 10500673.036op/s 11084156.770op/s ± 44440.188op/s 11088494.024op/s ± 8427.692op/s 11096836.849op/s 11108138.325op/s 11117655.400op/s 11124448.200op/s 0.32% -11.418 147.153 0.40% 3142.396op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 82.254µs 82.600µs ± 0.356µs 82.585µs ± 0.059µs 82.640µs 82.710µs 82.781µs 87.429µs 5.87% 12.606 169.045 0.43% 0.025µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 11437794.045op/s 12106776.440op/s ± 49447.735op/s 12108706.769op/s ± 8697.851op/s 12118555.326op/s 12132838.074op/s 12150260.942op/s 12157390.176op/s 0.40% -12.447 166.224 0.41% 3496.483op/s 1 200
credit_card/is_card_number/37828224631 execution_time 4.275µs 4.289µs ± 0.003µs 4.290µs ± 0.001µs 4.291µs 4.293µs 4.295µs 4.296µs 0.16% -0.823 2.784 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 232761663.236op/s 233147208.670op/s ± 151558.148op/s 233126879.755op/s ± 70640.496op/s 233206051.698op/s 233448968.669op/s 233518482.321op/s 233894174.521op/s 0.33% 0.831 2.811 0.06% 10716.779op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 78.998µs 79.314µs ± 0.138µs 79.311µs ± 0.089µs 79.391µs 79.544µs 79.708µs 79.774µs 0.58% 0.417 0.284 0.17% 0.010µs 1 200
credit_card/is_card_number/378282246310005 throughput 12535461.178op/s 12608112.828op/s ± 21877.018op/s 12608561.213op/s ± 14178.938op/s 12623862.894op/s 12643278.131op/s 12653573.079op/s 12658555.948op/s 0.40% -0.406 0.267 0.17% 1546.939op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 69.022µs 70.208µs ± 0.324µs 70.327µs ± 0.055µs 70.365µs 70.449µs 70.505µs 71.233µs 1.29% -1.857 3.828 0.46% 0.023µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 14038518.553op/s 14243644.593op/s ± 66260.318op/s 14219242.523op/s ± 11049.999op/s 14240679.823op/s 14415712.094op/s 14464984.205op/s 14488113.668op/s 1.89% 1.889 3.892 0.46% 4685.312op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 7.234µs 7.246µs ± 0.003µs 7.246µs ± 0.002µs 7.248µs 7.251µs 7.254µs 7.258µs 0.17% -0.155 1.670 0.05% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 137779291.353op/s 138009104.087op/s ± 64350.113op/s 138012800.689op/s ± 35118.579op/s 138040280.156op/s 138125100.594op/s 138184333.293op/s 138229211.679op/s 0.16% 0.160 1.671 0.05% 4550.240op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 4.273µs 4.289µs ± 0.003µs 4.289µs ± 0.001µs 4.290µs 4.292µs 4.295µs 4.298µs 0.22% -0.965 5.831 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 232664011.916op/s 233172000.033op/s ± 147063.761op/s 233164652.245op/s ± 74787.206op/s 233229223.622op/s 233396820.045op/s 233488438.544op/s 234045442.351op/s 0.38% 0.978 5.895 0.06% 10398.978op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 71.394µs 71.525µs ± 0.048µs 71.517µs ± 0.018µs 71.538µs 71.599µs 71.680µs 71.888µs 0.52% 2.904 17.677 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 13910519.194op/s 13981117.863op/s ± 9412.058op/s 13982708.982op/s ± 3519.478op/s 13985991.631op/s 13989301.053op/s 13999370.650op/s 14006854.955op/s 0.17% -2.882 17.485 0.07% 665.533op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 63.782µs 63.875µs ± 0.040µs 63.878µs ± 0.022µs 63.900µs 63.938µs 63.959µs 64.015µs 0.21% -0.162 0.259 0.06% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 15621424.236op/s 15655545.822op/s ± 9770.975op/s 15654795.213op/s ± 5411.884op/s 15660282.003op/s 15673425.083op/s 15677661.559op/s 15678335.676op/s 0.15% 0.167 0.256 0.06% 690.912op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 4.272µs 4.289µs ± 0.003µs 4.289µs ± 0.001µs 4.291µs 4.293µs 4.295µs 4.296µs 0.16% -1.533 5.968 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 232770422.186op/s 233162344.642op/s ± 172336.327op/s 233140933.774op/s ± 75005.225op/s 233213240.682op/s 233467662.516op/s 233528845.331op/s 234059254.931op/s 0.39% 1.545 6.037 0.07% 12186.019op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 60.575µs 60.685µs ± 0.037µs 60.679µs ± 0.020µs 60.702µs 60.755µs 60.786µs 60.809µs 0.21% 0.532 1.547 0.06% 0.003µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 16444843.993op/s 16478655.485op/s ± 10167.855op/s 16480165.297op/s ± 5469.945op/s 16484852.481op/s 16490124.979op/s 16506160.630op/s 16508596.026op/s 0.17% -0.526 1.545 0.06% 718.976op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 69.086µs 70.281µs ± 0.253µs 70.351µs ± 0.042µs 70.389µs 70.445µs 70.487µs 70.533µs 0.26% -3.220 10.637 0.36% 0.018µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 14177727.029op/s 14228872.801op/s ± 51805.692op/s 14214538.640op/s ± 8524.917op/s 14223523.318op/s 14339128.906op/s 14470977.569op/s 14474733.189op/s 1.83% 3.245 10.804 0.36% 3663.216op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 7.233µs 7.246µs ± 0.003µs 7.246µs ± 0.002µs 7.247µs 7.252µs 7.255µs 7.258µs 0.17% 0.483 2.219 0.04% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 137782205.343op/s 138009247.493op/s ± 60629.709op/s 138014444.848op/s ± 35569.604op/s 138046955.463op/s 138082076.257op/s 138154188.498op/s 138246887.318op/s 0.17% -0.478 2.218 0.04% 4287.168op/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 [4.287µs; 4.288µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/ throughput [233198990.390op/s; 233290731.822op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [90.168µs; 90.273µs] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [11077997.787op/s; 11090315.753op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [82.551µs; 82.649µs] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/ 378282246310005 throughput [12099923.459op/s; 12113629.420op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/37828224631 execution_time [4.289µs; 4.290µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [233126204.169op/s; 233168213.172op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [79.295µs; 79.333µs] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/378282246310005 throughput [12605080.883op/s; 12611144.772op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [70.163µs; 70.253µs] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [14234461.551op/s; 14252827.636op/s] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/x371413321323331 execution_time [7.245µs; 7.246µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number/x371413321323331 throughput [138000185.780op/s; 138018022.394op/s] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/ execution_time [4.288µs; 4.289µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [233151618.410op/s; 233192381.655op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [71.518µs; 71.532µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [13979813.442op/s; 13982422.284op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [63.870µs; 63.881µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [15654191.658op/s; 15656899.985op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [4.288µs; 4.289µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [233138460.484op/s; 233186228.799op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [60.679µs; 60.690µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [16477246.318op/s; 16480064.652op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [70.246µs; 70.316µs] or [-0.050%; +0.050%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [14221693.031op/s; 14236052.572op/s] or [-0.050%; +0.050%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [7.245µs; 7.246µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [138000844.798op/s; 138017650.187op/s] or [-0.006%; +0.006%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 619.363µs 620.609µs ± 0.974µs 620.535µs ± 0.326µs 620.855µs 621.252µs 622.045µs 629.588µs 1.46% 6.668 56.525 0.16% 0.069µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1588339.975op/s 1611325.097op/s ± 2502.551op/s 1611511.435op/s ± 846.686op/s 1612403.207op/s 1613517.968op/s 1614271.102op/s 1614562.406op/s 0.19% -6.602 55.765 0.15% 176.957op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 474.852µs 475.773µs ± 0.308µs 475.776µs ± 0.181µs 475.957µs 476.265µs 476.554µs 476.651µs 0.18% 0.095 0.349 0.06% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2097969.662op/s 2101841.354op/s ± 1359.548op/s 2101828.270op/s ± 797.554op/s 2102611.596op/s 2104075.002op/s 2105073.921op/s 2105921.185op/s 0.19% -0.091 0.348 0.06% 96.135op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.084µs 190.635µs ± 0.299µs 190.588µs ± 0.165µs 190.764µs 191.133µs 191.635µs 192.166µs 0.83% 1.391 3.930 0.16% 0.021µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5203847.378op/s 5245651.374op/s ± 8198.332op/s 5246915.117op/s ± 4555.598op/s 5251284.041op/s 5256343.269op/s 5259166.337op/s 5260842.698op/s 0.27% -1.373 3.836 0.16% 579.710op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 45.300µs 45.500µs ± 0.077µs 45.492µs ± 0.045µs 45.547µs 45.630µs 45.685µs 45.818µs 0.72% 0.578 1.253 0.17% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 21825703.544op/s 21977966.865op/s ± 37087.117op/s 21982061.880op/s ± 21929.299op/s 22002236.111op/s 22029370.875op/s 22062695.545op/s 22075065.270op/s 0.42% -0.563 1.218 0.17% 2622.455op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 47.423µs 47.517µs ± 0.104µs 47.502µs ± 0.020µs 47.533µs 47.597µs 47.647µs 48.875µs 2.89% 11.075 140.972 0.22% 0.007µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20460481.742op/s 21045024.069op/s ± 45180.151op/s 21051536.194op/s ± 8879.677op/s 21058514.613op/s 21072544.378op/s 21083149.995op/s 21086753.781op/s 0.17% -10.941 138.615 0.21% 3194.719op/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 [620.474µs; 620.744µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1610978.268op/s; 1611671.927op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [475.731µs; 475.816µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2101652.934op/s; 2102029.774op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.593µs; 190.676µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5244515.165op/s; 5246787.584op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [45.490µs; 45.511µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21972826.947op/s; 21983106.783op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [47.503µs; 47.532µs] or [-0.030%; +0.030%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21038762.534op/s; 21051285.603op/s] or [-0.030%; +0.030%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 18.353µs 28.711µs ± 15.769µs 18.868µs ± 0.448µs 38.975µs 51.399µs 57.648µs 159.281µs 744.20% 3.656 24.326 54.79% 1.115µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [26.526µs; 30.897µs] or [-7.612%; +7.612%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 77.105µs 77.376µs ± 0.197µs 77.342µs ± 0.070µs 77.420µs 77.620µs 77.867µs 79.371µs 2.62% 5.862 53.095 0.25% 0.014µ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 [77.349µs; 77.404µs] or [-0.035%; +0.035%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 311.567µs 313.600µs ± 1.291µs 313.314µs ± 0.688µs 314.172µs 316.691µs 317.357µs 318.667µs 1.71% 1.329 1.999 0.41% 0.091µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 3138067.865op/s 3188827.367op/s ± 13052.869op/s 3191683.554op/s ± 7013.740op/s 3197631.099op/s 3203939.979op/s 3209409.990op/s 3209587.284op/s 0.56% -1.302 1.905 0.41% 922.977op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 27.922µs 28.237µs ± 0.099µs 28.247µs ± 0.064µs 28.301µs 28.374µs 28.425µs 28.538µs 1.03% -0.289 0.361 0.35% 0.007µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 35041442.346op/s 35414499.465op/s ± 123729.259op/s 35401428.609op/s ± 79498.616op/s 35496231.461op/s 35620511.847op/s 35716774.940op/s 35813906.847op/s 1.17% 0.312 0.373 0.35% 8748.980op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 16.452µs 16.731µs ± 0.129µs 16.709µs ± 0.074µs 16.804µs 16.968µs 17.049µs 17.074µs 2.18% 0.468 -0.054 0.77% 0.009µs 1 200
normalization/normalize_name/normalize_name/good throughput 58568410.857op/s 59772553.814op/s ± 457760.381op/s 59847158.404op/s ± 263425.569op/s 60042521.739op/s 60427106.496op/s 60749570.121op/s 60782759.353op/s 1.56% -0.428 -0.078 0.76% 32368.547op/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 [313.421µs; 313.779µs] or [-0.057%; +0.057%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [3187018.365op/s; 3190636.369op/s] or [-0.057%; +0.057%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [28.224µs; 28.251µs] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [35397351.779op/s; 35431647.150op/s] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/good execution_time [16.713µs; 16.749µs] or [-0.107%; +0.107%] None None None
normalization/normalize_name/normalize_name/good throughput [59709112.628op/s; 59835995.001op/s] or [-0.106%; +0.106%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 38.874µs 39.540µs ± 1.138µs 39.034µs ± 0.076µs 39.115µs 41.980µs 42.043µs 43.016µs 10.20% 1.713 1.017 2.87% 0.080µ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 [39.382µs; 39.697µs] or [-0.399%; +0.399%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 6.253ms 6.270ms ± 0.007ms 6.269ms ± 0.004ms 6.273ms 6.278ms 6.291ms 6.322ms 0.84% 2.977 18.530 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 [6.269ms; 6.271ms] or [-0.017%; +0.017%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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.439µs 3.329µs ± 1.483µs 3.130µs ± 0.026µs 3.155µs 3.782µs 14.508µs 15.517µs 395.66% 7.453 56.213 44.44% 0.105µ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.123µs; 3.535µs] or [-6.175%; +6.175%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 296.355ns 311.029ns ± 16.046ns 303.852ns ± 5.210ns 318.121ns 343.237ns 358.766ns 360.413ns 18.61% 1.383 0.884 5.15% 1.135ns 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 [308.806ns; 313.253ns] or [-0.715%; +0.715%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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 78.412ms 78.631ms ± 0.163ms 78.591ms ± 0.067ms 78.678ms 78.961ms 79.159ms 79.596ms 1.28% 2.290 7.597 0.21% 0.012ms 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 [78.608ms; 78.654ms] or [-0.029%; +0.029%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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.483µs 5.539µs ± 0.033µs 5.529µs ± 0.024µs 5.574µs 5.590µs 5.602µs 5.602µs 1.32% 0.325 -1.210 0.59% 0.002µ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.534µs; 5.543µs] or [-0.082%; +0.082%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 55b16bf 1739794043 vianney/decode-with-ref
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.632µs 2.691µs ± 0.018µs 2.691µs ± 0.007µs 2.699µs 2.721µs 2.725µs 2.746µs 2.07% -0.907 2.649 0.66% 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.688µs; 2.693µs] or [-0.092%; +0.092%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Feb 14, 2025

Codecov Report

Attention: Patch coverage is 96.45390% with 10 lines in your changes missing coverage. Please review.

Project coverage is 71.65%. Comparing base (5ada426) to head (55b16bf).
Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #883      +/-   ##
==========================================
- Coverage   71.90%   71.65%   -0.26%     
==========================================
  Files         324      326       +2     
  Lines       48077    48329     +252     
==========================================
+ Hits        34572    34632      +60     
- Misses      13505    13697     +192     
Components Coverage Δ
crashtracker 42.93% <ø> (-0.30%) ⬇️
crashtracker-ffi 6.25% <ø> (-0.05%) ⬇️
datadog-alloc 98.73% <ø> (ø)
data-pipeline 92.01% <100.00%> (-0.35%) ⬇️
data-pipeline-ffi 90.39% <ø> (-1.06%) ⬇️
ddcommon 80.08% <ø> (ø)
ddcommon-ffi 61.05% <ø> (ø)
ddtelemetry 61.74% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 90.01% <ø> (ø)
dogstatsd-client 79.77% <ø> (ø)
ipc 82.78% <ø> (+0.10%) ⬆️
profiling 80.04% <ø> (ø)
profiling-ffi 70.68% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 40.57% <ø> (-0.94%) ⬇️
sidecar-ffi 2.05% <ø> (-7.21%) ⬇️
spawn-worker 54.37% <ø> (ø)
tinybytes 91.21% <100.00%> (-1.58%) ⬇️
trace-mini-agent 72.48% <ø> (ø)
trace-normalization 98.23% <ø> (ø)
trace-obfuscation 95.96% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 93.31% <96.36%> (-0.26%) ⬇️

@VianneyRuhlmann VianneyRuhlmann changed the title Add span decoder for bytes slices Add span decoder for slices Feb 17, 2025
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.

2 participants