Skip to content

Library-config component initial skeleton#807

Merged
paullegranddc merged 28 commits intomainfrom
paullgdc/library_config/initial_component
Jan 16, 2025
Merged

Library-config component initial skeleton#807
paullegranddc merged 28 commits intomainfrom
paullgdc/library_config/initial_component

Conversation

@paullegranddc
Copy link
Copy Markdown
Contributor

@paullegranddc paullegranddc commented Dec 17, 2024

What does this PR do?

Add a library configuration component

This component currently only support the stable configuration POC
The goal of this experiment is to parse a configuration file at the system level, and use that file to determine what configuration to apply to the current instance of the APM library.

It exposes a fairly simple FFI interface:

  • Takes a "ProcessInfo" struct, and returns a list of pairs (config name, string config value)

The FFI is built in the profiling artifact under an optional feature flag

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Dec 17, 2024

Codecov Report

Attention: Patch coverage is 65.11628% with 180 lines in your changes missing coverage. Please review.

Project coverage is 70.89%. Comparing base (fc84f4d) to head (d7849ed).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #807      +/-   ##
==========================================
- Coverage   71.01%   70.89%   -0.13%     
==========================================
  Files         316      319       +3     
  Lines       46261    46768     +507     
==========================================
+ Hits        32852    33155     +303     
- Misses      13409    13613     +204     
Components Coverage Δ
crashtracker 38.00% <ø> (ø)
crashtracker-ffi 5.63% <ø> (ø)
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.71% <ø> (ø)
data-pipeline-ffi 90.08% <ø> (ø)
ddcommon 80.24% <21.42%> (-1.85%) ⬇️
ddcommon-ffi 62.11% <21.42%> (-3.74%) ⬇️
ddtelemetry 59.51% <ø> (ø)
ddtelemetry-ffi 22.46% <ø> (ø)
dogstatsd 89.42% <ø> (ø)
dogstatsd-client 79.77% <ø> (ø)
ipc 82.79% <ø> (+0.10%) ⬆️
profiling 83.60% <ø> (-0.40%) ⬇️
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.96% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 93.79% <ø> (ø)

@pr-commenter
Copy link
Copy Markdown

pr-commenter Bot commented Dec 23, 2024

Benchmarks

Comparison

Benchmark execution time: 2025-01-16 19:03:45

Comparing candidate commit d7849ed in PR branch paullgdc/library_config/initial_component with baseline commit fc84f4d in branch main.

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

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 d7849ed 1737053576 paullgdc/library_config/initial_component
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.360µs 3.317µs ± 1.471µs 3.119µs ± 0.028µs 3.148µs 3.760µs 14.364µs 15.433µs 394.83% 7.457 56.312 44.24% 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.114µs; 3.521µs] or [-6.147%; +6.147%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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 57.899ms 58.021ms ± 0.104ms 57.994ms ± 0.024ms 58.024ms 58.217ms 58.345ms 58.911ms 1.58% 4.343 28.228 0.18% 0.007ms 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 [58.007ms; 58.036ms] or [-0.025%; +0.025%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.478µs 545.180µs ± 1.027µs 544.983µs ± 0.395µs 545.410µs 546.764µs 548.432µs 553.182µs 1.50% 3.256 18.863 0.19% 0.073µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1807722.704op/s 1834264.470op/s ± 3433.543op/s 1834918.780op/s ± 1329.426op/s 1836177.189op/s 1837822.819op/s 1838826.448op/s 1840001.095op/s 0.28% -3.199 18.273 0.19% 242.788op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 474.875µs 475.797µs ± 0.329µs 475.748µs ± 0.191µs 475.961µs 476.369µs 476.640µs 476.971µs 0.26% 0.428 0.966 0.07% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2096561.672op/s 2101737.923op/s ± 1454.516op/s 2101952.554op/s ± 845.049op/s 2102670.059op/s 2103867.484op/s 2105127.157op/s 2105818.254op/s 0.18% -0.422 0.959 0.07% 102.850op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 194.879µs 195.345µs ± 0.141µs 195.366µs ± 0.087µs 195.441µs 195.550µs 195.613µs 195.696µs 0.17% -0.586 0.435 0.07% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5109954.797op/s 5119142.208op/s ± 3701.455op/s 5118601.361op/s ± 2290.103op/s 5121355.402op/s 5126539.557op/s 5129517.842op/s 5131384.371op/s 0.25% 0.590 0.442 0.07% 261.732op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 47.000µs 47.537µs ± 0.205µs 47.550µs ± 0.137µs 47.681µs 47.852µs 47.978µs 48.030µs 1.01% -0.237 -0.176 0.43% 0.014µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 20820527.954op/s 21036518.895op/s ± 90662.089op/s 21030406.099op/s ± 60593.981op/s 21096453.798op/s 21188748.286op/s 21252082.161op/s 21276618.707op/s 1.17% 0.260 -0.166 0.43% 6410.778op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 49.843µs 50.197µs ± 0.106µs 50.208µs ± 0.072µs 50.271µs 50.338µs 50.371µs 50.649µs 0.88% -0.104 1.208 0.21% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 19743850.255op/s 19921635.857op/s ± 42216.891op/s 19917217.025op/s ± 28412.133op/s 19948874.555op/s 19988329.767op/s 20026847.490op/s 20063045.169op/s 0.73% 0.124 1.180 0.21% 2985.185op/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.037µs; 545.322µs] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1833788.614op/s; 1834740.326op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [475.751µs; 475.843µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2101536.341op/s; 2101939.505op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [195.326µs; 195.365µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5118629.222op/s; 5119655.194op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [47.509µs; 47.566µs] or [-0.060%; +0.060%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [21023954.002op/s; 21049083.789op/s] or [-0.060%; +0.060%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [50.182µs; 50.212µs] or [-0.029%; +0.029%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [19915785.002op/s; 19927486.712op/s] or [-0.029%; +0.029%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.413µs 5.494µs ± 0.045µs 5.487µs ± 0.034µs 5.526µs 5.578µs 5.581µs 5.584µs 1.76% 0.470 -0.784 0.81% 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.488µs; 5.500µs] or [-0.113%; +0.113%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.171µs 37.778µs ± 1.032µs 37.306µs ± 0.054µs 37.400µs 39.958µs 40.010µs 41.813µs 12.08% 1.784 1.509 2.73% 0.073µ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 [37.635µs; 37.921µs] or [-0.379%; +0.379%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.400µs 28.057µs ± 14.373µs 19.018µs ± 0.534µs 36.520µs 46.558µs 55.221µs 149.419µs 685.67% 3.894 27.032 51.10% 1.016µ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.065µs; 30.049µs] or [-7.100%; +7.100%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.629µs 2.695µs ± 0.018µs 2.696µs ± 0.004µs 2.701µs 2.726µs 2.734µs 2.736µs 1.50% -1.352 4.294 0.65% 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.693µs; 2.698µs] or [-0.090%; +0.090%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.023µs 138.742µs ± 0.470µs 138.698µs ± 0.123µs 138.819µs 139.143µs 139.917µs 144.279µs 4.02% 8.474 95.271 0.34% 0.033µ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 [138.676µs; 138.807µs] or [-0.047%; +0.047%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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 298.744µs 301.808µs ± 1.000µs 301.875µs ± 0.719µs 302.542µs 303.327µs 303.952µs 304.173µs 0.76% -0.167 -0.215 0.33% 0.071µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 3287605.981op/s 3313406.216op/s ± 10984.580op/s 3312627.165op/s ± 7906.128op/s 3320585.054op/s 3331553.544op/s 3338759.033op/s 3347352.957op/s 1.05% 0.184 -0.202 0.33% 776.727op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 27.045µs 27.260µs ± 0.087µs 27.259µs ± 0.056µs 27.316µs 27.393µs 27.479µs 27.581µs 1.18% 0.351 0.678 0.32% 0.006µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 36257181.512op/s 36684372.450op/s ± 117563.725op/s 36685118.710op/s ± 75313.417op/s 36759621.838op/s 36865591.960op/s 36943557.986op/s 36975997.295op/s 0.79% -0.327 0.635 0.32% 8313.011op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 15.846µs 16.152µs ± 0.176µs 16.262µs ± 0.055µs 16.296µs 16.334µs 16.371µs 16.401µs 0.86% -0.448 -1.616 1.09% 0.012µs 1 200
normalization/normalize_name/normalize_name/good throughput 60971765.939op/s 61918084.642op/s ± 679630.527op/s 61494221.000op/s ± 206614.527op/s 62708994.679op/s 62913118.943op/s 63067287.928op/s 63106565.062op/s 2.62% 0.454 -1.611 1.09% 48057.135op/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 [301.669µs; 301.946µs] or [-0.046%; +0.046%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [3311883.858op/s; 3314928.573op/s] or [-0.046%; +0.046%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [27.248µs; 27.272µs] or [-0.044%; +0.044%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [36668079.248op/s; 36700665.652op/s] or [-0.044%; +0.044%] None None None
normalization/normalize_name/normalize_name/good execution_time [16.128µs; 16.177µs] or [-0.151%; +0.151%] None None None
normalization/normalize_name/normalize_name/good throughput [61823894.387op/s; 62012274.896op/s] or [-0.152%; +0.152%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.498µs 65.693µs ± 0.141µs 65.674µs ± 0.036µs 65.712µs 65.828µs 66.020µs 67.338µs 2.53% 8.236 91.246 0.21% 0.010µ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.674µs; 65.713µs] or [-0.030%; +0.030%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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 296.692ns 306.976ns ± 13.128ns 302.443ns ± 3.398ns 307.534ns 342.367ns 345.420ns 348.031ns 15.07% 1.986 2.636 4.27% 0.928ns 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 [305.157ns; 308.795ns] or [-0.593%; +0.593%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.361ms 6.379ms ± 0.008ms 6.379ms ± 0.004ms 6.383ms 6.391ms 6.398ms 6.441ms 0.98% 2.554 15.379 0.13% 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.378ms; 6.381ms] or [-0.018%; +0.018%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz d7849ed 1737053576 paullgdc/library_config/initial_component
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.269µs 4.285µs ± 0.003µs 4.285µs ± 0.001µs 4.287µs 4.290µs 4.292µs 4.297µs 0.26% -0.455 3.970 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 232746726.488op/s 233350326.484op/s ± 167565.435op/s 233348266.691op/s ± 81385.534op/s 233423494.079op/s 233614453.453op/s 233689446.482op/s 234240055.110op/s 0.38% 0.468 4.009 0.07% 11848.666op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 110.857µs 111.243µs ± 0.182µs 111.238µs ± 0.121µs 111.363µs 111.525µs 111.595µs 111.998µs 0.68% 0.303 0.572 0.16% 0.013µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 8928713.154op/s 8989389.894op/s ± 14667.411op/s 8989703.643op/s ± 9748.070op/s 8998687.093op/s 9012240.618op/s 9018461.630op/s 9020616.619op/s 0.34% -0.291 0.542 0.16% 1037.143op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 101.234µs 101.607µs ± 0.150µs 101.606µs ± 0.092µs 101.695µs 101.814µs 101.979µs 102.378µs 0.76% 0.606 2.822 0.15% 0.011µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 9767716.788op/s 9841864.967op/s ± 14489.485op/s 9841984.943op/s ± 8915.983op/s 9851707.181op/s 9863983.936op/s 9874596.220op/s 9878117.007op/s 0.37% -0.586 2.740 0.15% 1024.561op/s 1 200
credit_card/is_card_number/37828224631 execution_time 4.269µs 4.285µs ± 0.002µs 4.285µs ± 0.001µs 4.286µs 4.288µs 4.291µs 4.295µs 0.24% -1.468 14.425 0.05% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 232804137.809op/s 233348877.656op/s ± 124776.705op/s 233355499.107op/s ± 54222.408op/s 233406348.653op/s 233541718.957op/s 233614929.731op/s 234256841.248op/s 0.39% 1.491 14.568 0.05% 8823.045op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 97.599µs 97.800µs ± 0.096µs 97.795µs ± 0.036µs 97.833µs 97.893µs 97.967µs 98.810µs 1.04% 5.871 60.903 0.10% 0.007µs 1 200
credit_card/is_card_number/378282246310005 throughput 10120438.127op/s 10224963.812op/s ± 9929.416op/s 10225491.953op/s ± 3765.722op/s 10229159.490op/s 10237258.606op/s 10240594.684op/s 10246053.504op/s 0.20% -5.789 59.789 0.10% 702.116op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 70.853µs 71.300µs ± 0.119µs 71.303µs ± 0.075µs 71.389µs 71.464µs 71.509µs 71.530µs 0.32% -0.833 1.315 0.17% 0.008µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 13980191.160op/s 14025266.587op/s ± 23375.104op/s 14024607.915op/s ± 14706.044op/s 14037944.568op/s 14062332.819op/s 14097963.641op/s 14113775.044op/s 0.64% 0.846 1.353 0.17% 1652.869op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.833µs 6.844µs ± 0.004µs 6.843µs ± 0.002µs 6.845µs 6.851µs 6.855µs 6.858µs 0.22% 0.794 2.008 0.06% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 145807762.538op/s 146122021.715op/s ± 84891.994op/s 146129419.491op/s ± 39563.452op/s 146169607.686op/s 146254640.002op/s 146307649.476op/s 146352323.498op/s 0.15% -0.789 2.000 0.06% 6002.770op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 4.265µs 4.286µs ± 0.003µs 4.286µs ± 0.001µs 4.287µs 4.291µs 4.294µs 4.295µs 0.23% -0.886 7.553 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 232811011.422op/s 233335911.092op/s ± 174974.069op/s 233339145.156op/s ± 81437.190op/s 233417926.503op/s 233575600.030op/s 233700212.251op/s 234447888.281op/s 0.48% 0.906 7.668 0.07% 12372.535op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 84.375µs 84.812µs ± 0.155µs 84.816µs ± 0.104µs 84.910µs 85.068µs 85.169µs 85.206µs 0.46% 0.029 -0.042 0.18% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 11736280.214op/s 11790862.571op/s ± 21614.823op/s 11790279.504op/s ± 14504.810op/s 11805503.729op/s 11823641.385op/s 11842525.937op/s 11851801.856op/s 0.52% -0.018 -0.041 0.18% 1528.399op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 74.229µs 74.640µs ± 0.142µs 74.635µs ± 0.106µs 74.747µs 74.879µs 74.912µs 74.929µs 0.39% -0.024 -0.478 0.19% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 13346016.697op/s 13397735.669op/s ± 25484.580op/s 13398529.513op/s ± 19067.666op/s 13416256.814op/s 13436731.590op/s 13454423.169op/s 13471848.060op/s 0.55% 0.033 -0.471 0.19% 1802.032op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 4.267µs 4.286µs ± 0.003µs 4.286µs ± 0.001µs 4.287µs 4.291µs 4.292µs 4.303µs 0.40% -0.288 7.841 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 232397992.814op/s 233324713.799op/s ± 180107.982op/s 233333476.626op/s ± 68754.931op/s 233392893.187op/s 233624264.141op/s 233703280.755op/s 234366715.829op/s 0.44% 0.310 7.874 0.08% 12735.558op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 70.395µs 70.876µs ± 0.142µs 70.855µs ± 0.100µs 70.981µs 71.088µs 71.165µs 71.389µs 0.75% 0.103 0.264 0.20% 0.010µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 14007721.609op/s 14109264.006op/s ± 28197.595op/s 14113278.140op/s ± 19792.475op/s 14128100.683op/s 14153641.728op/s 14162586.229op/s 14205649.587op/s 0.65% -0.089 0.259 0.20% 1993.871op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 70.973µs 71.271µs ± 0.119µs 71.259µs ± 0.083µs 71.382µs 71.455µs 71.504µs 71.516µs 0.36% -0.092 -0.583 0.17% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 13982841.962op/s 14030926.205op/s ± 23478.884op/s 14033352.801op/s ± 16259.685op/s 14047521.970op/s 14071092.910op/s 14088191.294op/s 14089825.737op/s 0.40% 0.099 -0.577 0.17% 1660.208op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.832µs 6.843µs ± 0.004µs 6.842µs ± 0.002µs 6.844µs 6.848µs 6.852µs 6.869µs 0.39% 1.401 10.850 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 145576452.382op/s 146142924.962op/s ± 83203.550op/s 146145962.530op/s ± 32483.637op/s 146172311.310op/s 146281449.533op/s 146351117.794op/s 146380384.548op/s 0.16% -1.383 10.729 0.06% 5883.379op/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.285µs; 4.286µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [233327103.527op/s; 233373549.442op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [111.217µs; 111.268µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [8987357.131op/s; 8991422.656op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [101.586µs; 101.628µs] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/ 378282246310005 throughput [9839856.864op/s; 9843873.071op/s] or [-0.020%; +0.020%] None None None
credit_card/is_card_number/37828224631 execution_time [4.285µs; 4.286µs] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/37828224631 throughput [233331584.805op/s; 233366170.507op/s] or [-0.007%; +0.007%] None None None
credit_card/is_card_number/378282246310005 execution_time [97.787µs; 97.813µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number/378282246310005 throughput [10223587.691op/s; 10226339.934op/s] or [-0.013%; +0.013%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [71.284µs; 71.317µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [14022027.022op/s; 14028506.151op/s] or [-0.023%; +0.023%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.843µs; 6.844µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 throughput [146110256.501op/s; 146133786.929op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ execution_time [4.285µs; 4.286µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [233311661.369op/s; 233360160.815op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [84.790µs; 84.833µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [11787866.964op/s; 11793858.177op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [74.620µs; 74.659µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [13394203.751op/s; 13401267.587op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [4.285µs; 4.286µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [233299752.565op/s; 233349675.033op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [70.856µs; 70.895µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [14105356.091op/s; 14113171.922op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [71.255µs; 71.288µs] or [-0.023%; +0.023%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [14027672.258op/s; 14034180.153op/s] or [-0.023%; +0.023%] 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 [146131393.750op/s; 146154456.174op/s] or [-0.008%; +0.008%] None None None

Baseline

Omitted due to size.

@github-actions github-actions Bot added the profiling Relates to the profiling* modules. label Dec 24, 2024
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch 2 times, most recently from a55b907 to 903066d Compare December 30, 2024 14:05
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch 7 times, most recently from adda6a7 to 6b83b48 Compare December 30, 2024 16:29
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch 2 times, most recently from 286e02f to 9c094b2 Compare December 31, 2024 08:13
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch from 9c094b2 to 8ffe755 Compare December 31, 2024 08:31
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch from ac91fd7 to 766522b Compare December 31, 2024 09:50
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch from 8ce380c to 8a71af6 Compare December 31, 2024 15:37
@BaptisteFoy BaptisteFoy force-pushed the paullgdc/library_config/initial_component branch from 341a1da to 08fa3d9 Compare January 15, 2025 13:40
@BaptisteFoy BaptisteFoy marked this pull request as ready for review January 15, 2025 15:03
@BaptisteFoy BaptisteFoy requested review from a team as code owners January 15, 2025 15:03
Copy link
Copy Markdown
Contributor

@bantonsson bantonsson left a comment

Choose a reason for hiding this comment

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

Looks good in general for a POC. Would love more comments on the methods going forward.

Comment thread build-profiling-ffi.sh Outdated
Comment thread builder/Cargo.toml Outdated
Comment thread library-config/src/lib.rs Outdated
Comment thread profiling-ffi/src/lib.rs Outdated
Comment thread library-config/src/lib.rs
templated.push_str(head);
let Some((template_var, tail)) = after_bracket.split_once("}}") else {
anyhow::bail!("unterminated template in config")
};
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not for now, but the parsing here could be made a bit more robust so that broken things like {{ ... {{ ... }} would get a better error message than UNDEFINED.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure what behavior we should have actually.
Either:

  • we skip this specific config, and log something
  • we try to replace invalid values, and probably log something too
  • we skip all configurations and return an error

Comment thread build-telemetry-ffi.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-build common profiling Relates to the profiling* modules.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants