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

Support http-proxy for trace agent, remove proxy from dsd #658

Merged
merged 30 commits into from
Oct 2, 2024

Conversation

astuyve
Copy link
Contributor

@astuyve astuyve commented Sep 30, 2024

What does this PR do?

reqwest supports system proxy by default, no code changes needed (just HTTPS_PROXY set).
hyper client doesn't seem to, but this crate works and I'm able to see the proxied traffic logged and traces show up

squid proxy:
image
Traces:
image

Motivation

Support folks in isolated VPCs without privatelink access.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@pr-commenter
Copy link

pr-commenter bot commented Sep 30, 2024

Benchmarks

Comparison

Benchmark execution time: 2024-10-02 18:42:29

Comparing candidate commit de6c44d in PR branch aj/dd-proxy-tracing with baseline commit b8a7d2d in branch main.

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

scenario:benching string interning on wordpress profile

  • 🟥 execution_time [+2.892µs; +3.460µs] or [+2.011%; +2.406%]

scenario:concentrator/add_spans_to_concentrator

  • 🟥 execution_time [+544.273µs; +551.377µs] or [+5.885%; +5.962%]

scenario:credit_card/is_card_number/

  • 🟩 execution_time [-799.503ns; -799.169ns] or [-39.689%; -39.672%]
  • 🟩 throughput [+326499832.814op/s; +326616704.000op/s] or [+65.771%; +65.795%]

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

  • 🟩 execution_time [-3.630µs; -3.477µs] or [-3.001%; -2.874%]
  • 🟩 throughput [+244812.765op/s; +255731.306op/s] or [+2.962%; +3.094%]

scenario:credit_card/is_card_number/ 378282246310005

  • 🟩 execution_time [-3.436µs; -3.249µs] or [-3.077%; -2.910%]
  • 🟩 throughput [+268534.058op/s; +283855.594op/s] or [+2.998%; +3.169%]

scenario:credit_card/is_card_number/37828224631

  • 🟩 execution_time [-799.622ns; -799.070ns] or [-39.695%; -39.668%]
  • 🟩 throughput [+326485566.793op/s; +326685284.946op/s] or [+65.767%; +65.807%]

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-3.491µs; -3.292µs] or [-3.239%; -3.055%]
  • 🟩 throughput [+292497.997op/s; +310124.143op/s] or [+3.152%; +3.342%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟩 execution_time [-9.812µs; -9.602µs] or [-8.609%; -8.425%]
  • 🟩 throughput [+807984.490op/s; +825972.237op/s] or [+9.208%; +9.413%]

scenario:credit_card/is_card_number_no_luhn/

  • 🟩 execution_time [-799.323ns; -799.115ns] or [-39.683%; -39.673%]
  • 🟩 throughput [+326502290.522op/s; +326599311.681op/s] or [+65.767%; +65.786%]

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

  • 🟩 execution_time [-2.316µs; -2.190µs] or [-2.356%; -2.227%]
  • 🟩 throughput [+231922.638op/s; +245297.266op/s] or [+2.280%; +2.412%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟩 execution_time [-2.100µs; -1.958µs] or [-2.345%; -2.187%]
  • 🟩 throughput [+250077.290op/s; +268498.226op/s] or [+2.239%; +2.404%]

scenario:credit_card/is_card_number_no_luhn/37828224631

  • 🟩 execution_time [-799.213ns; -798.989ns] or [-39.679%; -39.668%]
  • 🟩 throughput [+326445490.760op/s; +326547733.850op/s] or [+65.753%; +65.774%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟩 execution_time [-2.199µs; -2.065µs] or [-2.570%; -2.413%]
  • 🟩 throughput [+289408.351op/s; +308579.334op/s] or [+2.476%; +2.640%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟩 execution_time [-9.988µs; -9.796µs] or [-8.752%; -8.584%]
  • 🟩 throughput [+823450.159op/s; +840220.766op/s] or [+9.397%; +9.589%]

scenario:redis/obfuscate_redis_string

  • 🟥 execution_time [+1.457µs; +1.802µs] or [+3.737%; +4.622%]

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 de6c44d 1727893922 aj/dd-proxy-tracing
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 178.739µs 179.699µs ± 0.481µs 179.682µs ± 0.301µs 179.967µs 180.524µs 180.936µs 181.805µs 1.18% 0.629 1.148 0.27% 0.034µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5500395.089op/s 5564903.079op/s ± 14867.636op/s 5565383.988op/s ± 9321.035op/s 5575392.038op/s 5587964.960op/s 5594123.849op/s 5594746.069op/s 0.53% -0.607 1.080 0.27% 1051.301op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 20.048µs 20.202µs ± 0.076µs 20.191µs ± 0.049µs 20.247µs 20.348µs 20.406µs 20.417µs 1.12% 0.590 0.022 0.37% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 48977761.089op/s 49501233.787op/s ± 184938.370op/s 49526500.588op/s ± 121012.340op/s 49636197.171op/s 49739668.510op/s 49869776.026op/s 49879894.465op/s 0.71% -0.572 -0.006 0.37% 13077.118op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 13.104µs 13.139µs ± 0.027µs 13.125µs ± 0.007µs 13.160µs 13.194µs 13.213µs 13.214µs 0.68% 1.127 0.108 0.21% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 75678974.672op/s 76111142.831op/s ± 156090.682op/s 76190593.227op/s ± 42976.600op/s 76219055.410op/s 76250537.252op/s 76279068.206op/s 76313844.378op/s 0.16% -1.122 0.092 0.20% 11037.278op/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 [179.632µs; 179.766µs] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5562842.567op/s; 5566963.590op/s] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [20.191µs; 20.212µs] or [-0.052%; +0.052%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [49475603.108op/s; 49526864.467op/s] or [-0.052%; +0.052%] None None None
normalization/normalize_name/normalize_name/good execution_time [13.135µs; 13.142µs] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/good throughput [76089510.164op/s; 76132775.498op/s] or [-0.028%; +0.028%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 9.751ms 9.796ms ± 0.022ms 9.794ms ± 0.009ms 9.802ms 9.821ms 9.898ms 9.979ms 1.88% 3.748 25.168 0.23% 0.002ms 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 [9.793ms; 9.799ms] or [-0.032%; +0.032%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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.727µs 2.755µs ± 0.023µs 2.750µs ± 0.007µs 2.757µs 2.817µs 2.857µs 2.861µs 4.01% 2.695 7.827 0.84% 0.002µ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.751µs; 2.758µs] or [-0.116%; +0.116%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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.346µs 25.304µs ± 11.481µs 20.657µs ± 1.960µs 22.282µs 41.884µs 42.774µs 113.149µs 447.76% 3.442 19.132 45.26% 0.812µ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.713µs; 26.895µs] or [-6.288%; +6.288%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 1.124µs 1.192µs ± 0.025µs 1.200µs ± 0.014µs 1.212µs 1.215µs 1.216µs 1.217µs 1.38% -1.351 1.018 2.10% 0.002µs 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 [1.189µs; 1.196µs] or [-0.292%; +0.292%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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.772µs 506.303µs ± 0.539µs 506.399µs ± 0.281µs 506.620µs 506.940µs 507.159µs 509.737µs 0.66% 0.637 7.518 0.11% 0.038µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1961796.664op/s 1975102.529op/s ± 2101.365op/s 1974726.865op/s ± 1095.623op/s 1976085.070op/s 1978944.139op/s 1980513.681op/s 1981091.530op/s 0.32% -0.608 7.342 0.11% 148.589op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 468.197µs 468.986µs ± 0.286µs 468.980µs ± 0.173µs 469.128µs 469.444µs 469.701µs 470.449µs 0.31% 0.757 2.965 0.06% 0.020µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2125630.109op/s 2132260.793op/s ± 1298.122op/s 2132285.296op/s ± 785.972op/s 2133122.925op/s 2134193.780op/s 2135029.265op/s 2135852.110op/s 0.17% -0.749 2.933 0.06% 91.791op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 211.924µs 213.064µs ± 0.269µs 213.162µs ± 0.090µs 213.218µs 213.341µs 213.391µs 213.468µs 0.14% -1.790 3.482 0.13% 0.019µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 4684537.396op/s 4693423.968op/s ± 5941.474op/s 4691265.229op/s ± 1973.162op/s 4694703.742op/s 4705495.427op/s 4714020.877op/s 4718663.454op/s 0.58% 1.798 3.524 0.13% 420.126op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 45.745µs 45.987µs ± 0.156µs 45.944µs ± 0.058µs 46.005µs 46.353µs 46.413µs 46.480µs 1.17% 1.467 1.248 0.34% 0.011µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 21514849.900op/s 21745370.063op/s ± 73501.307op/s 21765691.562op/s ± 27674.517op/s 21792287.356op/s 21818904.502op/s 21837261.250op/s 21860336.327op/s 0.43% -1.456 1.220 0.34% 5197.327op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 54.073µs 54.345µs ± 0.213µs 54.273µs ± 0.182µs 54.520µs 54.679µs 54.702µs 54.724µs 0.83% 0.247 -1.483 0.39% 0.015µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 18273681.097op/s 18401118.944op/s ± 72159.095op/s 18425371.994op/s ± 62091.249op/s 18467386.247op/s 18489104.559op/s 18491990.237op/s 18493394.740op/s 0.37% -0.242 -1.486 0.39% 5102.419op/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 [506.229µs; 506.378µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1974811.300op/s; 1975393.758op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [468.946µs; 469.026µs] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2132080.886op/s; 2132440.701op/s] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [213.027µs; 213.102µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [4692600.536op/s; 4694247.399op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [45.966µs; 46.009µs] or [-0.047%; +0.047%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21735183.489op/s; 21755556.637op/s] or [-0.047%; +0.047%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [54.316µs; 54.375µs] or [-0.054%; +0.054%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [18391118.387op/s; 18411119.500op/s] or [-0.054%; +0.054%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 1.214µs 1.215µs ± 0.000µs 1.215µs ± 0.000µs 1.215µs 1.216µs 1.216µs 1.217µs 0.16% 0.919 0.746 0.04% 0.000µs 1 200
credit_card/is_card_number/ throughput 821685713.701op/s 822973963.119op/s ± 322071.007op/s 823017736.032op/s ± 212178.665op/s 823231389.763op/s 823373354.535op/s 823426730.243op/s 823505714.859op/s 0.06% -0.917 0.739 0.04% 22773.859op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 116.893µs 117.421µs ± 0.475µs 117.261µs ± 0.272µs 117.773µs 118.420µs 118.710µs 118.938µs 1.43% 0.993 0.167 0.40% 0.034µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 8407723.765op/s 8516497.298op/s ± 34288.239op/s 8527950.386op/s ± 19749.794op/s 8545315.324op/s 8551650.933op/s 8552972.618op/s 8554810.922op/s 0.31% -0.979 0.124 0.40% 2424.545op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 107.947µs 108.314µs ± 0.316µs 108.187µs ± 0.060µs 108.330µs 109.025µs 109.285µs 109.676µs 1.38% 1.829 2.757 0.29% 0.022µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 9117787.401op/s 9232501.380op/s ± 26829.370op/s 9243250.601op/s ± 5136.364op/s 9247625.610op/s 9257072.041op/s 9261777.379op/s 9263793.390op/s 0.22% -1.817 2.697 0.29% 1897.123op/s 1 200
credit_card/is_card_number/37828224631 execution_time 1.214µs 1.215µs ± 0.001µs 1.215µs ± 0.000µs 1.215µs 1.216µs 1.218µs 1.221µs 0.48% 2.622 14.041 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 819158047.643op/s 823012919.172op/s ± 571164.588op/s 823098888.848op/s ± 241496.933op/s 823290756.468op/s 823838847.514op/s 823945913.960op/s 823962111.557op/s 0.10% -2.603 13.895 0.07% 40387.435op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 103.834µs 104.374µs ± 0.365µs 104.197µs ± 0.076µs 104.536µs 105.148µs 105.520µs 105.712µs 1.45% 1.579 1.822 0.35% 0.026µs 1 200
credit_card/is_card_number/378282246310005 throughput 9459661.196op/s 9581041.489op/s ± 33315.201op/s 9597169.315op/s ± 7040.690op/s 9602226.276op/s 9611036.401op/s 9616148.111op/s 9630737.462op/s 0.35% -1.565 1.766 0.35% 2355.740op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 103.035µs 104.263µs ± 0.563µs 104.272µs ± 0.400µs 104.661µs 105.208µs 105.465µs 106.021µs 1.68% 0.141 -0.230 0.54% 0.040µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 9432077.888op/s 9591375.752op/s ± 51777.586op/s 9590264.443op/s ± 36758.764op/s 9627545.871op/s 9675085.246op/s 9701014.476op/s 9705443.824op/s 1.20% -0.113 -0.250 0.54% 3661.228op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 22.855µs 23.808µs ± 0.364µs 23.785µs ± 0.213µs 23.998µs 24.515µs 24.748µs 24.786µs 4.21% 0.427 0.147 1.52% 0.026µs 1 200
credit_card/is_card_number/x371413321323331 throughput 40345888.480op/s 42012747.169op/s ± 638382.482op/s 42043342.576op/s ± 374021.804op/s 42419129.370op/s 42930889.621op/s 43373699.741op/s 43754536.009op/s 4.07% -0.337 0.099 1.52% 45140.458op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 1.214µs 1.215µs ± 0.000µs 1.215µs ± 0.000µs 1.215µs 1.216µs 1.216µs 1.217µs 0.16% 1.110 1.321 0.04% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 821735349.297op/s 823007273.935op/s ± 319203.915op/s 823077945.500op/s ± 206653.694op/s 823265791.361op/s 823360121.250op/s 823416819.366op/s 823466988.129op/s 0.05% -1.108 1.311 0.04% 22571.125op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 95.559µs 96.064µs ± 0.363µs 95.992µs ± 0.233µs 96.233µs 96.736µs 96.983µs 97.820µs 1.90% 1.360 2.643 0.38% 0.026µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 10222843.238op/s 10409831.453op/s ± 39111.223op/s 10417561.420op/s ± 25295.022op/s 10442352.881op/s 10449405.732op/s 10462815.525op/s 10464742.221op/s 0.45% -1.328 2.485 0.37% 2765.581op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 86.497µs 87.508µs ± 0.488µs 87.432µs ± 0.336µs 87.867µs 88.368µs 88.720µs 88.922µs 1.70% 0.391 -0.269 0.56% 0.035µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 11245766.947op/s 11427862.763op/s ± 63651.884op/s 11437495.269op/s ± 43861.100op/s 11477364.652op/s 11524181.134op/s 11550353.040op/s 11561045.790op/s 1.08% -0.364 -0.297 0.56% 4500.868op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 1.215µs 1.215µs ± 0.000µs 1.215µs ± 0.000µs 1.215µs 1.216µs 1.217µs 1.217µs 0.18% 1.459 3.253 0.04% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 821517079.520op/s 822968001.786op/s ± 333518.421op/s 822992346.189op/s ± 231200.168op/s 823243227.214op/s 823311973.490op/s 823367145.998op/s 823376612.463op/s 0.05% -1.456 3.234 0.04% 23583.314op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 82.482µs 83.430µs ± 0.467µs 83.400µs ± 0.352µs 83.767µs 84.217µs 84.460µs 84.758µs 1.63% 0.123 -0.450 0.56% 0.033µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 11798326.486op/s 11986417.377op/s ± 67097.191op/s 11990439.434op/s ± 50374.364op/s 12032925.695op/s 12097682.192op/s 12119248.939op/s 12123894.074op/s 1.11% -0.097 -0.468 0.56% 4744.488op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 102.857µs 104.229µs ± 0.568µs 104.268µs ± 0.431µs 104.610µs 105.096µs 105.358µs 105.660µs 1.34% -0.011 -0.640 0.54% 0.040µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 9464278.461op/s 9594566.271op/s ± 52285.587op/s 9590673.569op/s ± 39784.755op/s 9634828.247op/s 9679286.475op/s 9707672.393op/s 9722208.157op/s 1.37% 0.034 -0.639 0.54% 3697.149op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 23.028µs 23.818µs ± 0.350µs 23.837µs ± 0.268µs 24.072µs 24.375µs 24.475µs 24.643µs 3.38% 0.030 -0.742 1.47% 0.025µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 40580000.113op/s 41993667.418op/s ± 617103.022op/s 41952218.908op/s ± 467792.693op/s 42470405.744op/s 42998023.584op/s 43294201.942op/s 43425327.338op/s 3.51% 0.026 -0.735 1.47% 43635.773op/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 [1.215µs; 1.215µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/ throughput [822929327.175op/s; 823018599.063op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [117.355µs; 117.487µs] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [8511745.277op/s; 8521249.318op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [108.270µs; 108.358µs] or [-0.040%; +0.040%] None None None
credit_card/is_card_number/ 378282246310005 throughput [9228783.087op/s; 9236219.672op/s] or [-0.040%; +0.040%] None None None
credit_card/is_card_number/37828224631 execution_time [1.215µs; 1.215µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [822933761.253op/s; 823092077.091op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [104.323µs; 104.425µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number/378282246310005 throughput [9576424.323op/s; 9585658.656op/s] or [-0.048%; +0.048%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [104.185µs; 104.341µs] or [-0.075%; +0.075%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [9584199.876op/s; 9598551.627op/s] or [-0.075%; +0.075%] None None None
credit_card/is_card_number/x371413321323331 execution_time [23.757µs; 23.858µs] or [-0.212%; +0.212%] None None None
credit_card/is_card_number/x371413321323331 throughput [41924273.497op/s; 42101220.841op/s] or [-0.211%; +0.211%] None None None
credit_card/is_card_number_no_luhn/ execution_time [1.215µs; 1.215µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/ throughput [822963035.342op/s; 823051512.528op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [96.014µs; 96.115µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [10404411.014op/s; 10415251.893op/s] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [87.440µs; 87.576µs] or [-0.077%; +0.077%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [11419041.224op/s; 11436684.302op/s] or [-0.077%; +0.077%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [1.215µs; 1.215µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [822921779.340op/s; 823014224.231op/s] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [83.366µs; 83.495µs] or [-0.078%; +0.078%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [11977118.352op/s; 11995716.402op/s] or [-0.078%; +0.078%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [104.150µs; 104.307µs] or [-0.076%; +0.076%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [9587319.991op/s; 9601812.550op/s] or [-0.076%; +0.076%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [23.770µs; 23.867µs] or [-0.204%; +0.204%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [41908142.874op/s; 42079191.961op/s] or [-0.204%; +0.204%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 40.172µs 40.615µs ± 0.618µs 40.358µs ± 0.107µs 40.507µs 41.872µs 41.919µs 43.534µs 7.87% 1.827 2.411 1.52% 0.044µ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 [40.529µs; 40.701µs] or [-0.211%; +0.211%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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.385µs 3.175µs ± 1.553µs 3.020µs ± 0.022µs 3.039µs 3.102µs 13.793µs 17.998µs 495.95% 8.021 65.166 48.80% 0.110µ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.960µs; 3.390µs] or [-6.780%; +6.780%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 262.661ns 272.758ns ± 14.625ns 265.584ns ± 2.112ns 270.282ns 307.693ns 316.143ns 316.941ns 19.34% 1.697 1.593 5.35% 1.034ns 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 [270.731ns; 274.785ns] or [-0.743%; +0.743%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 146.073µs 146.942µs ± 1.991µs 146.788µs ± 0.190µs 146.973µs 147.317µs 147.936µs 174.553µs 18.92% 13.434 183.770 1.35% 0.141µ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 [146.666µs; 147.218µs] or [-0.188%; +0.188%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz de6c44d 1727893922 aj/dd-proxy-tracing
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 73.161µs 73.331µs ± 0.204µs 73.244µs ± 0.041µs 73.403µs 73.623µs 74.013µs 74.881µs 2.23% 3.301 17.674 0.28% 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 [73.303µs; 73.360µs] or [-0.039%; +0.039%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Sep 30, 2024

Codecov Report

Attention: Patch coverage is 81.25000% with 9 lines in your changes missing coverage. Please review.

Project coverage is 71.97%. Comparing base (b8a7d2d) to head (de6c44d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #658      +/-   ##
==========================================
+ Coverage   71.86%   71.97%   +0.11%     
==========================================
  Files         271      271              
  Lines       40654    40628      -26     
==========================================
+ Hits        29215    29242      +27     
+ Misses      11439    11386      -53     
Components Coverage Δ
crashtracker 20.36% <ø> (-0.06%) ⬇️
crashtracker-ffi 9.07% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 93.33% <100.00%> (+0.62%) ⬆️
data-pipeline-ffi 0.00% <ø> (ø)
ddcommon 82.73% <ø> (ø)
ddcommon-ffi 69.12% <ø> (ø)
ddtelemetry 59.10% <ø> (ø)
ddtelemetry-ffi 22.13% <ø> (ø)
dogstatsd 90.90% <100.00%> (+0.47%) ⬆️
dogstatsd-client 79.77% <ø> (ø)
ipc 82.69% <ø> (ø)
profiling 84.26% <ø> (ø)
profiling-ffi 77.42% <ø> (ø)
serverless 0.00% <0.00%> (ø)
sidecar 36.35% <0.00%> (ø)
sidecar-ffi 0.00% <ø> (ø)
spawn-worker 50.36% <ø> (ø)
tinybytes 94.77% <ø> (ø)
trace-mini-agent 72.66% <100.00%> (+0.19%) ⬆️
trace-normalization 98.25% <ø> (ø)
trace-obfuscation 95.73% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 93.36% <78.12%> (-0.11%) ⬇️

@@ -30,8 +30,6 @@ pub async fn main() {
Builder::from_env(env).target(Target::Stdout).init();

let dd_api_key: Option<String> = env::var("DD_API_KEY").ok();
let dd_http_proxy: Option<String> = env::var("DD_HTTP_PROXY").ok();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This was always wrong. DD_HTTP(S)_PROXY is used for proxying requests made by the agent for checks or integrations. To proxy the agents connection to Datadog, we've required HTTPS_PROXY be set.

@bwoebi
Copy link
Contributor

bwoebi commented Oct 1, 2024

The hyper-proxy dependency probably should be either behind a feature flag in trace-utils, or we support proxying in general, at which point it likely should become part of ddcommon.

@astuyve
Copy link
Contributor Author

astuyve commented Oct 2, 2024

These tests are very slow in libdatadog:
image

But when they were in the Lambda extension repo, they ran in thousandths of a second:
image
https://github.com/DataDog/datadog-lambda-extension/actions/runs/10458673752/job/28961015054#step:9:620
Anyone know why?

@bwoebi
Copy link
Contributor

bwoebi commented Oct 2, 2024

@astuyve These are the miri tests. Miri does things and is slow by design, and some codes can make it even slower... They are still fast in e.g. Test / cargo test --workspace #ubuntu-latest.

@astuyve
Copy link
Contributor Author

astuyve commented Oct 2, 2024

Thanks @bwoebi!! Disabling Miri in another PR: #661

@astuyve astuyve merged commit abc6cd6 into main Oct 2, 2024
30 checks passed
@astuyve astuyve deleted the aj/dd-proxy-tracing branch October 2, 2024 19:53
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.

5 participants