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

feat: add dev container for consistent development environment #899

Merged
merged 1 commit into from
Feb 26, 2025

Conversation

ganeshnj
Copy link
Contributor

@ganeshnj ganeshnj commented Feb 26, 2025

What does this PR do?

  • ensures consistent development setup
  • includes necessary dependencies and configurations
  • allows step-in for things like how container id is generated since the whole workspace is inside a container

I went with minimal setup and targeting only one OS, but this can be extended with multiple container (debian, alpine etc)

Motivation

I have been using it locally by keeping in my stashes, but this is general problem since we are all (or almost) on osx and want to test and debug how the libraries behave on linux.

Additional Notes

none.

How to test the change?

Follow the readme.

- ensures consistent development setup
- includes necessary dependencies and configurations
- allows step-in for things like how container id is generated since the whole workspace is inside a container
@ganeshnj ganeshnj requested review from a team as code owners February 26, 2025 13:29
Copy link
Member

@ivoanjo ivoanjo left a comment

Choose a reason for hiding this comment

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

👍 LGTM, thanks for the nice addition :)

@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 71.78%. Comparing base (c2ec918) to head (4bdfc64).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #899      +/-   ##
==========================================
- Coverage   71.79%   71.78%   -0.01%     
==========================================
  Files         328      328              
  Lines       48605    48605              
==========================================
- Hits        34894    34893       -1     
- Misses      13711    13712       +1     
Components Coverage Δ
crashtracker 42.90% <ø> (-0.03%) ⬇️
crashtracker-ffi 6.25% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 92.02% <ø> (ø)
data-pipeline-ffi 90.39% <ø> (ø)
ddcommon 80.08% <ø> (ø)
ddcommon-ffi 61.05% <ø> (ø)
ddtelemetry 61.74% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 90.16% <ø> (ø)
dogstatsd-client 82.57% <ø> (ø)
ipc 82.68% <ø> (ø)
profiling 80.04% <ø> (ø)
profiling-ffi 70.68% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 40.86% <ø> (ø)
sidecar-ffi 4.70% <ø> (ø)
spawn-worker 54.37% <ø> (ø)
tinybytes 92.00% <ø> (ø)
trace-mini-agent 72.48% <ø> (ø)
trace-normalization 98.23% <ø> (ø)
trace-obfuscation 95.96% <ø> (ø)
trace-protobuf 78.13% <ø> (ø)
trace-utils 93.26% <ø> (ø)

@pr-commenter
Copy link

pr-commenter bot commented Feb 26, 2025

Benchmarks

Comparison

Benchmark execution time: 2025-02-26 13:42:13

Comparing candidate commit 4bdfc64 in PR branch ganeshnj/chore/setup-dev-container with baseline commit c2ec918 in branch main.

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

