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

[POC] logging integration libdatadog to tracer #947

Draft
wants to merge 7 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-03-26 09:40:54

Comparing candidate commit 28563b3 in PR branch ganeshnj/poc/logging with baseline commit 3c62acf in branch main.

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

scenario:tags/replace_trace_tags

  • 🟩 execution_time [-114.699ns; -108.077ns] or [-4.611%; -4.345%]

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 28563b3 1742981360 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.469µs 208.960µs ± 0.183µs 208.960µs ± 0.117µs 209.076µs 209.275µs 209.377µs 209.530µs 0.27% 0.054 0.282 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 4772579.305op/s 4785598.615op/s ± 4194.278op/s 4785609.036op/s ± 2670.285op/s 4788312.052op/s 4792915.272op/s 4794903.003op/s 4796869.883op/s 0.24% -0.048 0.279 0.09% 296.580op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.239µs 18.332µs ± 0.045µs 18.343µs ± 0.027µs 18.365µs 18.391µs 18.402µs 18.406µs 0.35% -0.616 -0.605 0.24% 0.003µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54329142.380op/s 54551060.972op/s ± 133844.240op/s 54518095.553op/s ± 81508.119op/s 54640330.048op/s 54818214.739op/s 54826963.569op/s 54828249.357op/s 0.57% 0.624 -0.598 0.24% 9464.217op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.656µs 10.715µs ± 0.029µs 10.712µs ± 0.021µs 10.735µs 10.761µs 10.795µs 10.812µs 0.93% 0.499 0.398 0.27% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 92491668.635op/s 93331593.028op/s ± 255070.338op/s 93356231.958op/s ± 184595.856op/s 93516046.906op/s 93704347.462op/s 93794569.464op/s 93841337.398op/s 0.52% -0.481 0.362 0.27% 18036.197op/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.935µs; 208.986µ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 [4785017.328op/s; 4786179.902op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.325µs; 18.338µs] or [-0.034%; +0.034%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54532511.447op/s; 54569610.496op/s] or [-0.034%; +0.034%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.711µs; 10.719µs] or [-0.038%; +0.038%] None None None
normalization/normalize_name/normalize_name/good throughput [93296242.733op/s; 93366943.324op/s] or [-0.038%; +0.038%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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 65.490µs 65.685µs ± 0.207µs 65.652µs ± 0.066µs 65.736µs 65.899µs 66.127µs 68.071µs 3.68% 7.976 86.913 0.31% 0.015µ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 [65.656µs; 65.714µs] or [-0.044%; +0.044%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.208µs 3.198µs ± 1.438µs 3.007µs ± 0.027µs 3.028µs 3.667µs 14.021µs 14.937µs 396.69% 7.414 55.791 44.86% 0.102µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.998µs; 3.397µs] or [-6.233%; +6.233%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.896µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.921µs 3.923µs 3.924µs 0.24% -0.832 12.178 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254829136.814op/s 255421722.450op/s ± 181642.252op/s 255448910.221op/s ± 66058.488op/s 255505027.065op/s 255616868.033op/s 255797170.830op/s 256693934.830op/s 0.49% 0.861 12.359 0.07% 12844.047op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 81.649µs 82.100µs ± 0.214µs 82.049µs ± 0.135µs 82.229µs 82.506µs 82.711µs 82.929µs 1.07% 0.994 1.022 0.26% 0.015µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12058442.328op/s 12180315.115op/s ± 31664.896op/s 12187800.013op/s ± 20092.410op/s 12203586.634op/s 12216367.125op/s 12225614.680op/s 12247490.871op/s 0.49% -0.978 0.971 0.26% 2239.046op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 76.310µs 76.798µs ± 0.289µs 76.743µs ± 0.183µs 76.964µs 77.349µs 77.620µs 78.045µs 1.70% 1.163 1.612 0.38% 0.020µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12813069.252op/s 13021272.298op/s ± 48844.824op/s 13030442.849op/s ± 31127.399op/s 13059560.095op/s 13076574.432op/s 13090073.758op/s 13104488.287op/s 0.57% -1.138 1.513 0.37% 3453.851op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.917µs 3.920µs 3.922µs 3.925µs 0.25% -1.091 7.287 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254792847.930op/s 255419488.607op/s ± 198080.255op/s 255420768.479op/s ± 90990.076op/s 255504036.965op/s 255737046.538op/s 255852442.883op/s 256668328.565op/s 0.49% 1.110 7.399 0.08% 14006.389op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 71.902µs 72.341µs ± 0.299µs 72.345µs ± 0.245µs 72.506µs 72.799µs 73.084µs 73.757µs 1.95% 0.931 1.774 0.41% 0.021µs 1 200
credit_card/is_card_number/378282246310005 throughput 13558078.810op/s 13823738.664op/s ± 56961.121op/s 13822714.446op/s ± 46963.665op/s 13876584.998op/s 13894933.074op/s 13899727.607op/s 13907752.181op/s 0.62% -0.896 1.609 0.41% 4027.760op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.836µs 52.123µs ± 0.105µs 52.130µs ± 0.083µs 52.206µs 52.274µs 52.368µs 52.418µs 0.55% -0.065 -0.308 0.20% 0.007µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19077495.769op/s 19185530.777op/s ± 38615.108op/s 19182911.862op/s ± 30590.893op/s 19215012.691op/s 19249372.820op/s 19272063.921op/s 19291445.309op/s 0.57% 0.075 -0.309 0.20% 2730.500op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.430µs 6.445µs ± 0.022µs 6.441µs ± 0.003µs 6.444µs 6.464µs 6.529µs 6.673µs 3.60% 7.126 62.878 0.34% 0.002µs 1 200
credit_card/is_card_number/x371413321323331 throughput 149852704.344op/s 155160347.371op/s ± 513780.372op/s 155249644.778op/s ± 68001.817op/s 155311279.482op/s 155425160.778op/s 155493267.097op/s 155510779.310op/s 0.17% -6.986 60.546 0.33% 36329.759op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.914µs ± 0.003µs 3.914µs ± 0.001µs 3.915µs 3.918µs 3.921µs 3.930µs 0.41% -0.775 11.605 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254450316.111op/s 255506046.457op/s ± 201125.474op/s 255487442.798op/s ± 92193.134op/s 255600521.317op/s 255814161.538op/s 255864140.080op/s 256834021.592op/s 0.53% 0.805 11.700 0.08% 14221.719op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.048µs 64.258µs ± 0.093µs 64.251µs ± 0.037µs 64.282µs 64.433µs 64.562µs 64.702µs 0.70% 1.508 4.148 0.14% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15455443.690op/s 15562266.550op/s ± 22488.138op/s 15563960.871op/s ± 8920.514op/s 15573385.089op/s 15594164.274op/s 15601828.902op/s 15613169.709op/s 0.32% -1.492 4.086 0.14% 1590.151op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.162µs 58.279µs ± 0.061µs 58.270µs ± 0.025µs 58.297µs 58.388µs 58.549µs 58.628µs 0.61% 2.018 7.914 0.10% 0.004µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17056816.553op/s 17158985.986op/s ± 18010.853op/s 17161434.824op/s ± 7372.545op/s 17168154.791op/s 17182528.032op/s 17188198.533op/s 17193334.144op/s 0.19% -2.000 7.804 0.10% 1273.560op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.915µs ± 0.003µs 3.915µs ± 0.001µs 3.916µs 3.919µs 3.929µs 3.932µs 0.44% 0.269 14.051 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254325954.133op/s 255432213.377op/s ± 219309.780op/s 255444932.156op/s ± 77133.615op/s 255514792.232op/s 255724976.665op/s 255847464.452op/s 256834707.171op/s 0.54% -0.228 14.119 0.09% 15507.543op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.558µs 54.776µs ± 0.225µs 54.667µs ± 0.044µs 54.813µs 55.182µs 55.548µs 55.750µs 1.98% 1.747 2.825 0.41% 0.016µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17937233.796op/s 18256354.981op/s ± 74374.072op/s 18292673.784op/s ± 14767.275op/s 18303487.272op/s 18317037.593op/s 18324809.910op/s 18329135.995op/s 0.20% -1.726 2.705 0.41% 5259.041op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.847µs 52.143µs ± 0.110µs 52.147µs ± 0.059µs 52.209µs 52.288µs 52.367µs 52.637µs 0.94% 0.134 1.850 0.21% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18998216.147op/s 19178120.002op/s ± 40336.334op/s 19176537.507op/s ± 21766.471op/s 19196761.986op/s 19251841.169op/s 19274237.269op/s 19287441.545op/s 0.58% -0.110 1.788 0.21% 2852.210op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.432µs 6.449µs ± 0.015µs 6.445µs ± 0.004µs 6.450µs 6.479µs 6.517µs 6.526µs 1.26% 2.907 9.761 0.23% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 153227687.464op/s 155059572.534op/s ± 353611.342op/s 155163332.138op/s ± 97743.911op/s 155244632.002op/s 155320881.368op/s 155390667.665op/s 155473819.730op/s 0.20% -2.885 9.599 0.23% 25004.098op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.915µs; 3.915µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255396548.581op/s; 255446896.320op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.071µs; 82.130µs] or [-0.036%; +0.036%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12175926.665op/s; 12184703.565op/s] or [-0.036%; +0.036%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [76.758µs; 76.839µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13014502.876op/s; 13028041.721op/s] or [-0.052%; +0.052%] None None None
credit_card/is_card_number/37828224631 execution_time [3.915µs; 3.916µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255392036.588op/s; 255446940.625op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [72.299µs; 72.382µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/378282246310005 throughput [13815844.400op/s; 13831632.927op/s] or [-0.057%; +0.057%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.108µs; 52.137µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19180179.094op/s; 19190882.459op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.442µs; 6.448µs] or [-0.047%; +0.047%] None None None
credit_card/is_card_number/x371413321323331 throughput [155089142.353op/s; 155231552.390op/s] or [-0.046%; +0.046%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255478172.400op/s; 255533920.513op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.245µs; 64.271µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15559149.910op/s; 15565383.189op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.270µs; 58.287µs] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17156489.855op/s; 17161482.117op/s] or [-0.015%; +0.015%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.914µs; 3.915µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255401819.151op/s; 255462607.603op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.745µs; 54.808µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18246047.450op/s; 18266662.512op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.128µs; 52.158µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19172529.775op/s; 19183710.230op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.447µs; 6.451µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155010565.402op/s; 155108579.665op/s] or [-0.032%; +0.032%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.433µs 505.650µs ± 0.527µs 505.615µs ± 0.289µs 505.912µs 506.279µs 506.512µs 510.411µs 0.95% 3.663 31.653 0.10% 0.037µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1959206.064op/s 1977653.671op/s ± 2054.092op/s 1977791.163op/s ± 1132.219op/s 1978862.723op/s 1980143.114op/s 1981068.258op/s 1982424.922op/s 0.23% -3.600 30.940 0.10% 145.246op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 452.149µs 452.961µs ± 0.379µs 452.958µs ± 0.263µs 453.220µs 453.618µs 454.025µs 454.177µs 0.27% 0.283 0.384 0.08% 0.027µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2201782.828op/s 2207694.817op/s ± 1848.550op/s 2207709.354op/s ± 1282.713op/s 2208996.103op/s 2210610.060op/s 2211573.508op/s 2211659.826op/s 0.18% -0.277 0.376 0.08% 130.712op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 174.425µs 176.079µs ± 0.452µs 176.154µs ± 0.270µs 176.375µs 176.690µs 176.819µs 177.257µs 0.63% -0.896 1.532 0.26% 0.032µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5641523.872op/s 5679310.626op/s ± 14604.368op/s 5676836.742op/s ± 8700.285op/s 5687646.827op/s 5707071.814op/s 5726594.652op/s 5733109.032op/s 0.99% 0.917 1.584 0.26% 1032.685op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.599µs 37.703µs ± 0.045µs 37.700µs ± 0.027µs 37.727µs 37.777µs 37.837µs 37.863µs 0.43% 0.621 0.912 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26410987.831op/s 26523474.404op/s ± 31727.500op/s 26525155.996op/s ± 19152.694op/s 26543975.887op/s 26571288.515op/s 26579707.200op/s 26596604.201op/s 0.27% -0.612 0.892 0.12% 2243.473op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.091µs 48.300µs ± 0.237µs 48.142µs ± 0.048µs 48.537µs 48.619µs 48.681µs 49.665µs 3.16% 1.232 3.593 0.49% 0.017µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20135095.427op/s 20704221.386op/s ± 101017.406op/s 20772035.087op/s ± 20693.399op/s 20789959.044op/s 20791967.647op/s 20792988.557op/s 20793788.004op/s 0.10% -1.175 3.155 0.49% 7143.009op/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.577µs; 505.723µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1977368.993op/s; 1977938.348op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [452.909µs; 453.014µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2207438.626op/s; 2207951.008op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [176.016µs; 176.141µs] or [-0.036%; +0.036%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5677286.601op/s; 5681334.651op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.696µs; 37.709µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26519077.278op/s; 26527871.530op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [48.268µs; 48.333µs] or [-0.068%; +0.068%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20690221.345op/s; 20718221.427op/s] or [-0.068%; +0.068%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.927µs 5.001µs ± 0.055µs 4.993µs ± 0.042µs 5.035µs 5.099µs 5.102µs 5.107µs 2.27% 0.620 -1.052 1.09% 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.993µs; 5.008µs] or [-0.151%; +0.151%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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 245.435ns 253.894ns ± 11.455ns 249.456ns ± 2.164ns 254.449ns 284.820ns 290.666ns 301.331ns 20.79% 2.308 4.412 4.50% 0.810ns 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 [252.307ns; 255.482ns] or [-0.625%; +0.625%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.718µs 25.921µs ± 11.448µs 17.989µs ± 0.182µs 35.789µs 44.951µs 45.991µs 90.792µs 404.70% 1.777 5.558 44.05% 0.809µ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.334µs; 27.507µs] or [-6.121%; +6.121%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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 32.532µs 33.405µs ± 1.194µs 32.678µs ± 0.102µs 35.075µs 35.345µs 35.629µs 35.769µs 9.46% 0.918 -1.099 3.56% 0.084µ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.240µs; 33.571µs] or [-0.495%; +0.495%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.009ms 6.026ms ± 0.006ms 6.026ms ± 0.003ms 6.029ms 6.035ms 6.040ms 6.067ms 0.67% 1.492 10.134 0.10% 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.026ms; 6.027ms] or [-0.014%; +0.014%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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 53.824ms 54.088ms ± 0.198ms 54.041ms ± 0.082ms 54.137ms 54.484ms 54.877ms 55.427ms 2.56% 2.886 12.693 0.37% 0.014ms 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.061ms; 54.116ms] or [-0.051%; +0.051%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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 148.455µs 149.011µs ± 1.174µs 148.872µs ± 0.129µs 149.055µs 149.338µs 150.010µs 165.166µs 10.94% 13.116 177.824 0.79% 0.083µ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.848µs; 149.173µs] or [-0.109%; +0.109%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28563b3 1742981360 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.320µs 2.376µs ± 0.017µs 2.377µs ± 0.012µs 2.388µs 2.399µs 2.404µs 2.416µs 1.64% -0.844 1.280 0.71% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.374µs; 2.379µs] or [-0.098%; +0.098%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Mar 19, 2025

Codecov Report

Attention: Patch coverage is 91.35135% with 16 lines in your changes missing coverage. Please review.

Project coverage is 72.89%. Comparing base (99c1190) to head (31c54b1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #947      +/-   ##
==========================================
+ Coverage   72.85%   72.89%   +0.04%     
==========================================
  Files         334      335       +1     
  Lines       50974    51159     +185     
==========================================
+ Hits        37135    37294     +159     
- Misses      13839    13865      +26     
Components Coverage Δ
crashtracker 42.82% <ø> (-0.03%) ⬇️
crashtracker-ffi 6.25% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.94% <91.35%> (-0.03%) ⬇️
data-pipeline-ffi 90.48% <91.35%> (+0.20%) ⬆️
ddcommon 81.37% <ø> (ø)
ddcommon-ffi 66.10% <ø> (ø)
ddtelemetry 61.87% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 89.70% <ø> (ø)
dogstatsd-client 82.57% <ø> (ø)
ipc 82.47% <ø> (-0.05%) ⬇️
profiling 81.86% <ø> (ø)
profiling-ffi 70.68% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 41.53% <ø> (ø)
sidecar-ffi 5.58% <ø> (ø)
spawn-worker 54.37% <ø> (ø)
tinybytes 91.24% <ø> (ø)
trace-mini-agent 74.66% <ø> (ø)
trace-normalization 98.24% <ø> (ø)
trace-obfuscation 96.00% <ø> (ø)
trace-protobuf 78.13% <ø> (ø)
trace-utils 92.87% <ø> (ø)
🚀 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

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