Skip to content

[POC] logging integration libdatadog to tracer #947

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

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

Conversation

ganeshnj
Copy link
Contributor

What does this PR do?

A brief description of the change being made with this pull request.

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@ganeshnj ganeshnj requested review from a team as code owners March 19, 2025 15:15
@ganeshnj ganeshnj marked this pull request as draft March 19, 2025 15:15
@pr-commenter
Copy link

pr-commenter bot commented Mar 19, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-04-17 10:51:29

Comparing candidate commit 32f8093 in PR branch ganeshnj/poc/logging with baseline commit 678c0f2 in branch main.

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

scenario:benching deserializing traces from msgpack to their internal representation

  • 🟩 execution_time [-19.527ms; -19.460ms] or [-26.311%; -26.220%]

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

  • 🟥 execution_time [+4.739µs; +4.882µs] or [+6.131%; +6.316%]
  • 🟥 throughput [-769953.550op/s; -746674.497op/s] or [-5.951%; -5.771%]

scenario:credit_card/is_card_number/ 378282246310005

  • 🟥 execution_time [+5.494µs; +5.617µs] or [+7.701%; +7.873%]
  • 🟥 throughput [-1023471.700op/s; -1001689.732op/s] or [-7.301%; -7.146%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+4.258µs; +4.388µs] or [+6.265%; +6.457%]
  • 🟥 throughput [-893714.377op/s; -866652.829op/s] or [-6.074%; -5.890%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟥 execution_time [+380.207ns; +391.728ns] or [+6.275%; +6.465%]
  • 🟥 throughput [-10033303.688op/s; -9737377.084op/s] or [-6.079%; -5.900%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟥 execution_time [+389.879ns; +400.155ns] or [+6.442%; +6.611%]
  • 🟥 throughput [-10252541.513op/s; -9993074.567op/s] or [-6.205%; -6.048%]

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 32f8093 1744886392 ganeshnj/poc/logging
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.410µs 2.435µs ± 0.021µs 2.431µs ± 0.011µs 2.441µs 2.490µs 2.503µs 2.507µs 3.15% 1.694 2.982 0.85% 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.432µs; 2.438µs] or [-0.119%; +0.119%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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 66.533µs 66.838µs ± 0.225µs 66.818µs ± 0.084µs 66.901µs 67.011µs 67.303µs 69.338µs 3.77% 7.287 75.673 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 [66.807µs; 66.869µs] or [-0.047%; +0.047%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.897µs 3.914µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.919µs 3.921µs 3.922µs 0.19% -0.988 5.950 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254961063.304op/s 255464536.661op/s ± 188510.421op/s 255456559.613op/s ± 87249.021op/s 255544471.134op/s 255775430.622op/s 255863015.120op/s 256605301.676op/s 0.45% 1.004 6.037 0.07% 13329.700op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 81.731µs 82.107µs ± 0.241µs 82.023µs ± 0.136µs 82.249µs 82.550µs 82.885µs 82.961µs 1.14% 1.089 0.914 0.29% 0.017µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12053876.878op/s 12179295.103op/s ± 35639.712op/s 12191740.732op/s ± 20248.054op/s 12205862.477op/s 12218332.080op/s 12228527.368op/s 12235308.654op/s 0.36% -1.074 0.862 0.29% 2520.108op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 76.355µs 76.896µs ± 0.366µs 76.815µs ± 0.199µs 77.055µs 77.532µs 77.905µs 79.250µs 3.17% 2.034 8.081 0.47% 0.026µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12618342.716op/s 13004935.902op/s ± 61306.640op/s 13018238.950op/s ± 33765.552op/s 13047703.501op/s 13073645.886op/s 13080333.091op/s 13096731.056op/s 0.60% -1.952 7.423 0.47% 4335.034op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.898µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.918µs 3.922µs 3.923µs 0.22% -0.862 5.264 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254923000.986op/s 255484488.570op/s ± 188408.776op/s 255482924.952op/s ± 101737.762op/s 255574704.494op/s 255767040.189op/s 255968193.981op/s 256560614.252op/s 0.42% 0.877 5.327 0.07% 13322.512op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 71.858µs 72.285µs ± 0.285µs 72.305µs ± 0.232µs 72.421µs 72.783µs 73.027µs 73.208µs 1.25% 0.721 0.093 0.39% 0.020µs 1 200
credit_card/is_card_number/378282246310005 throughput 13659632.807op/s 13834396.876op/s ± 54360.026op/s 13830346.350op/s ± 44411.279op/s 13882068.532op/s 13901745.087op/s 13909946.182op/s 13916275.084op/s 0.62% -0.702 0.047 0.39% 3843.834op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.829µs 52.110µs ± 0.110µs 52.118µs ± 0.080µs 52.193µs 52.265µs 52.316µs 52.353µs 0.45% -0.324 -0.464 0.21% 0.008µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19101086.931op/s 19190420.907op/s ± 40691.994op/s 19187394.856op/s ± 29612.613op/s 19217886.087op/s 19263274.223op/s 19285792.546op/s 19294328.040op/s 0.56% 0.334 -0.456 0.21% 2877.358op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.430µs 6.445µs ± 0.026µs 6.440µs ± 0.003µs 6.443µs 6.474µs 6.541µs 6.667µs 3.53% 5.841 39.931 0.40% 0.002µs 1 200
credit_card/is_card_number/x371413321323331 throughput 149994282.253op/s 155156523.654op/s ± 613217.149op/s 155285123.686op/s ± 72547.169op/s 155352074.020op/s 155463251.975op/s 155510698.180op/s 155526711.287op/s 0.16% -5.748 38.705 0.39% 43361.000op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.896µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.919µs 3.920µs 3.928µs 0.34% -1.225 11.917 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254592073.747op/s 255455811.129op/s ± 183315.344op/s 255446266.879op/s ± 84238.982op/s 255525418.411op/s 255724737.294op/s 255935114.014op/s 256701749.239op/s 0.49% 1.251 12.039 0.07% 12962.352op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.227µs 64.505µs ± 0.122µs 64.493µs ± 0.047µs 64.540µs 64.751µs 64.955µs 65.112µs 0.96% 1.614 5.384 0.19% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15358185.371op/s 15502631.973op/s ± 29213.968op/s 15505554.890op/s ± 11337.907op/s 15516429.683op/s 15543997.038op/s 15564590.045op/s 15569850.541op/s 0.41% -1.588 5.281 0.19% 2065.739op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.166µs 58.278µs ± 0.069µs 58.266µs ± 0.022µs 58.290µs 58.399µs 58.572µs 58.647µs 0.65% 2.455 8.875 0.12% 0.005µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17051121.542op/s 17159034.552op/s ± 20171.562op/s 17162795.351op/s ± 6594.274op/s 17168736.161op/s 17183618.428op/s 17189139.134op/s 17192299.569op/s 0.17% -2.438 8.776 0.12% 1426.345op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.899µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.918µs 3.921µs 3.932µs 0.44% 0.284 11.987 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254335094.401op/s 255445587.144op/s ± 177010.973op/s 255443227.743op/s ± 75374.014op/s 255512718.146op/s 255719820.611op/s 255817484.615op/s 256458899.826op/s 0.40% -0.255 11.946 0.07% 12516.566op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.544µs 54.733µs ± 0.207µs 54.655µs ± 0.036µs 54.724µs 55.141µs 55.310µs 56.170µs 2.77% 2.763 11.349 0.38% 0.015µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17803168.750op/s 18270813.895op/s ± 68409.131op/s 18296727.630op/s ± 11885.343op/s 18305612.501op/s 18321891.454op/s 18333485.433op/s 18333708.356op/s 0.20% -2.701 10.699 0.37% 4837.256op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.842µs 52.131µs ± 0.107µs 52.139µs ± 0.072µs 52.208µs 52.278µs 52.396µs 52.484µs 0.66% -0.134 0.176 0.20% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19053418.243op/s 19182470.956op/s ± 39368.952op/s 19179337.144op/s ± 26510.556op/s 19208851.493op/s 19252300.145op/s 19276358.188op/s 19289239.739op/s 0.57% 0.147 0.168 0.20% 2783.805op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.431µs 6.447µs ± 0.027µs 6.442µs ± 0.002µs 6.444µs 6.480µs 6.610µs 6.654µs 3.30% 5.613 34.169 0.42% 0.002µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 150278663.865op/s 155102329.098op/s ± 639932.054op/s 155239185.049op/s ± 50921.745op/s 155290224.481op/s 155356967.865op/s 155446003.047op/s 155497886.611op/s 0.17% -5.554 33.494 0.41% 45250.029op/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.914µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255438410.929op/s; 255490662.392op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.074µs; 82.141µs] or [-0.041%; +0.041%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12174355.781op/s; 12184234.424op/s] or [-0.041%; +0.041%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [76.845µs; 76.946µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 378282246310005 throughput [12996439.391op/s; 13013432.412op/s] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/37828224631 execution_time [3.914µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255458376.926op/s; 255510600.214op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [72.245µs; 72.324µs] or [-0.055%; +0.055%] None None None
credit_card/is_card_number/378282246310005 throughput [13826863.099op/s; 13841930.653op/s] or [-0.054%; +0.054%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.094µs; 52.125µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19184781.388op/s; 19196060.426op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.442µs; 6.449µs] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/x371413321323331 throughput [155071537.655op/s; 155241509.653op/s] or [-0.055%; +0.055%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.914µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255430405.385op/s; 255481216.872op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.489µs; 64.522µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15498583.198op/s; 15506680.748op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.269µs; 58.288µs] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17156238.967op/s; 17161830.136op/s] or [-0.016%; +0.016%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.914µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255421055.126op/s; 255470119.163op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.704µs; 54.762µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18261333.047op/s; 18280294.742op/s] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.116µs; 52.146µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19177014.798op/s; 19187927.114op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.444µs; 6.451µs] or [-0.059%; +0.059%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155013640.670op/s; 155191017.526op/s] or [-0.057%; +0.057%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.448ms 54.722ms ± 0.155ms 54.689ms ± 0.067ms 54.768ms 55.059ms 55.201ms 55.434ms 1.36% 1.509 2.926 0.28% 0.011ms 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 [54.701ms; 54.744ms] or [-0.039%; +0.039%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.515µs 208.995µs ± 0.179µs 209.000µs ± 0.113µs 209.109µs 209.265µs 209.389µs 209.544µs 0.26% -0.059 -0.046 0.09% 0.013µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4772266.767op/s 4784810.884op/s ± 4104.169op/s 4784689.949op/s ± 2592.670op/s 4787548.546op/s 4791599.433op/s 4794505.159op/s 4795823.158op/s 0.23% 0.064 -0.048 0.09% 290.209op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.263µs 18.316µs ± 0.025µs 18.311µs ± 0.012µs 18.329µs 18.360µs 18.386µs 18.416µs 0.57% 0.734 1.542 0.14% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54301995.758op/s 54597795.313op/s ± 74082.187op/s 54610691.171op/s ± 36665.288op/s 54640537.011op/s 54719631.448op/s 54747211.951op/s 54754785.982op/s 0.26% -0.722 1.509 0.14% 5238.402op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.677µs 10.736µs ± 0.036µs 10.739µs ± 0.031µs 10.764µs 10.793µs 10.807µs 10.819µs 0.75% 0.053 -1.068 0.33% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 92427881.368op/s 93141282.521op/s ± 309261.077op/s 93120174.163op/s ± 266643.278op/s 93449831.781op/s 93600430.562op/s 93637040.476op/s 93662439.128op/s 0.58% -0.044 -1.074 0.33% 21868.060op/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 [208.970µs; 209.020µs] or [-0.012%; +0.012%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4784242.086op/s; 4785379.683op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.312µs; 18.319µs] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54587528.234op/s; 54608062.391op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.732µs; 10.741µs] or [-0.046%; +0.046%] None None None
normalization/normalize_name/normalize_name/good throughput [93098421.910op/s; 93184143.132op/s] or [-0.046%; +0.046%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.720µs 148.619µs ± 0.372µs 148.544µs ± 0.144µs 148.735µs 149.219µs 150.126µs 150.822µs 1.53% 2.232 8.989 0.25% 0.026µ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.568µs; 148.671µs] or [-0.035%; +0.035%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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 249.296ns 256.752ns ± 9.726ns 252.176ns ± 1.816ns 258.282ns 280.501ns 285.534ns 288.881ns 14.56% 1.718 1.889 3.78% 0.688ns 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 [255.404ns; 258.099ns] or [-0.525%; +0.525%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.215µs 3.179µs ± 1.425µs 2.985µs ± 0.025µs 3.007µs 3.630µs 13.879µs 14.845µs 397.34% 7.392 55.592 44.71% 0.101µ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.981µs; 3.376µs] or [-6.213%; +6.213%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.476µs 25.386µs ± 10.868µs 17.622µs ± 0.085µs 34.658µs 44.629µs 51.320µs 85.895µs 387.42% 1.627 4.481 42.70% 0.768µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [23.880µs; 26.893µs] or [-5.933%; +5.933%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.954µs 5.025µs ± 0.045µs 5.031µs ± 0.026µs 5.046µs 5.112µs 5.115µs 5.118µs 1.72% 0.253 -0.515 0.89% 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.019µs; 5.031µs] or [-0.124%; +0.124%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.595µs 505.721µs ± 0.857µs 505.621µs ± 0.266µs 505.926µs 506.384µs 506.918µs 516.231µs 2.10% 9.323 111.697 0.17% 0.061µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1937116.256op/s 1977381.476op/s ± 3297.724op/s 1977764.760op/s ± 1039.601op/s 1978684.729op/s 1980160.051op/s 1980761.576op/s 1981787.156op/s 0.20% -9.187 109.480 0.17% 233.184op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 452.420µs 453.234µs ± 0.290µs 453.235µs ± 0.204µs 453.434µs 453.690µs 453.861µs 454.142µs 0.20% 0.068 0.103 0.06% 0.020µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2201952.758op/s 2206364.780op/s ± 1409.834op/s 2206362.399op/s ± 992.268op/s 2207372.431op/s 2208458.471op/s 2209841.151op/s 2210334.063op/s 0.18% -0.064 0.102 0.06% 99.690op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 175.810µs 176.691µs ± 0.292µs 176.722µs ± 0.189µs 176.899µs 177.134µs 177.241µs 177.246µs 0.30% -0.545 0.107 0.16% 0.021µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5641888.684op/s 5659597.934op/s ± 9354.479op/s 5658603.098op/s ± 6044.351op/s 5665331.729op/s 5677802.962op/s 5683346.030op/s 5687954.646op/s 0.52% 0.554 0.122 0.16% 661.462op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.537µs 37.647µs ± 0.042µs 37.643µs ± 0.026µs 37.673µs 37.720µs 37.752µs 37.813µs 0.45% 0.614 1.225 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26445656.393op/s 26562269.013op/s ± 29890.245op/s 26565396.714op/s ± 18572.335op/s 26580062.780op/s 26604624.683op/s 26619744.680op/s 26640611.225op/s 0.28% -0.604 1.205 0.11% 2113.559op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.191µs 48.308µs ± 0.049µs 48.306µs ± 0.027µs 48.331µs 48.379µs 48.425µs 48.612µs 0.63% 1.374 7.044 0.10% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20571023.563op/s 20700517.517op/s ± 21114.013op/s 20701362.150op/s ± 11723.483op/s 20713153.889op/s 20732860.195op/s 20742689.795op/s 20750845.774op/s 0.24% -1.352 6.907 0.10% 1492.986op/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.602µs; 505.839µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1976924.443op/s; 1977838.509op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [453.194µs; 453.275µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2206169.391op/s; 2206560.170op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [176.651µs; 176.732µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5658301.493op/s; 5660894.375op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.642µs; 37.653µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26558126.513op/s; 26566411.513op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [48.301µs; 48.315µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20697591.318op/s; 20703443.716op/s] or [-0.014%; +0.014%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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.020ms 6.030ms ± 0.006ms 6.030ms ± 0.003ms 6.033ms 6.039ms 6.043ms 6.075ms 0.74% 2.785 19.770 0.09% 0.000ms 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.030ms; 6.031ms] or [-0.013%; +0.013%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 32f8093 1744886392 ganeshnj/poc/logging
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 31.580µs 32.772µs ± 1.673µs 31.709µs ± 0.069µs 35.021µs 35.580µs 35.722µs 35.768µs 12.80% 0.922 -1.107 5.09% 0.118µ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 [32.540µs; 33.004µs] or [-0.707%; +0.707%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Mar 19, 2025

Codecov Report

Attention: Patch coverage is 78.46154% with 28 lines in your changes missing coverage. Please review.

Project coverage is 71.54%. Comparing base (99c1190) to head (32f8093).
Report is 71 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #947      +/-   ##
==========================================
- Coverage   72.85%   71.54%   -1.32%     
==========================================
  Files         334      340       +6     
  Lines       50974    50766     -208     
==========================================
- Hits        37135    36318     -817     
- Misses      13839    14448     +609     
Components Coverage Δ
crashtracker 42.84% <ø> (-0.01%) ⬇️
crashtracker-ffi 6.30% <ø> (+0.04%) ⬆️
datadog-alloc 98.73% <ø> (ø)
data-pipeline 90.68% <78.46%> (-1.28%) ⬇️
data-pipeline-ffi 88.62% <78.46%> (-1.66%) ⬇️
ddcommon 78.57% <ø> (-2.81%) ⬇️
ddcommon-ffi 66.37% <ø> (+0.26%) ⬆️
ddtelemetry 60.29% <ø> (-1.58%) ⬇️
ddtelemetry-ffi 21.43% <ø> (-1.04%) ⬇️
dogstatsd 82.57% <ø> (-7.13%) ⬇️
dogstatsd-client 82.57% <ø> (ø)
ipc 82.41% <ø> (-0.11%) ⬇️
profiling 77.49% <ø> (-4.37%) ⬇️
profiling-ffi 62.12% <ø> (-8.57%) ⬇️
serverless 0.00% <ø> (ø)
sidecar 41.18% <ø> (-0.35%) ⬇️
sidecar-ffi 2.05% <ø> (-3.53%) ⬇️
spawn-worker 54.37% <ø> (ø)
tinybytes 89.86% <ø> (-1.38%) ⬇️
trace-mini-agent 73.80% <ø> (-0.87%) ⬇️
trace-normalization 98.24% <ø> (ø)
trace-obfuscation 96.00% <ø> (ø)
trace-protobuf 78.50% <ø> (+0.36%) ⬆️
trace-utils 93.13% <ø> (+0.25%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

}

// Helper method to create CharSlice from string
private static unsafe CharSlice CreateCharSlice(string message)

Choose a reason for hiding this comment

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

Code Vulnerability

Suggested change
private static unsafe CharSlice CreateCharSlice(string message)
private static CharSlice CreateCharSlice(string message)
do not use unsafe method or code (...read more)

Avoid unsafe code blocks as much as possible. While unsafe blocks provide access to some important features of the C# language, you need to avoid using them as much as possible. For example, unsafe code allows developers to use pointers, but pointers and pointers arithmetic can lead to critical security issues. Unsafe code should be avoided or at least clearly identified in a small scope.

Learn More

View in Datadog  Leave us feedback  Documentation

private static IntPtr messagePtr;

[GlobalSetup]
public unsafe void Setup()

Choose a reason for hiding this comment

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

Code Vulnerability

Suggested change
public unsafe void Setup()
public void Setup()
do not use unsafe method or code (...read more)

Avoid unsafe code blocks as much as possible. While unsafe blocks provide access to some important features of the C# language, you need to avoid using them as much as possible. For example, unsafe code allows developers to use pointers, but pointers and pointers arithmetic can lead to critical security issues. Unsafe code should be avoided or at least clearly identified in a small scope.

Learn More

View in Datadog  Leave us feedback  Documentation

}

// Helper method to convert CharSlice to string
private static unsafe string GetStringFromCharSlice(CharSlice slice)

Choose a reason for hiding this comment

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

Code Vulnerability

Suggested change
private static unsafe string GetStringFromCharSlice(CharSlice slice)
private static string GetStringFromCharSlice(CharSlice slice)
do not use unsafe method or code (...read more)

Avoid unsafe code blocks as much as possible. While unsafe blocks provide access to some important features of the C# language, you need to avoid using them as much as possible. For example, unsafe code allows developers to use pointers, but pointers and pointers arithmetic can lead to critical security issues. Unsafe code should be avoided or at least clearly identified in a small scope.

Learn More

View in Datadog  Leave us feedback  Documentation

{
ddog_Error_drop(errorPtr);
}
throw new Exception("Failed to initialize logger");

Choose a reason for hiding this comment

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

🟠 Code Quality Violation

do not throw generic exceptions (...read more)

Exceptions should be specific to the application to help points the exact issue. For these reasons, generic exceptions should not be used and we should instead favor specific exception types.

View in Datadog  Leave us feedback  Documentation

}

// Helper method to create CharSlice from string
private static unsafe CharSlice CreateCharSlice(string message)

Choose a reason for hiding this comment

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

Code Vulnerability

Suggested change
private static unsafe CharSlice CreateCharSlice(string message)
private static CharSlice CreateCharSlice(string message)
do not use unsafe method or code (...read more)

Avoid unsafe code blocks as much as possible. While unsafe blocks provide access to some important features of the C# language, you need to avoid using them as much as possible. For example, unsafe code allows developers to use pointers, but pointers and pointers arithmetic can lead to critical security issues. Unsafe code should be avoided or at least clearly identified in a small scope.

Learn More

View in Datadog  Leave us feedback  Documentation


public override bool IsInvalid => handle == IntPtr.Zero;

protected override bool ReleaseHandle()

Choose a reason for hiding this comment

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

🔵 Code Quality Violation

View all suggested fixes
Suggested change
protected override bool ReleaseHandle()
private override bool ReleaseHandle()
Suggested change
protected override bool ReleaseHandle()
public override bool ReleaseHandle()
do not use protected modifier with sealed class (...read more)

While authorized by the compiler, protected visibility in sealed classes does not make sense as these classes cannot be inherited. Use public or private instead.

View in Datadog  Leave us feedback  Documentation

{
var messageBytes = Message.AsSpan<byte>();
var message = Encoding.UTF8.GetString(messageBytes);
return new Exception(message);

Choose a reason for hiding this comment

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

🟠 Code Quality Violation

Suggested change
return new Exception(message);
throw return new Exception(message);
Exception should be thrown (...read more)

Exceptions should be thrown and not just created. An expression such as new Exception(...) does not throw the exception. You should use the keyword throw to throw the exception`.

Learn More

View in Datadog  Leave us feedback  Documentation

}

// Main logger implementation
public sealed class DatadogLogger : ILogger, IDisposable

Choose a reason for hiding this comment

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

🟠 Code Quality Violation

This class is considered dead code because it has a private constructor that isn't instantiated within the class and no public static declarations. (...read more)

Classes with a private constructor can't be instantiated outside of the class itself. Because they are unreachable, they should be removed or made public.

An exception is made for classes that access their own constructors (like a singleton), and classes that derive from System.Runtime.InteropServices.SafeHandle.

View in Datadog  Leave us feedback  Documentation

private static IntPtr messagePtr;

[GlobalSetup]
public unsafe void Setup()

Choose a reason for hiding this comment

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

Code Vulnerability

Suggested change
public unsafe void Setup()
public void Setup()
do not use unsafe method or code (...read more)

Avoid unsafe code blocks as much as possible. While unsafe blocks provide access to some important features of the C# language, you need to avoid using them as much as possible. For example, unsafe code allows developers to use pointers, but pointers and pointers arithmetic can lead to critical security issues. Unsafe code should be avoided or at least clearly identified in a small scope.

Learn More

View in Datadog  Leave us feedback  Documentation

}

// Helper method to convert CharSlice to string
private static unsafe string GetStringFromCharSlice(CharSlice slice)

Choose a reason for hiding this comment

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

Code Vulnerability

Suggested change
private static unsafe string GetStringFromCharSlice(CharSlice slice)
private static string GetStringFromCharSlice(CharSlice slice)
do not use unsafe method or code (...read more)

Avoid unsafe code blocks as much as possible. While unsafe blocks provide access to some important features of the C# language, you need to avoid using them as much as possible. For example, unsafe code allows developers to use pointers, but pointers and pointers arithmetic can lead to critical security issues. Unsafe code should be avoided or at least clearly identified in a small scope.

Learn More

View in Datadog  Leave us feedback  Documentation

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