scenario:concentrator/add_spans_to_concentrator

  • 🟩 execution_time [-497.764µs; -495.189µs] or [-7.669%; -7.630%]

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 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
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 5.981ms 5.994ms ± 0.007ms 5.993ms ± 0.002ms 5.995ms 6.000ms 6.030ms 6.041ms 0.80% 3.870 21.244 0.12% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [5.993ms; 5.995ms] or [-0.016%; +0.016%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 208.697µs 209.052µs ± 0.142µs 209.039µs ± 0.080µs 209.124µs 209.326µs 209.396µs 209.505µs 0.22% 0.313 0.363 0.07% 0.010µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4773150.076op/s 4783490.023op/s ± 3248.640op/s 4783789.968op/s ± 1826.960op/s 4785467.492op/s 4788871.206op/s 4790985.257op/s 4791626.792op/s 0.16% -0.309 0.360 0.07% 229.714op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.218µs 18.307µs ± 0.053µs 18.315µs ± 0.032µs 18.338µs 18.379µs 18.402µs 18.599µs 1.55% 0.535 3.353 0.29% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53765699.923op/s 54623471.071op/s ± 157294.083op/s 54599854.318op/s ± 94411.562op/s 54728785.723op/s 54877071.785op/s 54881758.220op/s 54891552.282op/s 0.53% -0.492 3.116 0.29% 11122.371op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.643µs 10.702µs ± 0.032µs 10.701µs ± 0.019µs 10.723µs 10.745µs 10.770µs 10.886µs 1.73% 0.904 4.434 0.30% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 91865195.599op/s 93444480.636op/s ± 279229.635op/s 93450956.939op/s ± 169791.449op/s 93590070.094op/s 93906819.875op/s 93950898.424op/s 93962409.254op/s 0.55% -0.855 4.151 0.30% 19744.517op/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 [209.033µs; 209.072µs] or [-0.009%; +0.009%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4783039.793op/s; 4783940.253op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.300µs; 18.315µs] or [-0.040%; +0.040%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54601671.624op/s; 54645270.518op/s] or [-0.040%; +0.040%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.697µs; 10.706µs] or [-0.042%; +0.042%] None None None
normalization/normalize_name/normalize_name/good throughput [93405782.095op/s; 93483179.178op/s] or [-0.041%; +0.041%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
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 149.872µs 150.535µs ± 0.384µs 150.493µs ± 0.183µs 150.703µs 151.028µs 151.706µs 153.779µs 2.18% 3.332 24.565 0.25% 0.027µ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 [150.481µs; 150.588µs] or [-0.035%; +0.035%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
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.539µs 25.413µs ± 11.404µs 17.975µs ± 0.141µs 33.907µs 44.415µs 50.222µs 112.932µs 528.29% 2.871 16.470 44.76% 0.806µ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.832µs; 26.993µs] or [-6.219%; +6.219%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 245.181ns 253.704ns ± 11.239ns 248.617ns ± 1.872ns 254.992ns 285.138ns 290.698ns 294.660ns 18.52% 2.171 3.853 4.42% 0.795ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [252.146ns; 255.261ns] or [-0.614%; +0.614%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
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.549µs 505.736µs ± 0.727µs 505.713µs ± 0.236µs 505.985µs 506.294µs 506.495µs 514.516µs 1.74% 8.770 104.454 0.14% 0.051µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1943572.476op/s 1977320.303op/s ± 2808.897op/s 1977408.112op/s ± 924.420op/s 1978299.266op/s 1980103.089op/s 1981185.727op/s 1981969.146op/s 0.23% -8.643 102.476 0.14% 198.619op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 460.727µs 461.594µs ± 0.296µs 461.596µs ± 0.170µs 461.759µs 462.100µs 462.264µs 462.313µs 0.16% -0.024 0.123 0.06% 0.021µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2163037.716op/s 2166409.083op/s ± 1387.504op/s 2166395.107op/s ± 798.767op/s 2167205.493op/s 2168860.096op/s 2169589.053op/s 2170482.737op/s 0.19% 0.028 0.125 0.06% 98.111op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 175.500µs 176.417µs ± 0.400µs 176.474µs ± 0.284µs 176.699µs 177.029µs 177.212µs 177.301µs 0.47% -0.217 -0.648 0.23% 0.028µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5640126.871op/s 5668409.384op/s ± 12847.734op/s 5666543.734op/s ± 9120.056op/s 5677675.908op/s 5690413.655op/s 5697127.231op/s 5698014.974op/s 0.56% 0.226 -0.646 0.23% 908.472op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.622µs 37.755µs ± 0.044µs 37.750µs ± 0.026µs 37.782µs 37.833µs 37.879µs 37.922µs 0.45% 0.615 1.098 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26370202.586op/s 26486287.694op/s ± 30920.897op/s 26490175.744op/s ± 18125.531op/s 26506854.339op/s 26529900.379op/s 26550494.029op/s 26580249.615op/s 0.34% -0.605 1.083 0.12% 2186.438op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.090µs 48.331µs ± 0.227µs 48.292µs ± 0.196µs 48.551µs 48.679µs 48.730µs 48.754µs 0.95% 0.240 -1.595 0.47% 0.016µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20511336.345op/s 20691107.949op/s ± 97172.397op/s 20707215.111op/s ± 84489.593op/s 20790663.210op/s 20792578.119op/s 20793074.838op/s 20794462.732op/s 0.42% -0.235 -1.601 0.47% 6871.126op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [505.635µs; 505.837µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1976931.017op/s; 1977709.589op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [461.553µs; 461.634µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2166216.788op/s; 2166601.378op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [176.362µs; 176.473µs] or [-0.031%; +0.031%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5666628.812op/s; 5670189.956op/s] or [-0.031%; +0.031%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.749µs; 37.762µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26482002.355op/s; 26490573.033op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [48.300µs; 48.362µs] or [-0.065%; +0.065%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20677640.790op/s; 20704575.109op/s] or [-0.065%; +0.065%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 53.513ms 53.776ms ± 0.246ms 53.696ms ± 0.067ms 53.783ms 54.392ms 54.535ms 55.269ms 2.93% 2.551 8.000 0.46% 0.017ms 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 [53.742ms; 53.810ms] or [-0.063%; +0.063%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.892µs 3.913µs ± 0.003µs 3.913µs ± 0.001µs 3.914µs 3.916µs 3.918µs 3.919µs 0.15% -2.342 16.175 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255193655.143op/s 255576731.103op/s ± 174348.841op/s 255568271.202op/s ± 87542.380op/s 255646310.330op/s 255854721.287op/s 255922601.711op/s 256922534.438op/s 0.53% 2.368 16.420 0.07% 12328.325op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 81.108µs 82.598µs ± 0.662µs 82.522µs ± 0.481µs 83.034µs 83.792µs 83.993µs 84.452µs 2.34% 0.316 -0.549 0.80% 0.047µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11840984.890op/s 12107640.240op/s ± 96879.291op/s 12117927.776op/s ± 70666.955op/s 12182276.100op/s 12242735.360op/s 12283363.549op/s 12329276.159op/s 1.74% -0.284 -0.570 0.80% 6850.400op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 78.113µs 79.500µs ± 0.407µs 79.546µs ± 0.293µs 79.816µs 80.100µs 80.254µs 80.451µs 1.14% -0.344 -0.052 0.51% 0.029µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 12429967.654op/s 12578935.162op/s ± 64571.234op/s 12571403.966op/s ± 46146.111op/s 12622076.984op/s 12690676.881op/s 12731034.475op/s 12802034.778op/s 1.83% 0.372 -0.010 0.51% 4565.876op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.896µs 3.913µs ± 0.002µs 3.914µs ± 0.001µs 3.915µs 3.916µs 3.918µs 3.921µs 0.19% -2.364 16.833 0.06% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255022628.768op/s 255527966.086op/s ± 153303.405op/s 255517965.958op/s ± 72181.042op/s 255586766.995op/s 255743490.003op/s 255933300.780op/s 256705063.959op/s 0.46% 2.388 17.036 0.06% 10840.188op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 74.577µs 76.293µs ± 0.421µs 76.300µs ± 0.286µs 76.589µs 76.943µs 77.080µs 77.194µs 1.17% -0.460 0.801 0.55% 0.030µs 1 200
credit_card/is_card_number/378282246310005 throughput 12954392.491op/s 13107763.054op/s ± 72585.737op/s 13106218.458op/s ± 49021.753op/s 13154708.671op/s 13221425.779op/s 13258038.915op/s 13409045.681op/s 2.31% 0.503 0.924 0.55% 5132.587op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 51.345µs 51.441µs ± 0.035µs 51.438µs ± 0.018µs 51.458µs 51.504µs 51.529µs 51.567µs 0.25% 0.415 1.059 0.07% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19392416.690op/s 19439742.867op/s ± 13234.754op/s 19441014.988op/s ± 6704.251op/s 19446252.018op/s 19460311.862op/s 19473591.707op/s 19475995.835op/s 0.18% -0.409 1.053 0.07% 935.838op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.029µs 6.040µs ± 0.013µs 6.037µs ± 0.002µs 6.039µs 6.044µs 6.106µs 6.139µs 1.69% 5.379 30.088 0.22% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 162895589.531op/s 165575499.717op/s ± 353680.490op/s 165649609.389op/s ± 43859.070op/s 165682723.434op/s 165731576.371op/s 165834263.572op/s 165863441.836op/s 0.13% -5.359 29.851 0.21% 25008.987op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.894µs 3.914µs ± 0.003µs 3.914µs ± 0.001µs 3.915µs 3.917µs 3.918µs 3.930µs 0.42% -0.890 18.636 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254446289.634op/s 255514972.560op/s ± 176120.370op/s 255515309.451op/s ± 73883.070op/s 255581706.740op/s 255771650.921op/s 255920553.303op/s 256784882.483op/s 0.50% 0.931 18.734 0.07% 12453.591op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.911µs 66.210µs ± 0.197µs 66.176µs ± 0.101µs 66.278µs 66.602µs 66.817µs 66.960µs 1.19% 1.160 1.467 0.30% 0.014µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 14934321.409op/s 15103623.362op/s ± 44685.355op/s 15111332.008op/s ± 23132.539op/s 15134352.476op/s 15161319.006op/s 15169434.379op/s 15172050.049op/s 0.40% -1.141 1.405 0.30% 3159.732op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 59.389µs 59.664µs ± 0.095µs 59.680µs ± 0.067µs 59.734µs 59.802µs 59.883µs 59.902µs 0.37% -0.368 0.066 0.16% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16693984.849op/s 16760427.417op/s ± 26581.001op/s 16756115.733op/s ± 18798.659op/s 16778937.407op/s 16806756.606op/s 16828518.865op/s 16838081.004op/s 0.49% 0.377 0.073 0.16% 1879.561op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.894µs 3.913µs ± 0.004µs 3.912µs ± 0.001µs 3.914µs 3.918µs 3.919µs 3.944µs 0.82% 2.991 34.583 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 253537326.604op/s 255576751.345op/s ± 228762.143op/s 255604416.728op/s ± 79040.553op/s 255672681.374op/s 255820565.718op/s 255965046.949op/s 256809648.812op/s 0.47% -2.917 34.033 0.09% 16175.926op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 56.271µs 56.776µs ± 0.187µs 56.784µs ± 0.140µs 56.928µs 57.061µs 57.127µs 57.157µs 0.66% -0.317 -0.363 0.33% 0.013µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17495533.203op/s 17613376.819op/s ± 57983.806op/s 17610557.738op/s ± 43637.574op/s 17653766.551op/s 17722947.954op/s 17755504.310op/s 17771200.314op/s 0.91% 0.332 -0.346 0.33% 4100.074op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 51.350µs 51.428µs ± 0.027µs 51.426µs ± 0.016µs 51.444µs 51.471µs 51.479µs 51.579µs 0.30% 0.645 4.197 0.05% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19387590.749op/s 19444805.912op/s ± 10356.979op/s 19445416.715op/s ± 6024.732op/s 19450165.760op/s 19460384.495op/s 19470212.017op/s 19474301.711op/s 0.15% -0.635 4.156 0.05% 732.349op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.026µs 6.037µs ± 0.006µs 6.036µs ± 0.002µs 6.038µs 6.043µs 6.050µs 6.085µs 0.81% 3.838 29.869 0.09% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 164329524.630op/s 165655072.302op/s ± 151664.733op/s 165662949.487op/s ± 55940.951op/s 165720483.055op/s 165851574.241op/s 165904259.666op/s 165946214.398op/s 0.17% -3.791 29.351 0.09% 10724.316op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255552568.031op/s; 255600894.176op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.506µs; 82.690µs] or [-0.111%; +0.111%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12094213.703op/s; 12121066.778op/s] or [-0.111%; +0.111%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [79.444µs; 79.557µs] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/ 378282246310005 throughput [12569986.209op/s; 12587884.114op/s] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/37828224631 execution_time [3.913µs; 3.914µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/37828224631 throughput [255506719.709op/s; 255549212.464op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/378282246310005 execution_time [76.235µs; 76.351µs] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/378282246310005 throughput [13097703.369op/s; 13117822.739op/s] or [-0.077%; +0.077%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [51.436µs; 51.446µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19437908.657op/s; 19441577.077op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.038µs; 6.041µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 throughput [165526483.002op/s; 165624516.431op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255490563.970op/s; 255539381.149op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [66.183µs; 66.237µs] or [-0.041%; +0.041%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15097430.402op/s; 15109816.323op/s] or [-0.041%; +0.041%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [59.651µs; 59.678µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [16756743.546op/s; 16764111.288op/s] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255545047.112op/s; 255608455.578op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [56.750µs; 56.802µs] or [-0.046%; +0.046%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [17605340.821op/s; 17621412.817op/s] or [-0.046%; +0.046%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [51.424µs; 51.431µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19443370.535op/s; 19446241.290op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.037µs] or [-0.013%; +0.013%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165634053.028op/s; 165676091.575op/s] or [-0.013%; +0.013%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
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.200µs 3.141µs ± 1.410µs 2.956µs ± 0.033µs 2.982µs 3.592µs 13.800µs 14.771µs 399.76% 7.387 55.552 44.78% 0.100µ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.946µs; 3.337µs] or [-6.222%; +6.222%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 65.522µs 65.698µs ± 0.198µs 65.665µs ± 0.044µs 65.716µs 65.852µs 66.126µs 67.952µs 3.48% 8.358 86.980 0.30% 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 [65.670µs; 65.725µ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 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 32.623µs 33.526µs ± 1.162µs 32.819µs ± 0.091µs 34.805µs 35.703µs 35.803µs 36.328µs 10.69% 1.000 -0.818 3.46% 0.082µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [33.365µs; 33.687µs] or [-0.480%; +0.480%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 5.006µs 5.084µs ± 0.049µs 5.076µs ± 0.036µs 5.146µs 5.159µs 5.162µs 5.163µs 1.72% 0.424 -1.318 0.96% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.077µs; 5.091µs] or [-0.133%; +0.133%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 4bdfc64 1740576551 ganeshnj/chore/setup-dev-container
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.398µs 2.423µs ± 0.014µs 2.421µs ± 0.006µs 2.426µs 2.460µs 2.469µs 2.472µs 2.10% 1.670 3.464 0.56% 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.421µs; 2.425µs] or [-0.078%; +0.078%] None None None

Baseline

Omitted due to size.

// Use 'mounts' to make the cargo cache persistent in a Docker Volume.
"mounts": [
{
"source": "devcontainer-cargo-cache-${devcontainerId}",
Copy link
Contributor

@bantonsson bantonsson Feb 26, 2025

Choose a reason for hiding this comment

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

So what does this translate to? Is it using Docker cache mounts underneath? I mean something like --mount=type=cache,target=/usr/local/cargo, or is it specific to dev containers?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

you get a volume which is attached to dev container just like any other volume

docker volume ls | grep devcontainer-cargo-cache
local     devcontainer-cargo-cache-1u4p07avg375gi7o172o2cfupr5iafgjj9t7hvog8dscsv7co5df

since it is container specific, running the same container would give you same volume and helps avoiding repetitive whole world of internet download.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, so it's manually maintaining what --mount=type=cache,... gives you.

Do you know if it has a cached target directory as well for the output of the build? I'm just curious.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I didn't try but I think you can as per spec https://github.com/devcontainers/spec/blob/main/schemas/devContainer.base.schema.json#L711C8-L711C12

you can bring your own arbitrary location if this is what you mean.

@ganeshnj ganeshnj merged commit a207606 into main Feb 26, 2025
31 checks passed
@ganeshnj ganeshnj deleted the ganeshnj/chore/setup-dev-container branch February 26, 2025 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants