libdatadog
libdatadog copied to clipboard
APMSP-1542 feat: setup dotnet CI and add support for win-x64, win-x86, linux-x64, linux-arm64 & osx-arm64
What does this PR do?
This PR adds support for .NET Standard 2.0 in libdatadog nuget package for win-x64 and win-x86.
This is foundation of adding support for more platform in future ie
- linux-(arch)
- linux-musl-(arch)
- osx-arm64
It also adds a github workflow to make sure, the libdatadog nuget package actually works on supported platforms.
The added readme clearly layout the structure of the package for posterity.
Motivation
Until now, libdatadog has been used directly in the native projects with static linking. Since we are moving from static linking as per new requirement for data-pipeline integration, we need to have support for .NET apps in libdatadog because Datadog.Trace is pure .NET project.
Hence, to keep the experience idiomatic to .NET developer, we should support .NET in libdatadog.
Additional Notes
There will be future PRs to add support for more platform as mentioned above.
I know are splitting the dynamic and static libraries in their own packages, we will update the docs once this change go official, currently this PR assumes it is same package.
How to test the change?
-
.NET CI
-
https://github.com/DataDog/libdatadog/actions/workflows/dotnet.yml
-
You can download the nupkg and do the testing locally from artifacts here https://github.com/DataDog/libdatadog/actions/runs/12117776772?pr=771
-
The workflow itself also runs a test to make sure nuget package is working as expected.
Benchmarks
Comparison
Benchmark execution time: 2025-01-14 19:19:10
Comparing candidate commit 1e22aafa in PR branch ganeshnj/feat/linux-osx-nuget with baseline commit adc183e4 in branch main.
Found 0 performance improvements and 1 performance regressions! Performance is the same for 50 metrics, 2 unstable metrics.
scenario:benching deserializing traces from msgpack to their internal representation
- 🟥
execution_time[+5.487ms; +5.554ms] or [+9.440%; +9.555%]
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 | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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 | 36.298µs | 37.009µs ± 1.189µs | 36.482µs ± 0.078µs | 36.577µs | 39.590µs | 39.622µs | 39.753µs | 8.96% | 1.698 | 0.908 | 3.21% | 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 | [36.844µs; 37.174µs] or [-0.445%; +0.445%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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 | 543.885µs | 545.330µs ± 0.854µs | 545.162µs ± 0.345µs | 545.518µs | 547.035µs | 547.767µs | 551.268µs | 1.12% | 2.620 | 12.205 | 0.16% | 0.060µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1813998.490op/s | 1833756.602op/s ± 2860.450op/s | 1834318.821op/s ± 1159.046op/s | 1835428.906op/s | 1836681.195op/s | 1837642.710op/s | 1838624.819op/s | 0.23% | -2.586 | 11.903 | 0.16% | 202.264op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 475.013µs | 475.994µs ± 0.372µs | 475.966µs ± 0.216µs | 476.182µs | 476.566µs | 477.206µs | 477.568µs | 0.34% | 0.778 | 2.076 | 0.08% | 0.026µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2093942.181op/s | 2100865.892op/s ± 1642.905op/s | 2100989.361op/s ± 951.369op/s | 2101937.613op/s | 2103043.707op/s | 2103940.376op/s | 2105205.775op/s | 0.20% | -0.770 | 2.051 | 0.08% | 116.171op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 194.778µs | 195.325µs ± 0.429µs | 195.305µs ± 0.113µs | 195.411µs | 195.543µs | 195.748µs | 199.507µs | 2.15% | 7.660 | 68.725 | 0.22% | 0.030µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5012358.762op/s | 5119702.476op/s ± 11070.792op/s | 5120200.065op/s ± 2970.735op/s | 5123333.468op/s | 5128070.807op/s | 5132682.104op/s | 5134056.290op/s | 0.27% | -7.581 | 67.768 | 0.22% | 782.823op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 47.257µs | 47.892µs ± 0.210µs | 47.931µs ± 0.132µs | 48.030µs | 48.197µs | 48.335µs | 48.392µs | 0.96% | -0.288 | -0.123 | 0.44% | 0.015µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 20664535.524op/s | 20880918.970op/s ± 91574.350op/s | 20863295.985op/s ± 57439.629op/s | 20945021.217op/s | 21046404.514op/s | 21088010.662op/s | 21160863.504op/s | 1.43% | 0.311 | -0.110 | 0.44% | 6475.284op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 49.982µs | 50.236µs ± 0.142µs | 50.220µs ± 0.073µs | 50.297µs | 50.406µs | 50.492µs | 51.601µs | 2.75% | 4.497 | 40.476 | 0.28% | 0.010µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 19379588.688op/s | 19906112.916op/s ± 55699.275op/s | 19912240.901op/s ± 29049.596op/s | 19940214.546op/s | 19970102.496op/s | 19989151.915op/s | 20007150.791op/s | 0.48% | -4.312 | 38.167 | 0.28% | 3938.533op/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 | [545.212µs; 545.448µs] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [1833360.171op/s; 1834153.033op/s] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [475.943µs; 476.046µs] or [-0.011%; +0.011%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2100638.201op/s; 2101093.583op/s] or [-0.011%; +0.011%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [195.265µs; 195.384µs] or [-0.030%; +0.030%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5118168.171op/s; 5121236.781op/s] or [-0.030%; +0.030%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [47.862µs; 47.921µs] or [-0.061%; +0.061%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [20868227.646op/s; 20893610.294op/s] or [-0.061%; +0.061%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [50.216µs; 50.256µs] or [-0.039%; +0.039%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [19898393.532op/s; 19913832.300op/s] or [-0.039%; +0.039%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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 | 300.011µs | 302.421µs ± 1.071µs | 302.326µs ± 0.659µs | 303.048µs | 304.061µs | 304.671µs | 308.214µs | 1.95% | 1.143 | 4.260 | 0.35% | 0.076µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 3244497.782op/s | 3306693.000op/s ± 11664.592op/s | 3307685.297op/s ± 7209.666op/s | 3314142.505op/s | 3323815.438op/s | 3326839.179op/s | 3333211.527op/s | 0.77% | -1.092 | 3.985 | 0.35% | 824.811op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 27.079µs | 27.444µs ± 0.136µs | 27.472µs ± 0.079µs | 27.535µs | 27.623µs | 27.711µs | 27.970µs | 1.81% | -0.118 | 0.219 | 0.50% | 0.010µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 35752847.714op/s | 36438531.462op/s ± 181235.322op/s | 36400850.513op/s ± 105371.895op/s | 36574534.092op/s | 36740621.226op/s | 36798950.227op/s | 36928479.032op/s | 1.45% | 0.150 | 0.159 | 0.50% | 12815.273op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 15.854µs | 16.095µs ± 0.172µs | 16.020µs ± 0.080µs | 16.305µs | 16.366µs | 16.385µs | 16.400µs | 2.37% | 0.577 | -1.358 | 1.06% | 0.012µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 60975389.196op/s | 62137442.880op/s ± 658445.704op/s | 62422418.844op/s ± 312998.358op/s | 62671957.866op/s | 62849251.116op/s | 62973593.860op/s | 63073743.897op/s | 1.04% | -0.567 | -1.363 | 1.06% | 46559.142op/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 | [302.272µs; 302.569µs] or [-0.049%; +0.049%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [3305076.400op/s; 3308309.601op/s] or [-0.049%; +0.049%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [27.425µs; 27.463µs] or [-0.069%; +0.069%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [36413413.989op/s; 36463648.935op/s] or [-0.069%; +0.069%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [16.071µs; 16.119µs] or [-0.148%; +0.148%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [62046188.638op/s; 62228697.122op/s] or [-0.147%; +0.147%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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 | 295.976ns | 308.071ns ± 13.142ns | 301.945ns ± 3.492ns | 310.146ns | 336.667ns | 345.950ns | 349.293ns | 15.68% | 1.532 | 1.264 | 4.26% | 0.929ns | 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 | [306.250ns; 309.893ns] or [-0.591%; +0.591%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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.652µs | 28.220µs ± 14.252µs | 18.960µs ± 0.279µs | 37.132µs | 47.721µs | 49.809µs | 151.605µs | 699.59% | 3.860 | 27.950 | 50.38% | 1.008µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [26.245µs; 30.196µs] or [-6.999%; +6.999%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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.364µs | 3.300µs ± 1.471µs | 3.104µs ± 0.028µs | 3.129µs | 3.730µs | 14.315µs | 15.280µs | 392.29% | 7.443 | 56.064 | 44.46% | 0.104µ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.096µs; 3.504µs] or [-6.177%; +6.177%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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 | 76.042µs | 76.308µs ± 0.179µs | 76.281µs ± 0.053µs | 76.351µs | 76.469µs | 76.645µs | 78.438µs | 2.83% | 8.568 | 98.121 | 0.23% | 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 | [76.284µs; 76.333µs] or [-0.033%; +0.033%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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 | 63.139ms | 63.646ms ± 0.191ms | 63.658ms ± 0.128ms | 63.764ms | 63.971ms | 64.039ms | 64.130ms | 0.74% | -0.003 | -0.349 | 0.30% | 0.013ms | 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 | [63.620ms; 63.673ms] or [-0.042%; +0.042%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| credit_card/is_card_number/ | execution_time | 4.276µs | 4.292µs ± 0.007µs | 4.291µs ± 0.001µs | 4.292µs | 4.295µs | 4.337µs | 4.351µs | 1.40% | 6.526 | 48.698 | 0.17% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 229827735.682op/s | 233017549.676op/s ± 391324.029op/s | 233054263.103op/s ± 80205.835op/s | 233132708.519op/s | 233305992.867op/s | 233388767.489op/s | 233850754.462op/s | 0.34% | -6.485 | 48.286 | 0.17% | 27670.787op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 92.510µs | 93.508µs ± 0.502µs | 93.486µs ± 0.265µs | 93.756µs | 94.179µs | 94.430µs | 97.999µs | 4.83% | 3.609 | 30.526 | 0.54% | 0.035µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 10204235.892op/s | 10694606.319op/s ± 56328.074op/s | 10696735.323op/s ± 30206.113op/s | 10725824.493op/s | 10769894.644op/s | 10788454.818op/s | 10809622.726op/s | 1.06% | -3.310 | 27.164 | 0.53% | 3982.996op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 87.398µs | 88.014µs ± 0.446µs | 87.986µs ± 0.174µs | 88.149µs | 88.444µs | 88.651µs | 93.223µs | 5.95% | 8.019 | 91.309 | 0.51% | 0.032µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 10726964.502op/s | 11362095.134op/s ± 55380.128op/s | 11365474.530op/s ± 22443.193op/s | 11389554.652op/s | 11411448.263op/s | 11433296.523op/s | 11441940.433op/s | 0.67% | -7.586 | 84.673 | 0.49% | 3915.966op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 4.274µs | 4.292µs ± 0.005µs | 4.291µs ± 0.002µs | 4.293µs | 4.296µs | 4.299µs | 4.346µs | 1.27% | 6.886 | 78.846 | 0.11% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 230112949.821op/s | 233014157.398op/s ± 259321.433op/s | 233025979.298op/s ± 84837.048op/s | 233107634.282op/s | 233295398.895op/s | 233374704.693op/s | 233963301.185op/s | 0.40% | -6.774 | 77.357 | 0.11% | 18336.794op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 84.863µs | 85.489µs ± 0.229µs | 85.478µs ± 0.150µs | 85.640µs | 85.860µs | 86.074µs | 86.170µs | 0.81% | 0.234 | 0.029 | 0.27% | 0.016µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 11604902.466op/s | 11697543.820op/s ± 31373.905op/s | 11698983.359op/s ± 20488.436op/s | 11717864.178op/s | 11744935.253op/s | 11764407.592op/s | 11783713.860op/s | 0.72% | -0.218 | 0.018 | 0.27% | 2218.470op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 58.970µs | 59.073µs ± 0.034µs | 59.070µs ± 0.017µs | 59.090µs | 59.135µs | 59.171µs | 59.212µs | 0.24% | 0.441 | 1.844 | 0.06% | 0.002µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 16888377.955op/s | 16928148.495op/s ± 9781.967op/s | 16929201.234op/s ± 4850.225op/s | 16933402.199op/s | 16944818.693op/s | 16951706.302op/s | 16957773.448op/s | 0.17% | -0.434 | 1.835 | 0.06% | 691.690op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.831µs | 6.844µs ± 0.012µs | 6.843µs ± 0.002µs | 6.846µs | 6.849µs | 6.854µs | 6.962µs | 1.74% | 8.576 | 79.528 | 0.17% | 0.001µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 143627058.040op/s | 146104533.488op/s ± 246928.544op/s | 146125082.388op/s ± 51393.652op/s | 146181810.654op/s | 146242505.341op/s | 146297277.665op/s | 146387754.409op/s | 0.18% | -8.535 | 78.995 | 0.17% | 17460.485op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 4.271µs | 4.291µs ± 0.003µs | 4.291µs ± 0.002µs | 4.293µs | 4.297µs | 4.298µs | 4.298µs | 0.17% | -1.226 | 9.166 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 232646618.270op/s | 233025260.294op/s ± 161640.511op/s | 233046713.869op/s ± 88048.841op/s | 233114307.391op/s | 233242818.077op/s | 233349709.484op/s | 234115711.012op/s | 0.46% | 1.246 | 9.311 | 0.07% | 11429.710op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 70.443µs | 71.414µs ± 0.416µs | 71.406µs ± 0.286µs | 71.719µs | 72.050µs | 72.383µs | 72.484µs | 1.51% | -0.013 | -0.349 | 0.58% | 0.029µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 13796085.578op/s | 14003307.538op/s ± 81546.899op/s | 14004484.271op/s ± 56311.093op/s | 14058907.954op/s | 14140541.357op/s | 14188975.553op/s | 14195913.544op/s | 1.37% | 0.041 | -0.353 | 0.58% | 5766.237op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 65.309µs | 66.135µs ± 0.341µs | 66.127µs ± 0.231µs | 66.374µs | 66.677µs | 66.822µs | 67.147µs | 1.54% | 0.091 | -0.239 | 0.51% | 0.024µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 14892773.021op/s | 15121012.294op/s ± 77920.766op/s | 15122430.359op/s ± 52896.398op/s | 15172053.601op/s | 15253989.032op/s | 15290640.204op/s | 15311784.954op/s | 1.25% | -0.063 | -0.246 | 0.51% | 5509.830op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 4.275µs | 4.292µs ± 0.004µs | 4.291µs ± 0.001µs | 4.293µs | 4.297µs | 4.299µs | 4.321µs | 0.69% | 2.694 | 22.849 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 231421775.568op/s | 233002845.495op/s ± 197454.908op/s | 233023975.930op/s ± 72924.532op/s | 233093211.160op/s | 233239795.773op/s | 233347694.031op/s | 233891488.798op/s | 0.37% | -2.649 | 22.523 | 0.08% | 13962.170op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 62.231µs | 62.822µs ± 0.414µs | 62.775µs ± 0.321µs | 63.111µs | 63.588µs | 64.026µs | 64.289µs | 2.41% | 0.730 | 0.344 | 0.66% | 0.029µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 15554657.936op/s | 15918790.561op/s ± 104450.276op/s | 15929816.870op/s ± 81480.124op/s | 16006960.394op/s | 16052022.778op/s | 16068271.017op/s | 16069150.232op/s | 0.87% | -0.695 | 0.247 | 0.65% | 7385.750op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 58.967µs | 59.067µs ± 0.032µs | 59.069µs ± 0.018µs | 59.085µs | 59.115µs | 59.140µs | 59.226µs | 0.27% | 0.306 | 2.993 | 0.05% | 0.002µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 16884595.478op/s | 16929842.992op/s ± 9087.676op/s | 16929357.178op/s ± 5240.601op/s | 16935208.855op/s | 16945359.857op/s | 16952074.280op/s | 16958631.115op/s | 0.17% | -0.298 | 2.970 | 0.05% | 642.596op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.830µs | 6.842µs ± 0.004µs | 6.842µs ± 0.002µs | 6.844µs | 6.848µs | 6.854µs | 6.862µs | 0.29% | 0.601 | 3.796 | 0.06% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 145735206.705op/s | 146147993.393op/s ± 83634.822op/s | 146156423.464op/s ± 37285.793op/s | 146185911.333op/s | 146277988.976op/s | 146355795.944op/s | 146411652.685op/s | 0.17% | -0.592 | 3.771 | 0.06% | 5913.875op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| credit_card/is_card_number/ | execution_time | [4.291µs; 4.293µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number/ | throughput | [232963315.929op/s; 233071783.423op/s] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [93.438µs; 93.577µs] or [-0.074%; +0.074%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [10686799.790op/s; 10702412.849op/s] or [-0.073%; +0.073%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [87.952µs; 88.076µs] or [-0.070%; +0.070%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [11354419.981op/s; 11369770.287op/s] or [-0.068%; +0.068%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [4.291µs; 4.292µs] or [-0.016%; +0.016%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [232978217.942op/s; 233050096.855op/s] or [-0.015%; +0.015%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [85.457µs; 85.520µs] or [-0.037%; +0.037%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [11693195.698op/s; 11701891.941op/s] or [-0.037%; +0.037%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [59.068µs; 59.078µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [16926792.808op/s; 16929504.181op/s] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.843µs; 6.846µs] or [-0.024%; +0.024%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [146070311.566op/s; 146138755.409op/s] or [-0.023%; +0.023%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [4.291µs; 4.292µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [233002858.474op/s; 233047662.115op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [71.356µs; 71.472µs] or [-0.081%; +0.081%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [13992005.922op/s; 14014609.154op/s] or [-0.081%; +0.081%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [66.088µs; 66.182µs] or [-0.071%; +0.071%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [15110213.225op/s; 15131811.363op/s] or [-0.071%; +0.071%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [4.291µs; 4.292µs] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [232975480.144op/s; 233030210.846op/s] or [-0.012%; +0.012%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [62.764µs; 62.879µs] or [-0.091%; +0.091%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [15904314.757op/s; 15933266.364op/s] or [-0.091%; +0.091%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [59.063µs; 59.072µs] or [-0.007%; +0.007%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [16928583.527op/s; 16931102.456op/s] or [-0.007%; +0.007%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.842µs; 6.843µs] or [-0.008%; +0.008%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [146136402.411op/s; 146159584.375op/s] or [-0.008%; +0.008%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| benching string interning on wordpress profile | execution_time | 138.896µs | 139.600µs ± 0.427µs | 139.567µs ± 0.149µs | 139.716µs | 139.975µs | 140.441µs | 143.745µs | 2.99% | 5.614 | 48.507 | 0.30% | 0.030µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching string interning on wordpress profile | execution_time | [139.541µs; 139.659µs] or [-0.042%; +0.042%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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.714µs | 2.765µs ± 0.020µs | 2.764µs ± 0.009µs | 2.774µs | 2.809µs | 2.822µs | 2.831µs | 2.43% | 0.539 | 1.592 | 0.73% | 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.763µs; 2.768µs] or [-0.101%; +0.101%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz | 1e22aafa | 1736881481 | ganeshnj/feat/linux-osx-nuget |
| 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.311ms | 6.330ms ± 0.009ms | 6.329ms ± 0.005ms | 6.335ms | 6.343ms | 6.351ms | 6.401ms | 1.13% | 2.699 | 19.615 | 0.14% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| concentrator/add_spans_to_concentrator | execution_time | [6.329ms; 6.332ms] or [-0.019%; +0.019%] | None | None | None |
Baseline
Omitted due to size.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 71.02%. Comparing base (adc183e) to head (1e22aaf).
:warning: Report is 444 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #771 +/- ##
=======================================
Coverage 71.02% 71.02%
=======================================
Files 315 315
Lines 45972 45972
=======================================
Hits 32652 32652
Misses 13320 13320
| Components | Coverage Δ | |
|---|---|---|
| crashtracker | 38.52% <ø> (ø) |
|
| crashtracker-ffi | 5.71% <ø> (ø) |
|
| datadog-alloc | 98.73% <ø> (ø) |
|
| data-pipeline | 91.71% <ø> (ø) |
|
| data-pipeline-ffi | 90.08% <ø> (ø) |
|
| ddcommon | 82.08% <ø> (ø) |
|
| ddcommon-ffi | 65.84% <ø> (ø) |
|
| ddtelemetry | 59.51% <ø> (ø) |
|
| ddtelemetry-ffi | 22.46% <ø> (ø) |
|
| dogstatsd | 89.59% <ø> (ø) |
|
| dogstatsd-client | 79.77% <ø> (ø) |
|
| ipc | 82.69% <ø> (ø) |
|
| profiling | 84.29% <ø> (ø) |
|
| profiling-ffi | 77.55% <ø> (ø) |
|
| serverless | 0.00% <ø> (ø) |
|
| sidecar | 40.91% <ø> (ø) |
|
| sidecar-ffi | 3.98% <ø> (ø) |
|
| spawn-worker | 54.37% <ø> (ø) |
|
| tinybytes | 93.60% <ø> (ø) |
|
| trace-mini-agent | 72.48% <ø> (ø) |
|
| trace-normalization | 98.23% <ø> (ø) |
|
| trace-obfuscation | 95.77% <ø> (ø) |
|
| trace-protobuf | 77.67% <ø> (ø) |
|
| trace-utils | 93.79% <ø> (ø) |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Is this PR still relevant?