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

Add more siginfo_t context #726

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Add more siginfo_t context #726

wants to merge 10 commits into from

Conversation

sanchda
Copy link
Contributor

@sanchda sanchda commented Nov 11, 2024

What does this PR do?

  • Standardize code paths that took a signum to take a siginfo_t
  • Add tests to ensure serialization works as intended
  • Add libc status code -> string helpers

This adds some more siginfo_t context to crashes. In addition to the SIGBUS codes, I added some logic to make sense of things like SIGSYS, since I would like to add support for that soon.

One possible point of contention that I was unable to resolve: currently, we emit a faulting_address, which is a representation of the si_addr from the siginfo_t only when the fault is a segfault. This makes a lot of sense in the current product, which does no special normalization in the telemetry backend. However, from a data transmission perspective, I think it makes more sense to represent the struct-as-it-is-written and defer to the backend for normalization. Moreover, si_addr has context outside of SIGSEGV.

This decision duplicates an address for now. Oh well.

Motivation

While exploring the behavior of crashtracking for system tests, and as part of my experiments in other branches, I started relying on strace's comprehension for siginfo_t. We also had a recent bug that could really only have been comprehended with content from siginfo_t (stack overflow by hitting the crashtracking guard page).

I think this information is really important.

@sanchda sanchda requested review from a team as code owners November 11, 2024 17:13
@pr-commenter
Copy link

pr-commenter bot commented Nov 11, 2024

Benchmarks

Comparison

Benchmark execution time: 2024-11-12 16:14:07

Comparing candidate commit dac1014 in PR branch sanchda/add_faultinfo with baseline commit 873ea85 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 51 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 dac1014 1731427415 sanchda/add_faultinfo
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 141.719µs 143.023µs ± 0.336µs 142.996µs ± 0.197µs 143.221µs 143.509µs 143.789µs 145.032µs 1.42% 0.795 6.569 0.23% 0.024µ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 [142.977µs; 143.070µs] or [-0.033%; +0.033%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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 506.449µs 507.256µs ± 0.624µs 507.193µs ± 0.247µs 507.445µs 507.784µs 509.242µs 512.445µs 1.04% 5.344 40.237 0.12% 0.044µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1951429.382op/s 1971393.405op/s ± 2407.925op/s 1971637.416op/s ± 959.952op/s 1972504.507op/s 1973681.583op/s 1974299.005op/s 1974531.104op/s 0.15% -5.294 39.703 0.12% 170.266op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 467.726µs 468.491µs ± 0.324µs 468.486µs ± 0.243µs 468.725µs 469.086µs 469.201µs 469.311µs 0.18% 0.128 -0.330 0.07% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2130781.300op/s 2134515.106op/s ± 1477.586op/s 2134535.024op/s ± 1107.861op/s 2135644.025op/s 2136682.969op/s 2137632.870op/s 2138002.912op/s 0.16% -0.125 -0.330 0.07% 104.481op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 179.688µs 180.197µs ± 0.203µs 180.196µs ± 0.127µs 180.324µs 180.536µs 180.688µs 180.779µs 0.32% 0.150 0.095 0.11% 0.014µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5531624.160op/s 5549501.992op/s ± 6241.321op/s 5549501.486op/s ± 3893.833op/s 5553330.837op/s 5559348.082op/s 5562781.195op/s 5565200.395op/s 0.28% -0.144 0.089 0.11% 441.328op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 44.735µs 44.949µs ± 0.062µs 44.952µs ± 0.037µs 44.984µs 45.044µs 45.072µs 45.244µs 0.65% 0.201 2.417 0.14% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 22102225.773op/s 22247686.804op/s ± 30490.476op/s 22245961.767op/s ± 18251.921op/s 22264933.523op/s 22296620.369op/s 22311603.600op/s 22353801.383op/s 0.48% -0.183 2.375 0.14% 2156.002op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 48.980µs 49.188µs ± 0.050µs 49.190µs ± 0.019µs 49.207µs 49.265µs 49.299µs 49.327µs 0.28% -0.569 1.719 0.10% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 20272955.991op/s 20330328.747op/s ± 20790.861op/s 20329409.530op/s ± 7717.692op/s 20338659.244op/s 20364985.165op/s 20384592.915op/s 20416641.719op/s 0.43% 0.579 1.740 0.10% 1470.136op/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 [507.170µs; 507.343µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1971059.689op/s; 1971727.120op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [468.446µs; 468.536µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2134310.327op/s; 2134719.885op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [180.168µs; 180.225µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5548637.005op/s; 5550366.979op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [44.940µs; 44.957µs] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [22243461.117op/s; 22251912.490op/s] or [-0.019%; +0.019%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [49.181µs; 49.195µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [20327447.334op/s; 20333210.161op/s] or [-0.014%; +0.014%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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 69.445µs 69.623µs ± 0.164µs 69.610µs ± 0.036µs 69.638µs 69.780µs 70.178µs 71.498µs 2.71% 8.011 84.191 0.24% 0.012µ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 [69.600µs; 69.646µs] or [-0.033%; +0.033%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.995ms 9.042ms ± 0.016ms 9.040ms ± 0.008ms 9.050ms 9.064ms 9.099ms 9.159ms 1.31% 2.191 13.319 0.18% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [9.040ms; 9.044ms] or [-0.025%; +0.025%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.074µs 37.548µs ± 0.829µs 37.168µs ± 0.036µs 37.244µs 39.328µs 39.374µs 40.573µs 9.16% 1.763 1.322 2.20% 0.059µ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.433µs; 37.663µs] or [-0.306%; +0.306%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.653µs 24.936µs ± 10.362µs 19.293µs ± 0.298µs 34.824µs 41.979µs 45.872µs 96.665µs 401.02% 2.570 11.248 41.45% 0.733µ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.500µs; 26.372µs] or [-5.759%; +5.759%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.371µs 3.304µs ± 1.428µs 3.151µs ± 0.023µs 3.174µs 3.209µs 14.081µs 15.146µs 380.64% 7.551 57.306 43.12% 0.101µ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.106µs; 3.502µs] or [-5.991%; +5.991%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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 271.800µs 273.996µs ± 1.079µs 273.817µs ± 0.778µs 274.706µs 275.782µs 276.514µs 278.334µs 1.65% 0.654 0.441 0.39% 0.076µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 3592810.499op/s 3649742.756op/s ± 14342.672op/s 3652074.643op/s ± 10374.813op/s 3660570.438op/s 3669254.209op/s 3674290.314op/s 3679172.255op/s 0.74% -0.631 0.372 0.39% 1014.180op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 26.093µs 26.419µs ± 0.111µs 26.418µs ± 0.080µs 26.498µs 26.586µs 26.698µs 26.735µs 1.20% 0.017 0.127 0.42% 0.008µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 37403838.053op/s 37852481.208op/s ± 159050.018op/s 37853193.304op/s ± 114422.837op/s 37962991.354op/s 38120107.301op/s 38201701.004op/s 38323809.688op/s 1.24% 0.010 0.122 0.42% 11246.535op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 15.476µs 15.586µs ± 0.086µs 15.565µs ± 0.060µs 15.664µs 15.720µs 15.770µs 16.033µs 3.00% 1.069 2.096 0.55% 0.006µs 1 200
normalization/normalize_name/normalize_name/good throughput 62372331.634op/s 64160395.791op/s ± 352384.706op/s 64245848.409op/s ± 247829.196op/s 64473060.335op/s 64553870.492op/s 64589270.576op/s 64618093.605op/s 0.58% -1.022 1.806 0.55% 24917.361op/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 [273.847µs; 274.146µs] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [3647755.000op/s; 3651730.513op/s] or [-0.054%; +0.054%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [26.403µs; 26.434µs] or [-0.058%; +0.058%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [37830438.405op/s; 37874524.010op/s] or [-0.058%; +0.058%] None None None
normalization/normalize_name/normalize_name/good execution_time [15.574µs; 15.598µs] or [-0.077%; +0.077%] None None None
normalization/normalize_name/normalize_name/good throughput [64111558.660op/s; 64209232.922op/s] or [-0.076%; +0.076%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.680µs 2.711µs ± 0.022µs 2.704µs ± 0.008µs 2.715µs 2.766µs 2.771µs 2.773µs 2.54% 1.591 1.481 0.80% 0.002µ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.708µs; 2.714µs] or [-0.112%; +0.112%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.147µs 1.209µs ± 0.025µs 1.208µs ± 0.020µs 1.231µs 1.236µs 1.238µs 1.239µs 2.55% -0.942 0.147 2.08% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [1.205µs; 1.212µs] or [-0.289%; +0.289%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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.599µs 4.614µs ± 0.008µs 4.616µs ± 0.006µs 4.619µs 4.628µs 4.630µs 4.631µs 0.34% 0.044 -0.778 0.18% 0.001µs 1 200
credit_card/is_card_number/ throughput 215917566.497op/s 216726263.241op/s ± 384346.148op/s 216647058.010op/s ± 284890.850op/s 217020313.663op/s 217359645.754op/s 217404906.762op/s 217415067.225op/s 0.35% -0.038 -0.781 0.18% 27177.377op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 93.130µs 93.516µs ± 0.345µs 93.448µs ± 0.109µs 93.575µs 93.780µs 94.386µs 97.473µs 4.31% 7.977 85.264 0.37% 0.024µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 10259283.741op/s 10693449.264op/s ± 38383.719op/s 10701178.735op/s ± 12434.517op/s 10710342.443op/s 10718281.906op/s 10729787.221op/s 10737691.445op/s 0.34% -7.721 81.089 0.36% 2714.139op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 85.222µs 85.372µs ± 0.313µs 85.314µs ± 0.024µs 85.348µs 85.653µs 86.092µs 89.201µs 4.56% 9.682 111.621 0.37% 0.022µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 11210659.019op/s 11713571.431op/s ± 41441.006op/s 11721462.684op/s ± 3245.345op/s 11723668.950op/s 11728488.008op/s 11732775.456op/s 11734090.785op/s 0.11% -9.468 107.624 0.35% 2930.322op/s 1 200
credit_card/is_card_number/37828224631 execution_time 4.591µs 4.614µs ± 0.008µs 4.614µs ± 0.006µs 4.619µs 4.628µs 4.630µs 4.632µs 0.39% 0.064 -0.678 0.18% 0.001µs 1 200
credit_card/is_card_number/37828224631 throughput 215902321.328op/s 216748692.224op/s ± 391300.191op/s 216750884.252op/s ± 264320.513op/s 217058391.756op/s 217357461.041op/s 217419601.729op/s 217797818.928op/s 0.48% -0.057 -0.679 0.18% 27669.102op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 81.582µs 82.098µs ± 0.290µs 82.063µs ± 0.121µs 82.172µs 82.716µs 83.124µs 83.764µs 2.07% 2.289 7.587 0.35% 0.020µs 1 200
credit_card/is_card_number/378282246310005 throughput 11938327.384op/s 12180678.985op/s ± 42659.886op/s 12185799.290op/s ± 18034.954op/s 12205171.331op/s 12227601.559op/s 12239005.566op/s 12257599.687op/s 0.59% -2.244 7.308 0.35% 3016.509op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 58.859µs 58.896µs ± 0.023µs 58.897µs ± 0.014µs 58.906µs 58.937µs 58.953µs 59.035µs 0.23% 1.791 7.443 0.04% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 16939122.488op/s 16979210.474op/s ± 6483.022op/s 16978920.670op/s ± 4148.060op/s 16984646.304op/s 16986609.965op/s 16987739.999op/s 16989853.659op/s 0.06% -1.784 7.391 0.04% 458.419op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.819µs 6.835µs ± 0.031µs 6.823µs ± 0.003µs 6.828µs 6.901µs 6.979µs 7.009µs 2.72% 3.066 10.771 0.45% 0.002µs 1 200
credit_card/is_card_number/x371413321323331 throughput 142678567.941op/s 146311512.344op/s ± 647068.989op/s 146561331.102op/s ± 62004.238op/s 146617707.124op/s 146636708.687op/s 146649570.438op/s 146654706.763op/s 0.06% -3.022 10.391 0.44% 45754.687op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 4.599µs 4.614µs ± 0.009µs 4.613µs ± 0.006µs 4.619µs 4.629µs 4.632µs 4.634µs 0.44% 0.183 -0.756 0.19% 0.001µs 1 200
credit_card/is_card_number_no_luhn/ throughput 215814496.247op/s 216740318.302op/s ± 402580.657op/s 216759160.735op/s ± 268998.251op/s 217049867.509op/s 217370996.223op/s 217399895.675op/s 217437287.538op/s 0.31% -0.177 -0.760 0.19% 28466.751op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 73.406µs 73.698µs ± 0.138µs 73.702µs ± 0.087µs 73.792µs 73.864µs 73.978µs 74.587µs 1.20% 1.077 7.463 0.19% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 13407101.308op/s 13568902.017op/s ± 25278.459op/s 13568232.697op/s ± 16012.542op/s 13583094.142op/s 13609385.150op/s 13620344.750op/s 13622812.762op/s 0.40% -1.031 7.146 0.19% 1787.457op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 65.275µs 65.499µs ± 0.134µs 65.515µs ± 0.105µs 65.581µs 65.713µs 65.757µs 65.789µs 0.42% 0.023 -0.936 0.20% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 15200127.562op/s 15267502.488op/s ± 31157.966op/s 15263638.210op/s ± 24518.847op/s 15293783.842op/s 15318983.974op/s 15319708.882op/s 15319895.949op/s 0.37% -0.016 -0.937 0.20% 2203.201op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 4.598µs 4.613µs ± 0.009µs 4.614µs ± 0.006µs 4.619µs 4.628µs 4.630µs 4.636µs 0.49% 0.123 -0.833 0.19% 0.001µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 215691459.185op/s 216760221.911op/s ± 411197.458op/s 216748839.366op/s ± 279965.639op/s 217074250.951op/s 217389707.273op/s 217414984.569op/s 217486277.759op/s 0.34% -0.117 -0.838 0.19% 29076.051op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 62.184µs 62.521µs ± 0.115µs 62.504µs ± 0.041µs 62.570µs 62.745µs 62.880µs 62.984µs 0.77% 0.812 1.866 0.18% 0.008µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 15876998.036op/s 15994735.388op/s ± 29492.679op/s 15999022.173op/s ± 10429.089op/s 16006593.126op/s 16039478.637op/s 16046985.668op/s 16081202.682op/s 0.51% -0.795 1.831 0.18% 2085.447op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 58.859µs 58.891µs ± 0.020µs 58.891µs ± 0.015µs 58.903µs 58.929µs 58.945µs 58.959µs 0.11% 0.698 0.198 0.03% 0.001µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 16960935.573op/s 16980573.194op/s ± 5776.950op/s 16980396.981op/s ± 4287.695op/s 16985446.021op/s 16988023.019op/s 16988951.151op/s 16989612.551op/s 0.05% -0.696 0.194 0.03% 408.492op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.818µs 6.832µs ± 0.026µs 6.822µs ± 0.003µs 6.826µs 6.882µs 6.980µs 6.982µs 2.34% 3.534 14.817 0.38% 0.002µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 143226404.331op/s 146371306.020op/s ± 552827.432op/s 146573880.625op/s ± 54464.228op/s 146626504.234op/s 146646017.143op/s 146652776.921op/s 146666857.811op/s 0.06% -3.485 14.385 0.38% 39090.803op/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.613µs; 4.615µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/ throughput [216672996.562op/s; 216779529.921op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [93.469µs; 93.564µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [10688129.650op/s; 10698768.879op/s] or [-0.050%; +0.050%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [85.329µs; 85.415µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/ 378282246310005 throughput [11707828.106op/s; 11719314.756op/s] or [-0.049%; +0.049%] None None None
credit_card/is_card_number/37828224631 execution_time [4.612µs; 4.615µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/37828224631 throughput [216694461.781op/s; 216802922.668op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/378282246310005 execution_time [82.058µs; 82.138µs] or [-0.049%; +0.049%] None None None
credit_card/is_card_number/378282246310005 throughput [12174766.735op/s; 12186591.235op/s] or [-0.049%; +0.049%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [58.892µs; 58.899µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [16978311.989op/s; 16980108.958op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.831µs; 6.839µs] or [-0.062%; +0.062%] None None None
credit_card/is_card_number/x371413321323331 throughput [146221834.805op/s; 146401189.883op/s] or [-0.061%; +0.061%] None None None
credit_card/is_card_number_no_luhn/ execution_time [4.613µs; 4.615µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ throughput [216684524.495op/s; 216796112.109op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [73.679µs; 73.717µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [13565398.665op/s; 13572405.368op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [65.480µs; 65.517µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [15263184.294op/s; 15271820.683op/s] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [4.612µs; 4.615µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [216703233.899op/s; 216817209.924op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [62.505µs; 62.537µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [15990647.986op/s; 15998822.789op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [58.888µs; 58.894µs] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [16979772.564op/s; 16981373.824op/s] or [-0.005%; +0.005%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.828µs; 6.836µs] or [-0.053%; +0.053%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [146294689.455op/s; 146447922.585op/s] or [-0.052%; +0.052%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz dac1014 1731427415 sanchda/add_faultinfo
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 298.254ns 309.867ns ± 14.949ns 303.000ns ± 3.973ns 312.433ns 338.272ns 358.287ns 358.381ns 18.28% 1.711 2.176 4.81% 1.057ns 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 [307.796ns; 311.939ns] or [-0.669%; +0.669%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

codecov-commenter commented Nov 11, 2024

Codecov Report

Attention: Patch coverage is 54.61538% with 59 lines in your changes missing coverage. Please review.

Project coverage is 71.20%. Comparing base (873ea85) to head (dac1014).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #726      +/-   ##
==========================================
+ Coverage   71.16%   71.20%   +0.04%     
==========================================
  Files         287      288       +1     
  Lines       42739    42835      +96     
==========================================
+ Hits        30416    30502      +86     
- Misses      12323    12333      +10     
Components Coverage Δ
crashtracker 43.19% <54.61%> (+1.18%) ⬆️
crashtracker-ffi 9.05% <0.00%> (-0.16%) ⬇️
datadog-alloc 98.73% <ø> (ø)
data-pipeline 91.95% <ø> (ø)
data-pipeline-ffi 0.00% <ø> (ø)
ddcommon 83.46% <ø> (ø)
ddcommon-ffi 69.12% <ø> (ø)
ddtelemetry 59.10% <ø> (ø)
ddtelemetry-ffi 22.13% <ø> (ø)
dogstatsd 89.45% <ø> (ø)
dogstatsd-client 79.77% <ø> (ø)
ipc 82.75% <ø> (ø)
profiling 84.30% <ø> (ø)
profiling-ffi 77.46% <ø> (ø)
serverless 0.00% <ø> (ø)
sidecar 37.42% <ø> (ø)
sidecar-ffi 0.00% <ø> (ø)
spawn-worker 50.36% <ø> (ø)
tinybytes 94.77% <ø> (ø)
trace-mini-agent 72.18% <ø> (ø)
trace-normalization 98.25% <ø> (ø)
trace-obfuscation 95.77% <ø> (ø)
trace-protobuf 77.67% <ø> (ø)
trace-utils 93.14% <ø> (ø)

"faulting_address": 0,
"pid": 0,
"si_addr": 0,
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this be in hex

// developers who are querying for specific faults. However, we should probably decide how
// this gets canonized and which component is responsible.
// For now, double-ship the address.
if siginfo.si_signo == libc::SIGSEGV {
Copy link
Contributor

Choose a reason for hiding this comment

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

not SIGBUS?

}
}

// These are defined in siginfo.h
Copy link
Contributor

Choose a reason for hiding this comment

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

Are these stable across OS/Architecture?

#[serde(skip_serializing_if = "Option::is_none")]
#[serde(default)]
pub signame: Option<String>,
pub signame: String,
Copy link
Contributor

Choose a reason for hiding this comment

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

⛏️ we normally keep fields alphabetical unless there is a reason not to

@@ -509,8 +501,7 @@ fn handle_posix_signal_impl(signum: i32, sig_info: *mut siginfo_t) -> anyhow::Re
config,
config_str,
metadata_string,
signum,
faulting_address,
unsafe { *siginfo },
Copy link
Contributor

Choose a reason for hiding this comment

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

Calling by value not reference?

"faulting_address": 0,
"pid": 0,
Copy link
Contributor

Choose a reason for hiding this comment

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

Only collect the fields that are relevent for the given signal https://man7.org/linux/man-pages/man2/sigaction.2.html

@danielsn
Copy link
Contributor

This should be synchronized with RFC5.

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.

3 participants