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

[profiling] Ensure shared library name has no soname set. #408

Closed
wants to merge 1 commit into from

Conversation

AlexJF
Copy link
Contributor

@AlexJF AlexJF commented May 2, 2024

What does this PR do?

Ensure the libdatadog profiling shared library has no SONAME set in .so shared libraries.

Motivation

In some environments, the libdatadog profiling shared library will include a SONAME and it will point to the library name previous to the rename in:

cp -v "$CARGO_TARGET_DIR/${target}/release/${shared_library_name}" "$destdir/lib/${shared_library_rename}"

The existence of this SONAME makes it impossible to load libdatadog at runtime because the loading will be done based on the SONAME, not the actual library name:

2024-04-29_16:17:11.44159 W, [2024-04-29T16:17:11.441513 #43868]  WARN -- datadog: [datadog] Profiling was requested but is not supported, profiling disabled: There was an error loading the profiling native extension due to 'RuntimeError Failure to load datadog_profiling_native_extension.2.7.2_x86_64-linux due to libdatadog_profiling_ffi.so: cannot open shared object file: No such file or directory' at '/opt/dd-trace-rb/lib/datadog/profiling/load_native_extension.rb:41:in `<top (required)>''

Additional Notes

We haven't been able to fully pinpoint what leads to different SONAME handling between different environments (e.g. my Ubuntu 24 LTS VM always includes them but not Ivo's Ubuntu 22 laptop) but we found the following places that show how "finicky" this can be:

How to test the change?

Describe here in detail how the change can be validated.

For Reviewers

  • If this PR touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

@AlexJF AlexJF requested a review from a team as a code owner May 2, 2024 13:53
@r1viollet
Copy link
Contributor

We talked about this. We are OK with removing the so name as we are not using it today. Would it be possible to just drop this within a cargo build script as part of the effort described in #353

@r1viollet
Copy link
Contributor

can it be part of the rust flags (like linker flags)? I think @gleocadie did work that is similar, we should put settings in a similar place.

@ivoanjo
Copy link
Member

ivoanjo commented May 7, 2024

can it be part of the rust flags (like linker flags)? I think @gleocadie did work that is similar, we should put settings in a similar place.

From what I chatted with @AlexJF, he did not find such an option, hence why he went with the "fix-after-the-fact" approach.

@ivoanjo
Copy link
Member

ivoanjo commented May 7, 2024

I see some failures in our build pipeline

./build-profiling-ffi.sh: line 151: patchelf: command not found

We'll need a PR on that side to make sure our images have patchelf.

@ivoanjo
Copy link
Member

ivoanjo commented May 10, 2024

PR to add patchelf to our centos build images: https://github.com/DataDog/libddprof-build/pull/40

@codecov-commenter
Copy link

codecov-commenter commented May 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 66.14%. Comparing base (74c89eb) to head (aef7a37).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #408   +/-   ##
=======================================
  Coverage   66.14%   66.14%           
=======================================
  Files         187      187           
  Lines       23166    23166           
=======================================
  Hits        15324    15324           
  Misses       7842     7842           
Components Coverage Δ
crashtracker 19.34% <ø> (ø)
datadog-alloc 98.37% <ø> (ø)
data-pipeline 51.45% <ø> (ø)
data-pipeline-ffi 0.00% <ø> (ø)
ddcommon 81.23% <ø> (ø)
ddcommon-ffi 74.93% <ø> (ø)
ddtelemetry 53.72% <ø> (ø)
ipc 81.27% <ø> (ø)
profiling 76.83% <ø> (ø)
profiling-ffi 60.05% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 29.37% <ø> (ø)
sidecar-ffi 0.00% <ø> (ø)
spawn-worker 54.98% <ø> (ø)
trace-mini-agent 69.12% <ø> (ø)
trace-normalization 97.79% <ø> (ø)
trace-obfuscation 95.74% <ø> (ø)
trace-protobuf 25.64% <ø> (ø)
trace-utils 68.85% <ø> (ø)

@ivoanjo
Copy link
Member

ivoanjo commented May 10, 2024

CI is now green for this one! @r1viollet thoughts on merging? Or do you want to hold on until we can see if there's a cleaner way to tell the rust compiler to not emit the soname at all?

@ivoanjo
Copy link
Member

ivoanjo commented May 10, 2024

Actually CI isn't green lol, either I was looking at the wrong tab, or some of the jobs hadn't finished when I looked at it. Pardon the temporary insanity. Will look into the missing issue -- I think I didn't bump the CI image version thingy correctly.

@ivoanjo ivoanjo marked this pull request as draft July 18, 2024 15:19
@ivoanjo
Copy link
Member

ivoanjo commented Jul 18, 2024

I'm moving this back to draft until we can pick it up again (sorry Alex! ;_;)

@pr-commenter
Copy link

pr-commenter bot commented Sep 11, 2024

Benchmarks

Comparison

Benchmark execution time: 2024-09-11 14:37:28

Comparing candidate commit 1487913 in PR branch alexjf/remove-soname with baseline commit 54ed2cf in branch main.

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

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+8.752µs; +8.895µs] or [+8.692%; +8.834%]
  • 🟥 throughput [-807137.664op/s; -793595.881op/s] or [-8.127%; -7.990%]

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

  • 🟥 execution_time [+6.172µs; +6.813µs] or [+6.772%; +7.475%]
  • 🟥 throughput [-759191.215op/s; -690071.933op/s] or [-6.919%; -6.290%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+8.867µs; +9.015µs] or [+8.815%; +8.962%]
  • 🟥 throughput [-818169.368op/s; -804743.453op/s] or [-8.230%; -8.095%]

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 1487913 1726064817 alexjf/remove-soname
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.162µs 36.832µs ± 1.105µs 36.340µs ± 0.066µs 36.444µs 38.802µs 39.680µs 43.653µs 20.12% 2.338 6.907 2.99% 0.078µ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.679µs; 36.985µs] or [-0.416%; +0.416%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.658µs 73.910µs ± 0.192µs 73.861µs ± 0.111µs 74.012µs 74.142µs 74.274µs 75.624µs 2.39% 3.745 30.030 0.26% 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.884µs; 73.937µs] or [-0.036%; +0.036%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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 8.884ms 8.922ms ± 0.023ms 8.920ms ± 0.010ms 8.930ms 8.946ms 8.966ms 9.170ms 2.80% 6.401 66.179 0.26% 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 [8.919ms; 8.925ms] or [-0.036%; +0.036%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.417µs 3.257µs ± 1.616µs 3.066µs ± 0.035µs 3.098µs 3.525µs 13.848µs 19.029µs 520.65% 8.018 66.241 49.49% 0.114µ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.033µs; 3.481µs] or [-6.877%; +6.877%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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 578.670µs 579.621µs ± 0.339µs 579.672µs ± 0.250µs 579.869µs 580.102µs 580.265µs 580.327µs 0.11% -0.532 -0.012 0.06% 0.024µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1723167.535op/s 1725265.472op/s ± 1009.698op/s 1725113.978op/s ± 743.208op/s 1725913.455op/s 1727112.166op/s 1727940.139op/s 1728100.831op/s 0.17% 0.535 -0.007 0.06% 71.396op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 464.291µs 464.898µs ± 0.266µs 464.917µs ± 0.179µs 465.067µs 465.339µs 465.519µs 465.799µs 0.19% 0.094 0.171 0.06% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2146846.807op/s 2151009.654op/s ± 1232.621op/s 2150920.588op/s ± 826.549op/s 2151795.101op/s 2153162.666op/s 2153781.600op/s 2153821.145op/s 0.13% -0.090 0.168 0.06% 87.159op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 183.946µs 184.234µs ± 0.153µs 184.246µs ± 0.111µs 184.355µs 184.466µs 184.529µs 184.733µs 0.26% -0.131 -0.303 0.08% 0.011µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5413212.135op/s 5427874.523op/s ± 4494.770op/s 5427525.508op/s ± 3266.036op/s 5430914.742op/s 5435592.630op/s 5436185.551op/s 5436390.628op/s 0.16% 0.136 -0.308 0.08% 317.828op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 46.322µs 46.725µs ± 0.108µs 46.733µs ± 0.080µs 46.806µs 46.885µs 46.952µs 47.023µs 0.62% -0.230 0.147 0.23% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 21266272.280op/s 21402003.276op/s ± 49504.510op/s 21397996.371op/s ± 36538.013op/s 21438942.273op/s 21477823.049op/s 21509648.221op/s 21587842.462op/s 0.89% 0.244 0.168 0.23% 3500.497op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 44.281µs 44.766µs ± 0.203µs 44.717µs ± 0.091µs 44.832µs 45.235µs 45.362µs 45.373µs 1.47% 1.215 1.684 0.45% 0.014µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 22039616.445op/s 22338973.679op/s ± 100946.859op/s 22362875.746op/s ± 45554.419op/s 22399305.157op/s 22448919.203op/s 22551974.585op/s 22582908.102op/s 0.98% -1.185 1.630 0.45% 7138.021op/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 [579.574µs; 579.668µs] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1725125.537op/s; 1725405.406op/s] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [464.861µs; 464.935µs] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2150838.825op/s; 2151180.484op/s] or [-0.008%; +0.008%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [184.213µs; 184.255µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5427251.591op/s; 5428497.455op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [46.710µs; 46.740µs] or [-0.032%; +0.032%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21395142.427op/s; 21408864.125op/s] or [-0.032%; +0.032%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [44.738µs; 44.794µs] or [-0.063%; +0.063%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [22324983.415op/s; 22352963.943op/s] or [-0.063%; +0.063%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.636µs 2.691µs ± 0.018µs 2.689µs ± 0.010µs 2.705µs 2.715µs 2.719µs 2.723µs 1.25% -0.949 1.356 0.67% 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.688µs; 2.693µs] or [-0.093%; +0.093%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.931µs 144.234µs ± 0.534µs 144.165µs ± 0.222µs 144.410µs 144.785µs 145.605µs 149.514µs 3.71% 5.146 47.029 0.37% 0.038µ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.160µs; 144.308µs] or [-0.051%; +0.051%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.212µs 1.213µs ± 0.001µs 1.213µs ± 0.000µs 1.213µs 1.213µs 1.214µs 1.220µs 0.61% 5.571 50.411 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 819723697.061op/s 824653309.198op/s ± 491523.411op/s 824741649.528op/s ± 227964.224op/s 824958680.802op/s 825060397.312op/s 825103570.459op/s 825142764.304op/s 0.05% -5.533 49.882 0.06% 34755.954op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 107.963µs 109.168µs ± 0.794µs 108.966µs ± 0.465µs 109.534µs 110.693µs 111.744µs 111.818µs 2.62% 1.136 1.069 0.73% 0.056µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 8943121.359op/s 9160646.080op/s ± 66111.679op/s 9177214.837op/s ± 39123.962op/s 9211699.780op/s 9235751.178op/s 9249681.781op/s 9262450.218op/s 0.93% -1.098 0.950 0.72% 4674.802op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 102.420µs 103.147µs ± 0.719µs 102.924µs ± 0.293µs 103.283µs 104.792µs 105.420µs 105.682µs 2.68% 1.638 2.041 0.70% 0.051µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 9462336.389op/s 9695376.660op/s ± 66804.072op/s 9715907.373op/s ± 27772.484op/s 9741478.974op/s 9757135.985op/s 9761019.221op/s 9763706.230op/s 0.49% -1.610 1.937 0.69% 4723.761op/s 1 200
credit_card/is_card_number/37828224631 execution_time 1.212µs 1.213µs ± 0.001µs 1.213µs ± 0.000µs 1.213µs 1.213µs 1.214µs 1.218µs 0.46% 4.144 34.488 0.05% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 820943726.103op/s 824658821.144op/s ± 403658.759op/s 824683617.255op/s ± 235987.836op/s 824935054.236op/s 825033172.313op/s 825118548.668op/s 825381124.811op/s 0.08% -4.116 34.138 0.05% 28542.985op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 98.344µs 99.153µs ± 0.626µs 98.960µs ± 0.284µs 99.383µs 100.527µs 101.367µs 101.716µs 2.78% 1.741 3.253 0.63% 0.044µs 1 200
credit_card/is_card_number/378282246310005 throughput 9831265.312op/s 10085827.739op/s ± 63020.023op/s 10105062.646op/s ± 29055.385op/s 10129551.469op/s 10147749.936op/s 10151598.250op/s 10168382.371op/s 0.63% -1.700 3.063 0.62% 4456.189op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 109.142µs 109.511µs ± 0.237µs 109.492µs ± 0.193µs 109.680µs 109.937µs 110.051µs 110.249µs 0.69% 0.586 -0.356 0.22% 0.017µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 9070339.497op/s 9131547.208op/s ± 19737.560op/s 9133077.380op/s ± 16092.836op/s 9149270.043op/s 9155445.576op/s 9159606.575op/s 9162370.146op/s 0.32% -0.577 -0.375 0.22% 1395.656op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 19.250µs 19.403µs ± 0.119µs 19.403µs ± 0.094µs 19.479µs 19.625µs 19.678µs 19.917µs 2.65% 0.770 0.773 0.61% 0.008µs 1 200
credit_card/is_card_number/x371413321323331 throughput 50207588.314op/s 51541473.618op/s ± 314067.119op/s 51538318.364op/s ± 250604.431op/s 51827183.527op/s 51935312.211op/s 51942121.969op/s 51947441.745op/s 0.79% -0.731 0.624 0.61% 22207.899op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 1.212µs 1.213µs ± 0.000µs 1.213µs ± 0.000µs 1.213µs 1.213µs 1.214µs 1.214µs 0.09% 0.275 -0.448 0.03% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 823894231.442op/s 824650935.728op/s ± 250030.574op/s 824619104.866op/s ± 200932.216op/s 824877224.905op/s 825004377.118op/s 825079952.619op/s 825103310.498op/s 0.06% -0.274 -0.450 0.03% 17679.831op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 90.327µs 97.639µs ± 2.228µs 98.027µs ± 1.494µs 99.331µs 100.446µs 101.345µs 101.403µs 3.44% -0.734 0.164 2.28% 0.158µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 9861604.126op/s 10247161.086op/s ± 238093.026op/s 10201308.264op/s ± 154815.005op/s 10380516.705op/s 10711084.866op/s 10850950.305op/s 11070850.703op/s 8.52% 0.849 0.452 2.32% 16835.719op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 82.974µs 84.948µs ± 0.559µs 85.012µs ± 0.322µs 85.323µs 85.755µs 86.017µs 87.432µs 2.85% -0.156 1.980 0.66% 0.039µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 11437449.991op/s 11772404.456op/s ± 77511.880op/s 11763062.221op/s ± 44594.341op/s 11808561.347op/s 11909076.483op/s 11964999.853op/s 12051997.629op/s 2.46% 0.232 1.878 0.66% 5480.918op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 1.212µs 1.213µs ± 0.000µs 1.213µs ± 0.000µs 1.213µs 1.214µs 1.214µs 1.214µs 0.11% 0.535 -0.492 0.04% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 823681929.136op/s 824601997.747op/s ± 337317.356op/s 824599605.030op/s ± 291604.756op/s 824908805.041op/s 825026314.411op/s 825075368.889op/s 825133360.041op/s 0.06% -0.534 -0.495 0.04% 23851.939op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 79.811µs 81.294µs ± 0.508µs 81.319µs ± 0.280µs 81.587µs 82.021µs 82.416µs 83.438µs 2.61% 0.074 1.435 0.62% 0.036µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 11984974.708op/s 12301533.244op/s ± 76865.333op/s 12297275.348op/s ± 42282.293op/s 12341317.100op/s 12436642.211op/s 12483435.413op/s 12529659.422op/s 1.89% -0.011 1.337 0.62% 5435.200op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 108.979µs 109.538µs ± 0.376µs 109.457µs ± 0.171µs 109.664µs 110.051µs 110.587µs 112.857µs 3.11% 4.062 29.805 0.34% 0.027µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 8860780.097op/s 9129355.182op/s ± 30942.997op/s 9136007.294op/s ± 14286.599op/s 9147804.003op/s 9157903.368op/s 9167542.802op/s 9176055.084op/s 0.44% -3.909 27.970 0.34% 2188.000op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 19.248µs 19.311µs ± 0.092µs 19.265µs ± 0.012µs 19.338µs 19.471µs 19.666µs 19.726µs 2.39% 2.238 5.499 0.48% 0.007µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 50694366.303op/s 51784588.639op/s ± 244024.402op/s 51906924.384op/s ± 31213.792op/s 51930678.048op/s 51944154.354op/s 51950713.248op/s 51953470.512op/s 0.09% -2.203 5.284 0.47% 17255.131op/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.213µs; 1.213µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/ throughput [824585188.780op/s; 824721429.615op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [109.058µs; 109.278µs] or [-0.101%; +0.101%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [9151483.637op/s; 9169808.523op/s] or [-0.100%; +0.100%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [103.047µs; 103.246µs] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 378282246310005 throughput [9686118.258op/s; 9704635.062op/s] or [-0.095%; +0.095%] None None None
credit_card/is_card_number/37828224631 execution_time [1.213µs; 1.213µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/37828224631 throughput [824602877.922op/s; 824714764.365op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/378282246310005 execution_time [99.066µs; 99.240µs] or [-0.088%; +0.088%] None None None
credit_card/is_card_number/378282246310005 throughput [10077093.770op/s; 10094561.708op/s] or [-0.087%; +0.087%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [109.478µs; 109.544µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [9128811.773op/s; 9134282.644op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 execution_time [19.386µs; 19.419µs] or [-0.085%; +0.085%] None None None
credit_card/is_card_number/x371413321323331 throughput [51497946.936op/s; 51585000.300op/s] or [-0.084%; +0.084%] None None None
credit_card/is_card_number_no_luhn/ execution_time [1.213µs; 1.213µs] or [-0.004%; +0.004%] None None None
credit_card/is_card_number_no_luhn/ throughput [824616283.895op/s; 824685587.561op/s] or [-0.004%; +0.004%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [97.331µs; 97.948µs] or [-0.316%; +0.316%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [10214163.682op/s; 10280158.489op/s] or [-0.322%; +0.322%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [84.871µs; 85.025µs] or [-0.091%; +0.091%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [11761662.055op/s; 11783146.858op/s] or [-0.091%; +0.091%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [1.213µs; 1.213µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [824555248.806op/s; 824648746.689op/s] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [81.223µs; 81.364µs] or [-0.087%; +0.087%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [12290880.448op/s; 12312186.040op/s] or [-0.087%; +0.087%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [109.486µs; 109.590µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [9125066.781op/s; 9133643.584op/s] or [-0.047%; +0.047%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [19.298µs; 19.324µs] or [-0.066%; +0.066%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [51750769.203op/s; 51818408.074op/s] or [-0.065%; +0.065%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.166µs 1.343µs ± 0.058µs 1.365µs ± 0.034µs 1.387µs 1.422µs 1.437µs 1.437µs 5.31% -0.679 0.049 4.30% 0.004µ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.335µs; 1.351µs] or [-0.598%; +0.598%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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 291.755ns 305.054ns ± 13.932ns 298.340ns ± 5.150ns 312.784ns 332.589ns 341.507ns 341.582ns 14.49% 1.104 0.015 4.56% 0.985ns 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 [303.123ns; 306.985ns] or [-0.633%; +0.633%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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.941µs 24.073µs ± 11.162µs 18.664µs ± 0.152µs 19.894µs 44.828µs 49.505µs 104.463µs 459.70% 3.018 14.297 46.25% 0.789µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [22.526µs; 25.620µs] or [-6.426%; +6.426%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 1487913 1726064817 alexjf/remove-soname
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 280.803µs 282.502µs ± 1.289µs 282.243µs ± 0.765µs 283.069µs 285.062µs 286.833µs 287.262µs 1.78% 1.402 2.181 0.46% 0.091µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 3481140.561op/s 3539866.881op/s ± 16051.582op/s 3543046.038op/s ± 9599.110op/s 3551856.512op/s 3557295.292op/s 3559915.962op/s 3561219.450op/s 0.51% -1.372 2.069 0.45% 1135.018op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 27.353µs 27.543µs ± 0.083µs 27.540µs ± 0.058µs 27.605µs 27.675µs 27.723µs 27.740µs 0.73% 0.035 -0.563 0.30% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 36048818.262op/s 36307472.932op/s ± 109437.893op/s 36310814.439op/s ± 76329.434op/s 36376667.697op/s 36482460.945op/s 36523246.359op/s 36558985.509op/s 0.68% -0.022 -0.566 0.30% 7738.428op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 16.812µs 16.859µs ± 0.034µs 16.851µs ± 0.022µs 16.878µs 16.930µs 16.947µs 16.959µs 0.64% 0.868 -0.087 0.20% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 58964426.118op/s 59315687.344op/s ± 119972.737op/s 59343156.040op/s ± 78051.656op/s 59411521.465op/s 59458483.114op/s 59481336.244op/s 59482750.002op/s 0.24% -0.860 -0.102 0.20% 8483.354op/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 [282.324µs; 282.681µs] or [-0.063%; +0.063%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [3537642.286op/s; 3542091.476op/s] or [-0.063%; +0.063%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [27.531µs; 27.554µs] or [-0.042%; +0.042%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [36292305.893op/s; 36322639.972op/s] or [-0.042%; +0.042%] None None None
normalization/normalize_name/normalize_name/good execution_time [16.854µs; 16.864µs] or [-0.028%; +0.028%] None None None
normalization/normalize_name/normalize_name/good throughput [59299060.277op/s; 59332314.412op/s] or [-0.028%; +0.028%] None None None

Baseline

Omitted due to size.

@ivoanjo
Copy link
Member

ivoanjo commented Sep 13, 2024

Closing as superceded by #628

@ivoanjo ivoanjo closed this Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants