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

[NO-TICKET] First step of migration from hyper 0.x to 1.x #682

Merged
merged 5 commits into from
Oct 18, 2024

Conversation

ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented Oct 18, 2024

What does this PR do?

This PR takes the first step to migrate libdatadog from using version 0.x of the hyper http library crate to version 1.x.

Specifically, it enables the recommended "backports" and "deprecated" features from the upgrade guide, which give us warnings and a bridge to start adopting the new APIs from 1.x.

I then did a pass and fixed every deprecation and warning I could find.

Motivation

I've started seeing issues with keeping packages up-to-date because newer versions require hyper 1.x, and the hyper 0.x-based ecosystem is getting increasingly unmaintained/abandoned.

Additional Notes

During this week's weekly meeting, I took an action item to identify what teams needed to be involved in this migration for which packages. These are:

  • @DataDog/libdatadog-profiling:
    • crashtracker, crashtracker-ffi, profiling, profiling-ffi
  • @DataDog/libdatadog-apm
    • data-pipeline
  • @DataDog/libdatadog-core
    • ddcommon, ddcommon-ffi, live-debugger
  • @DataDog/libdatadog-telemetry
    • ddtelemetry
  • @DataDog/libdatadog-php @DataDog/remote-config @DataDog/libdatadog-apm
    • remote-config
  • @DataDog/libdatadog-php @DataDog/libdatadog-apm
    • sidecar, sidecar-ffi
  • @DataDog/serverless
    • trace-mini-agent
  • @DataDog/serverless @DataDog/libdatadog-apm
    • trace-utils

We'll need to move all these packages to hyper 1.x (but not for this PR! :).

How to test the change?

Hopefully our existing test coverage is enough for us to be able to validate that everything is working nicely with these small API changes.

These features will help us migrate to 1.x, as suggested in the
migration guide: https://hyper.rs/guides/1/upgrading/ .
Without this tweak, I was getting

```
   Compiling hyper v0.14.28
error[E0599]: no method named `set_http1_header_read_timeout` found for struct `Conn` in the current scope
   --> /home/ivo.anjo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.14.28/src/server/conn/http1.rs:374:18
    |
374 |             conn.set_http1_header_read_timeout(header_read_timeout);
    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method not found in `Conn<I, _, _>`
    |
   ::: /home/ivo.anjo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hyper-0.14.28/src/proto/h1/conn.rs:34:1
    |
34  | pub(crate) struct Conn<I, B, T> {
    | ------------------------------- method `set_http1_header_read_timeout` not found for this struct
```

and indeed this method is

```rust
    #[cfg(all(feature = "server", feature = "runtime"))]
    pub(crate) fn set_http1_header_read_timeout(&mut self, val: Duration) {
        self.state.h1_header_read_timeout = Some(val);
    }
```
@pr-commenter
Copy link

pr-commenter bot commented Oct 18, 2024

Benchmarks

Comparison

Benchmark execution time: 2024-10-18 09:47:33

Comparing candidate commit 07765cf in PR branch ivoanjo/hyper-0-to-1-migration with baseline commit e9a0af0 in branch main.

Found 9 performance improvements and 11 performance regressions! Performance is the same for 31 metrics, 2 unstable metrics.

scenario:concentrator/add_spans_to_concentrator

  • 🟥 execution_time [+189.721µs; +196.563µs] or [+2.129%; +2.206%]

scenario:credit_card/is_card_number/

  • 🟩 execution_time [-798.544ns; -798.222ns] or [-39.652%; -39.636%]
  • 🟩 throughput [+326093714.989op/s; +326204055.625op/s] or [+65.672%; +65.694%]

scenario:credit_card/is_card_number/37828224631

  • 🟩 execution_time [-798.968ns; -798.521ns] or [-39.671%; -39.648%]
  • 🟩 throughput [+326236216.424op/s; +326451720.434op/s] or [+65.704%; +65.748%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+8.208µs; +8.419µs] or [+7.837%; +8.039%]
  • 🟥 throughput [-711526.774op/s; -693238.125op/s] or [-7.451%; -7.260%]

scenario:credit_card/is_card_number_no_luhn/

  • 🟩 execution_time [-799.052ns; -798.782ns] or [-39.677%; -39.663%]
  • 🟩 throughput [+326431254.726op/s; +326585499.051op/s] or [+65.740%; +65.771%]

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

  • 🟥 execution_time [+6.151µs; +6.297µs] or [+6.280%; +6.429%]
  • 🟥 throughput [-617379.793op/s; -602844.188op/s] or [-6.047%; -5.904%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+5.709µs; +5.864µs] or [+6.424%; +6.598%]
  • 🟥 throughput [-697156.632op/s; -678636.376op/s] or [-6.196%; -6.031%]

scenario:credit_card/is_card_number_no_luhn/37828224631

  • 🟩 execution_time [-798.674ns; -798.420ns] or [-39.660%; -39.647%]
  • 🟩 throughput [+326236561.725op/s; +326344808.136op/s] or [+65.698%; +65.720%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+5.771µs; +5.928µs] or [+6.829%; +7.015%]
  • 🟥 throughput [-776782.802op/s; -755831.075op/s] or [-6.564%; -6.387%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+7.940µs; +8.161µs] or [+7.561%; +7.772%]
  • 🟥 throughput [-687707.377op/s; -668794.013op/s] or [-7.221%; -7.023%]

scenario:sql/obfuscate_sql_string

  • 🟩 execution_time [-6.244µs; -6.147µs] or [-7.922%; -7.799%]

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 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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 189.598µs 192.677µs ± 1.168µs 192.681µs ± 0.648µs 193.218µs 194.663µs 196.600µs 197.533µs 2.52% 0.699 1.938 0.60% 0.083µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5062447.960op/s 5190225.565op/s ± 31346.166op/s 5189928.514op/s ± 17506.224op/s 5210231.204op/s 5235292.543op/s 5252869.623op/s 5274312.847op/s 1.63% -0.637 1.786 0.60% 2216.509op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.174µs 18.207µs ± 0.025µs 18.192µs ± 0.014µs 18.225µs 18.250µs 18.285µs 18.291µs 0.54% 0.911 0.563 0.14% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54671468.490op/s 54923866.013op/s ± 75066.717op/s 54968180.179op/s ± 42500.291op/s 54986468.902op/s 55003290.409op/s 55016487.749op/s 55024070.699op/s 0.10% -0.904 0.537 0.14% 5308.018op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 11.325µs 11.379µs ± 0.032µs 11.373µs ± 0.013µs 11.398µs 11.430µs 11.465µs 11.591µs 1.92% 1.917 9.101 0.28% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 86274821.704op/s 87880458.376op/s ± 243376.251op/s 87931171.971op/s ± 102627.511op/s 88013974.970op/s 88220672.452op/s 88247055.372op/s 88296748.817op/s 0.42% -1.857 8.614 0.28% 17209.300op/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 [192.515µs; 192.839µs] or [-0.084%; +0.084%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5185881.288op/s; 5194569.842op/s] or [-0.084%; +0.084%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.204µs; 18.211µs] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54913462.488op/s; 54934269.538op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_name/normalize_name/good execution_time [11.375µs; 11.384µs] or [-0.039%; +0.039%] None None None
normalization/normalize_name/normalize_name/good throughput [87846728.769op/s; 87914187.984op/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 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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.215µs 1.216µs ± 0.000µs 1.216µs ± 0.000µs 1.216µs 1.216µs 1.217µs 1.218µs 0.22% 1.152 5.145 0.04% 0.000µs 1 200
credit_card/is_card_number/ throughput 820914933.039op/s 822699537.088op/s ± 297598.217op/s 822689019.254op/s ± 214075.717op/s 822949077.229op/s 823107611.777op/s 823186505.822op/s 823251965.329op/s 0.07% -1.146 5.102 0.04% 21043.372op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 117.781µs 119.790µs ± 0.569µs 119.814µs ± 0.343µs 120.107µs 120.673µs 121.126µs 121.478µs 1.39% -0.036 0.784 0.47% 0.040µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 8231970.661op/s 8348140.030op/s ± 39642.141op/s 8346301.980op/s ± 23935.617op/s 8373161.088op/s 8407036.874op/s 8443353.760op/s 8490345.769op/s 1.73% 0.076 0.801 0.47% 2803.123op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 109.225µs 110.597µs ± 0.532µs 110.599µs ± 0.220µs 110.784µs 111.560µs 112.125µs 112.330µs 1.57% 0.548 1.205 0.48% 0.038µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 8902335.219op/s 9042023.074op/s ± 43390.203op/s 9041704.964op/s ± 17927.906op/s 9067250.453op/s 9106649.778op/s 9137423.743op/s 9155404.848op/s 1.26% -0.506 1.149 0.48% 3068.151op/s 1 200
credit_card/is_card_number/37828224631 execution_time 1.213µs 1.215µs ± 0.001µs 1.215µs ± 0.000µs 1.216µs 1.216µs 1.216µs 1.228µs 1.04% 8.153 94.913 0.09% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 814425116.657op/s 822865896.160op/s ± 718210.082op/s 822905063.753op/s ± 232388.661op/s 823084347.166op/s 823628219.151op/s 823967640.439op/s 824101640.136op/s 0.15% -8.073 93.702 0.09% 50785.122op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 105.015µs 106.591µs ± 0.595µs 106.584µs ± 0.365µs 106.936µs 107.605µs 108.042µs 108.815µs 2.09% 0.395 0.918 0.56% 0.042µs 1 200
credit_card/is_card_number/378282246310005 throughput 9189902.292op/s 9381975.196op/s ± 52220.962op/s 9382246.445op/s ± 32098.638op/s 9415098.569op/s 9460745.260op/s 9498975.192op/s 9522448.209op/s 1.49% -0.349 0.857 0.56% 3692.580op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 112.038µs 113.042µs ± 0.456µs 113.010µs ± 0.319µs 113.390µs 113.781µs 114.089µs 114.217µs 1.07% 0.171 -0.422 0.40% 0.032µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 8755289.941op/s 8846419.802op/s ± 35689.805op/s 8848765.207op/s ± 25016.920op/s 8869817.565op/s 8902811.520op/s 8920144.522op/s 8925518.951op/s 0.87% -0.153 -0.429 0.40% 2523.650op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 22.898µs 24.164µs ± 0.311µs 24.280µs ± 0.175µs 24.417µs 24.474µs 24.604µs 24.632µs 1.45% -1.144 1.102 1.28% 0.022µs 1 200
credit_card/is_card_number/x371413321323331 throughput 40596966.099op/s 41390525.612op/s ± 540385.863op/s 41186317.653op/s ± 293916.718op/s 41736602.471op/s 42464839.107op/s 43030361.552op/s 43672790.762op/s 6.04% 1.216 1.391 1.30% 38211.051op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 1.213µs 1.215µs ± 0.001µs 1.215µs ± 0.001µs 1.216µs 1.216µs 1.217µs 1.217µs 0.14% -0.329 -0.655 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 821823837.646op/s 823057394.143op/s ± 538863.929op/s 822993773.889op/s ± 371994.843op/s 823524104.160op/s 824005759.393op/s 824098987.679op/s 824137657.832op/s 0.14% 0.332 -0.655 0.07% 38103.434op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 103.194µs 104.167µs ± 0.325µs 104.179µs ± 0.206µs 104.379µs 104.680µs 104.823µs 105.199µs 0.98% -0.178 0.358 0.31% 0.023µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 9505826.725op/s 9600029.188op/s ± 30009.927op/s 9598896.127op/s ± 18976.265op/s 9618621.912op/s 9649905.806op/s 9674523.754op/s 9690512.292op/s 0.95% 0.200 0.368 0.31% 2122.022op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 93.776µs 94.663µs ± 0.388µs 94.688µs ± 0.280µs 94.963µs 95.240µs 95.444µs 95.857µs 1.23% -0.009 -0.500 0.41% 0.027µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 10432206.307op/s 10564004.748op/s ± 43325.435op/s 10561023.487op/s ± 31288.621op/s 10598187.450op/s 10633175.241op/s 10647934.717op/s 10663659.917op/s 0.97% 0.027 -0.515 0.41% 3063.571op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 1.214µs 1.215µs ± 0.001µs 1.215µs ± 0.000µs 1.216µs 1.216µs 1.216µs 1.217µs 0.13% -0.259 0.041 0.04% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 821793512.674op/s 822858734.822op/s ± 341946.333op/s 822824065.972op/s ± 239374.152op/s 823083949.866op/s 823528605.491op/s 823607102.327op/s 823667506.912op/s 0.10% 0.261 0.040 0.04% 24179.257op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 89.611µs 90.351µs ± 0.337µs 90.333µs ± 0.214µs 90.525µs 90.974µs 91.213µs 91.301µs 1.07% 0.424 -0.080 0.37% 0.024µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 10952802.008op/s 11068114.792op/s ± 41203.567op/s 11070105.825op/s ± 26255.142op/s 11100218.135op/s 11123677.026op/s 11148910.308op/s 11159317.351op/s 0.81% -0.405 -0.098 0.37% 2913.532op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 112.064µs 113.057µs ± 0.507µs 112.994µs ± 0.294µs 113.321µs 113.855µs 114.289µs 115.535µs 2.25% 1.258 4.228 0.45% 0.036µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 8655408.541op/s 8845266.188op/s ± 39452.010op/s 8850011.613op/s ± 23084.275op/s 8871816.899op/s 8903722.031op/s 8911437.719op/s 8923471.407op/s 0.83% -1.197 3.920 0.44% 2789.678op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 22.961µs 24.018µs ± 0.337µs 24.021µs ± 0.258µs 24.313µs 24.457µs 24.470µs 24.519µs 2.07% -0.591 -0.234 1.40% 0.024µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 40784301.730op/s 41643459.517op/s ± 588733.740op/s 41629867.435op/s ± 448500.873op/s 41993620.138op/s 42790813.576op/s 43025951.964op/s 43551325.866op/s 4.62% 0.652 -0.106 1.41% 41629.762op/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.216µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/ throughput [822658292.838op/s; 822740781.339op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [119.711µs; 119.869µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [8342646.010op/s; 8353634.049op/s] or [-0.066%; +0.066%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [110.524µs; 110.671µs] or [-0.067%; +0.067%] None None None
credit_card/is_card_number/ 378282246310005 throughput [9036009.609op/s; 9048036.539op/s] or [-0.067%; +0.067%] None None None
credit_card/is_card_number/37828224631 execution_time [1.215µs; 1.215µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/37828224631 throughput [822766359.150op/s; 822965433.170op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/378282246310005 execution_time [106.508µs; 106.673µs] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/378282246310005 throughput [9374737.873op/s; 9389212.520op/s] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [112.979µs; 113.105µs] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [8841473.538op/s; 8851366.065op/s] or [-0.056%; +0.056%] None None None
credit_card/is_card_number/x371413321323331 execution_time [24.121µs; 24.207µs] or [-0.178%; +0.178%] None None None
credit_card/is_card_number/x371413321323331 throughput [41315633.329op/s; 41465417.896op/s] or [-0.181%; +0.181%] None None None
credit_card/is_card_number_no_luhn/ execution_time [1.215µs; 1.215µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [822982712.785op/s; 823132075.502op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [104.122µs; 104.212µs] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [9595870.101op/s; 9604188.275op/s] or [-0.043%; +0.043%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [94.609µs; 94.716µs] or [-0.057%; +0.057%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [10558000.259op/s; 10570009.236op/s] or [-0.057%; +0.057%] 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 [822811344.349op/s; 822906125.295op/s] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [90.304µs; 90.398µs] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [11062404.374op/s; 11073825.210op/s] or [-0.052%; +0.052%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [112.987µs; 113.127µs] or [-0.062%; +0.062%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [8839798.519op/s; 8850733.857op/s] or [-0.062%; +0.062%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [23.971µs; 24.065µs] or [-0.194%; +0.194%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [41561866.683op/s; 41725052.351op/s] or [-0.196%; +0.196%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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 623.860µs 624.760µs ± 0.384µs 624.760µs ± 0.273µs 625.017µs 625.361µs 625.568µs 626.498µs 0.28% 0.556 1.266 0.06% 0.027µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1596173.562op/s 1600616.464op/s ± 984.724op/s 1600614.453op/s ± 700.026op/s 1601338.307op/s 1602033.484op/s 1602561.413op/s 1602924.283op/s 0.14% -0.551 1.247 0.06% 69.631op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 461.349µs 462.863µs ± 0.838µs 462.982µs ± 0.675µs 463.503µs 464.176µs 464.524µs 465.001µs 0.44% -0.020 -0.995 0.18% 0.059µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2150531.549op/s 2160471.508op/s ± 3913.308op/s 2159910.693op/s ± 3145.659op/s 2163923.960op/s 2166362.712op/s 2167235.587op/s 2167556.943op/s 0.35% 0.025 -0.999 0.18% 276.713op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 178.115µs 178.386µs ± 0.126µs 178.377µs ± 0.078µs 178.453µs 178.591µs 178.760µs 178.960µs 0.33% 1.047 2.518 0.07% 0.009µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5587854.566op/s 5605811.504op/s ± 3947.263op/s 5606094.727op/s ± 2456.846op/s 5608645.988op/s 5611237.777op/s 5613211.306op/s 5614359.505op/s 0.15% -1.040 2.493 0.07% 279.114op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 46.641µs 46.773µs ± 0.057µs 46.778µs ± 0.035µs 46.810µs 46.871µs 46.899µs 46.914µs 0.29% -0.078 -0.218 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 21315795.322op/s 21379768.433op/s ± 26227.374op/s 21377622.511op/s ± 15798.639op/s 21397900.562op/s 21427529.216op/s 21438873.980op/s 21440461.435op/s 0.29% 0.085 -0.218 0.12% 1854.555op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 49.335µs 50.228µs ± 0.267µs 50.241µs ± 0.184µs 50.431µs 50.637µs 50.769µs 50.843µs 1.20% -0.427 0.244 0.53% 0.019µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 19668213.070op/s 19909602.909op/s ± 106227.807op/s 19904069.259op/s ± 72956.352op/s 19975826.961op/s 20100803.902op/s 20146937.285op/s 20269656.324op/s 1.84% 0.460 0.301 0.53% 7511.440op/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 [624.706µs; 624.813µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1600479.991op/s; 1600752.937op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [462.747µs; 462.980µs] or [-0.025%; +0.025%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2159929.161op/s; 2161013.854op/s] or [-0.025%; +0.025%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [178.369µs; 178.404µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5605264.452op/s; 5606358.557op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [46.765µs; 46.781µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21376133.571op/s; 21383403.295op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [50.191µs; 50.265µs] or [-0.074%; +0.074%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [19894880.756op/s; 19924325.061op/s] or [-0.074%; +0.074%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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.715µs 2.737µs ± 0.018µs 2.733µs ± 0.009µs 2.744µs 2.785µs 2.790µs 2.792µs 2.17% 1.567 2.034 0.66% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.735µs; 2.740µs] or [-0.091%; +0.091%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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 37.740µs 38.209µs ± 0.810µs 37.842µs ± 0.035µs 37.887µs 39.900µs 39.958µs 41.970µs 10.91% 1.884 2.396 2.11% 0.057µ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 [38.097µs; 38.321µs] or [-0.294%; +0.294%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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 142.912µs 144.289µs ± 0.506µs 144.297µs ± 0.214µs 144.490µs 145.005µs 145.560µs 148.050µs 2.60% 2.044 15.134 0.35% 0.036µ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 [144.219µs; 144.360µs] or [-0.049%; +0.049%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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.062ms 9.103ms ± 0.019ms 9.103ms ± 0.010ms 9.113ms 9.128ms 9.137ms 9.273ms 1.86% 3.163 27.261 0.21% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [9.100ms; 9.106ms] or [-0.030%; +0.030%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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 72.383µs 72.624µs ± 0.185µs 72.612µs ± 0.030µs 72.639µs 72.696µs 73.306µs 74.845µs 3.08% 9.309 103.999 0.25% 0.013µ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 [72.598µs; 72.650µs] or [-0.035%; +0.035%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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.125µs 1.181µs ± 0.022µs 1.184µs ± 0.015µs 1.201µs 1.203µs 1.204µs 1.205µs 1.75% -1.066 0.356 1.86% 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.178µs; 1.184µs] or [-0.258%; +0.258%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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.847µs 24.899µs ± 11.440µs 18.817µs ± 0.329µs 31.510µs 45.975µs 51.156µs 98.438µs 423.14% 2.394 8.715 45.83% 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 [23.313µs; 26.484µs] or [-6.368%; +6.368%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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.389µs 3.195µs ± 1.403µs 3.044µs ± 0.024µs 3.068µs 3.120µs 13.826µs 14.918µs 390.02% 7.599 57.865 43.79% 0.099µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.001µs; 3.390µs] or [-6.085%; +6.085%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 07765cf 1729244203 ivoanjo/hyper-0-to-1-migration
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 257.056ns 270.262ns ± 15.701ns 262.801ns ± 3.873ns 277.680ns 304.060ns 311.569ns 313.303ns 19.22% 1.308 0.359 5.79% 1.110ns 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 [268.086ns; 272.438ns] or [-0.805%; +0.805%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

Codecov Report

Attention: Patch coverage is 46.66667% with 32 lines in your changes missing coverage. Please review.

Project coverage is 71.82%. Comparing base (2820fd0) to head (07765cf).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #682   +/-   ##
=======================================
  Coverage   71.81%   71.82%           
=======================================
  Files         271      271           
  Lines       40979    40984    +5     
=======================================
+ Hits        29428    29435    +7     
+ Misses      11551    11549    -2     
Components Coverage Δ
crashtracker 20.28% <ø> (-0.09%) ⬇️
crashtracker-ffi 9.07% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.60% <100.00%> (-0.33%) ⬇️
data-pipeline-ffi 0.00% <ø> (ø)
ddcommon 82.73% <ø> (ø)
ddcommon-ffi 69.12% <ø> (ø)
ddtelemetry 59.10% <100.00%> (ø)
ddtelemetry-ffi 22.13% <ø> (ø)
dogstatsd 88.86% <ø> (ø)
dogstatsd-client 79.77% <ø> (ø)
ipc 82.65% <ø> (ø)
profiling 84.30% <12.90%> (+0.03%) ⬆️
profiling-ffi 77.46% <100.00%> (+0.03%) ⬆️
serverless 0.00% <ø> (ø)
sidecar 36.09% <0.00%> (ø)
sidecar-ffi 0.00% <ø> (ø)
spawn-worker 50.36% <ø> (ø)
tinybytes 94.77% <ø> (ø)
trace-mini-agent 72.45% <100.00%> (ø)
trace-normalization 98.25% <ø> (ø)
trace-obfuscation 95.73% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 93.49% <92.30%> (+0.42%) ⬆️

Copy link
Contributor

@pawelchcki pawelchcki left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@duncanista duncanista left a comment

Choose a reason for hiding this comment

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

LGTM!

@ivoanjo
Copy link
Member Author

ivoanjo commented Oct 18, 2024

I'm going to go ahead and merge this in! Do feel free to chime in if there's any concerns :D

@ivoanjo ivoanjo merged commit 2597236 into main Oct 18, 2024
30 checks passed
@ivoanjo ivoanjo deleted the ivoanjo/hyper-0-to-1-migration branch October 18, 2024 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants