Skip to content

fix(crashtracking): use libunwind to unwind frames#1663

Open
gyuheon0h wants to merge 3 commits intomainfrom
gyuheon0h/PROF-13672-libunwind
Open

fix(crashtracking): use libunwind to unwind frames#1663
gyuheon0h wants to merge 3 commits intomainfrom
gyuheon0h/PROF-13672-libunwind

Conversation

@gyuheon0h
Copy link
Contributor

@gyuheon0h gyuheon0h commented Mar 5, 2026

What does this PR do?

Use packaged libunwind to unwind crash stacktrace.

The diff is bigger than the actual change, because I moved some of the emitter functions around so that the file structure is

helper structs
main emit func (`emit_crashreport`)
... all the helper emitters ...

I also added unsafe comments to unsafe calls

Motivation

Crashtracker collects callstacks. When it comes to alpine/musl-libc (mainly on x86_64), we fail at retrieving the callstack passed the signal frame. The problem is that the musl-libc binary does not have the CFIs (unwinding information) and the unwinder does not know how to move forward and stop.

Libunwind provides a way to unwind starting from the ucontext: context (registers and state) of the crashing thread. Going that way, we can collect the callstack as much as possible (until hitting musl-libc). We previously packaged libunwind as a libdatadog crate here: feat(profiling): Wrap libunwind in a crate

Lets use this to unwind from crash ucontext

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

Copy link
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from db27cac to 12d5692 Compare March 5, 2026 16:48
@gyuheon0h gyuheon0h changed the title libunwind [dont review; WIP] libunwind Mar 5, 2026
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from 12d5692 to b3edc83 Compare March 5, 2026 17:20
@github-actions
Copy link

github-actions bot commented Mar 5, 2026

📚 Documentation Check Results

⚠️ 1039 documentation warning(s) found

📦 libdd-crashtracker - 1039 warning(s)


Updated: 2026-03-06 19:49:48 UTC | Commit: 5d94c22 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/gyuheon0h/PROF-13672-libunwind

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 12 0 ✅ -12 (-100.0%)
Total 12 0 ✅ -12 (-100.0%)

Annotation Counts by File

File Base Branch PR Branch Change
libdd-crashtracker/src/collector/emitters.rs 12 0 ✅ -12 (-100.0%)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 28 27 ✅ -1 (-3.6%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 0 ✅ -12 (-100.0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 220 207 ✅ -13 (-5.9%)

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

🔒 Cargo Deny Results

⚠️ 1 issue(s) found, showing only errors (advisories, bans, sources)

📦 libdd-crashtracker - 1 error(s)

Show output
error[unmaintained]: paste - no longer maintained
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:141:1
    │
141 │ paste 1.0.15 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ unmaintained advisory detected
    │
    ├ ID: RUSTSEC-2024-0436
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2024-0436
    ├ The creator of the crate `paste` has stated in the [`README.md`](https://github.com/dtolnay/paste/blob/master/README.md) 
      that this project is not longer maintained as well as archived the repository
      
      ## Possible Alternative(s)
      
      - [`pastey`]: a fork of paste and is aimed to be a drop-in replacement with additional features for paste crate
      - [`with_builtin_macros`]: crate providing a [superset of `paste`'s functionality including general `macro_rules!` eager expansions](https://docs.rs/with_builtin_macros/0.1.0/with_builtin_macros/macro.with_eager_expansions.html)  and `concat!`/`concat_idents!` macros
      
      [`pastey`]: https://crates.io/crates/pastey
      [`with_builtin_macros`]: https://crates.io/crates/with_builtin_macros
    ├ Announcement: https://github.com/dtolnay/paste
    ├ Solution: No safe upgrade is available!
    ├ paste v1.0.15
      └── libdd-libunwind-sys v28.0.3
          └── libdd-crashtracker v1.0.0

advisories FAILED, bans ok, sources ok

Updated: 2026-03-06 19:52:20 UTC | Commit: 5d94c22 | dependency-check job results

@codecov-commenter
Copy link

codecov-commenter commented Mar 5, 2026

Codecov Report

❌ Patch coverage is 31.25000% with 77 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.14%. Comparing base (0f3d46b) to head (fc419c4).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1663      +/-   ##
==========================================
- Coverage   71.19%   71.14%   -0.05%     
==========================================
  Files         427      427              
  Lines       62852    62857       +5     
==========================================
- Hits        44746    44721      -25     
- Misses      18106    18136      +30     
Components Coverage Δ
libdd-crashtracker 62.42% <31.25%> (-0.52%) ⬇️
libdd-crashtracker-ffi 17.49% <ø> (+0.92%) ⬆️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 88.02% <ø> (ø)
libdd-data-pipeline-ffi 75.72% <ø> (ø)
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.45% <ø> (-0.04%) ⬇️
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.35% <ø> (-0.51%) ⬇️
libdd-profiling 81.60% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.47% <ø> (+0.47%) ⬆️
datdog-sidecar-ffi 7.73% <ø> (+1.30%) ⬆️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.69% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 89.07% <ø> (ø)
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 5, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.63 MB --.71% (-64.02 KB) 💪
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 98.65 MB 100.06 MB +1.42% (+1.40 MB) ⚠️
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 114.29 MB 116.71 MB +2.11% (+2.41 MB) ⚠️
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.29 MB 11.20 MB --.75% (-87.43 KB) 💪
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.16 MB 27.16 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.04 MB 186.05 MB +0% (+16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.19 MB 917.17 MB -0% (-22.09 KB) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.76 MB 24.76 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.43 MB 51.43 MB +0% (+148 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 22.97 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.23 MB 190.27 MB +.02% (+40.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.84 MB 900.82 MB -0% (-20.73 KB) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.52 MB 26.52 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.06 MB 47.06 MB +0% (+150 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 86.54 MB 87.28 MB +.85% (+758.55 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.23 MB 10.19 MB --.38% (-40.02 KB) 💪
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 107.16 MB 109.60 MB +2.27% (+2.44 MB) ⚠️
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.98 MB 11.92 MB --.50% (-62.46 KB) 💪

@gyuheon0h gyuheon0h changed the title [dont review; WIP] libunwind feat(crashtracking): use libunwind to unwind frames Mar 5, 2026
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 2 times, most recently from 507c974 to 1ac9cb5 Compare March 5, 2026 19:23
@datadog-datadog-prod-us1
Copy link
Contributor

datadog-datadog-prod-us1 bot commented Mar 5, 2026

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: fc419c4 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 3 times, most recently from 1dfb73b to 3aa8cd5 Compare March 5, 2026 21:32
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 9 times, most recently from 7a8c08e to 2017c16 Compare March 5, 2026 22:26
@gyuheon0h gyuheon0h changed the title feat(crashtracking): use libunwind to unwind frames fix(crashtracking): use libunwind to unwind frames Mar 5, 2026
@pr-commenter
Copy link

pr-commenter bot commented Mar 5, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-06 20:05:21

Comparing candidate commit fc419c4 in PR branch gyuheon0h/PROF-13672-libunwind with baseline commit bd94dd9 in branch main.

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

Explanation

This is an A/B test comparing a candidate commit's performance against that of a baseline commit. Performance changes are noted in the tables below as:

  • 🟩 = significantly better candidate vs. baseline
  • 🟥 = significantly worse candidate vs. baseline

We compute a confidence interval (CI) over the relative difference of means between metrics from the candidate and baseline commits, considering the baseline as the reference.

If the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD), the change is considered significant.

Feel free to reach out to #apm-benchmarking-platform on Slack if you have any questions.

More details about the CI and significant changes

You can imagine this CI as a range of values that is likely to contain the true difference of means between the candidate and baseline commits.

CIs of the difference of means are often centered around 0%, because often changes are not that big:

---------------------------------(------|---^--------)-------------------------------->
                              -0.6%    0%  0.3%     +1.2%
                                 |          |        |
         lower bound of the CI --'          |        |
sample mean (center of the CI) -------------'        |
         upper bound of the CI ----------------------'

As described above, a change is considered significant if the CI is entirely outside the configured SIGNIFICANT_IMPACT_THRESHOLD (or the deprecated UNCONFIDENCE_THRESHOLD).

For instance, for an execution time metric, this confidence interval indicates a significantly worse performance:

----------------------------------------|---------|---(---------^---------)---------->
                                       0%        1%  1.3%      2.2%      3.1%
                                                  |   |         |         |
       significant impact threshold --------------'   |         |         |
                      lower bound of CI --------------'         |         |
       sample mean (center of the CI) --------------------------'         |
                      upper bound of CI ----------------------------------'

scenario:receiver_entry_point/report/2598

  • 🟥 execution_time [+302.008µs; +307.609µs] or [+9.137%; +9.307%]

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 fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 48.337ms 48.785ms ± 1.233ms 48.619ms ± 0.104ms 48.743ms 48.917ms 53.346ms 63.736ms 31.09% 10.096 111.952 2.52% 0.087ms 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 [48.614ms; 48.956ms] or [-0.350%; +0.350%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 240.522ns 251.364ns ± 12.986ns 246.639ns ± 3.553ns 252.116ns 284.833ns 295.281ns 299.030ns 21.24% 2.162 3.784 5.15% 0.918ns 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 [249.564ns; 253.163ns] or [-0.716%; +0.716%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 33.108µs 34.010µs ± 1.219µs 33.247µs ± 0.085µs 35.479µs 36.131µs 36.228µs 36.639µs 10.20% 0.938 -1.027 3.57% 0.086µ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.841µs; 34.179µs] or [-0.497%; +0.497%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 10.601ms 10.630ms ± 0.013ms 10.629ms ± 0.008ms 10.637ms 10.652ms 10.674ms 10.686ms 0.53% 1.158 2.664 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 [10.629ms; 10.632ms] or [-0.017%; +0.017%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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.420µs 2.444µs ± 0.019µs 2.441µs ± 0.010µs 2.450µs 2.496µs 2.504µs 2.505µs 2.63% 1.580 2.521 0.79% 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.441µs; 2.447µs] or [-0.110%; +0.110%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 144.617µs 146.569µs ± 1.667µs 146.303µs ± 0.467µs 146.817µs 148.157µs 153.355µs 162.138µs 10.82% 5.717 44.267 1.13% 0.118µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.338µs; 146.800µs] or [-0.158%; +0.158%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.137ms 4.141ms ± 0.007ms 4.140ms ± 0.001ms 4.142ms 4.145ms 4.147ms 4.230ms 2.18% 11.403 146.606 0.16% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.140ms; 4.142ms] or [-0.023%; +0.023%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 85.498µs 85.734µs ± 0.167µs 85.723µs ± 0.049µs 85.776µs 85.830µs 86.388µs 87.478µs 2.05% 6.695 62.952 0.19% 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 [85.711µs; 85.757µs] or [-0.027%; +0.027%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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.069µs ± 0.041µs 5.052µs ± 0.020µs 5.114µs 5.133µs 5.136µs 5.138µs 1.72% 0.518 -1.369 0.80% 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.064µs; 5.075µs] or [-0.111%; +0.111%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 188.075ns 190.999ns ± 2.109ns 190.942ns ± 1.352ns 191.983ns 194.778ns 197.988ns 202.413ns 6.01% 1.501 4.557 1.10% 0.149ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [190.707ns; 191.291ns] or [-0.153%; +0.153%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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.708µs 25.834µs ± 9.774µs 17.911µs ± 0.153µs 34.832µs 43.536µs 44.890µs 61.138µs 241.34% 0.740 -0.510 37.74% 0.691µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.479µs; 27.188µs] or [-5.243%; +5.243%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 533.959µs 535.012µs ± 0.900µs 534.856µs ± 0.274µs 535.149µs 536.038µs 537.525µs 544.285µs 1.76% 6.215 56.296 0.17% 0.064µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1837271.561op/s 1869122.023op/s ± 3112.738op/s 1869663.451op/s ± 957.393op/s 1870592.520op/s 1871512.251op/s 1872104.515op/s 1872802.143op/s 0.17% -6.117 54.841 0.17% 220.104op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.141µs 380.840µs ± 0.286µs 380.836µs ± 0.189µs 381.007µs 381.320µs 381.577µs 381.690µs 0.22% 0.434 0.050 0.08% 0.020µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2619925.077op/s 2625777.304op/s ± 1974.342op/s 2625803.532op/s ± 1304.223op/s 2627326.976op/s 2628589.979op/s 2629457.012op/s 2630600.749op/s 0.18% -0.430 0.045 0.08% 139.607op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.889µs 190.210µs ± 0.182µs 190.181µs ± 0.116µs 190.317µs 190.535µs 190.702µs 190.740µs 0.29% 0.569 -0.148 0.10% 0.013µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5242740.921op/s 5257350.621op/s ± 5040.095op/s 5258138.892op/s ± 3215.838op/s 5260817.860op/s 5264611.880op/s 5266121.058op/s 5266242.307op/s 0.15% -0.564 -0.154 0.10% 356.389op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.275µs 37.501µs ± 0.079µs 37.502µs ± 0.050µs 37.552µs 37.639µs 37.675µs 37.729µs 0.61% -0.064 0.506 0.21% 0.006µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26504478.081op/s 26665812.049op/s ± 56227.329op/s 26665238.214op/s ± 35286.214op/s 26700472.521op/s 26751280.071op/s 26819697.604op/s 26827679.307op/s 0.61% 0.080 0.510 0.21% 3975.873op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.805µs 45.926µs ± 0.131µs 45.910µs ± 0.044µs 45.955µs 46.062µs 46.106µs 47.499µs 3.46% 8.762 101.680 0.29% 0.009µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21052966.352op/s 21774464.614op/s ± 60718.260op/s 21781855.414op/s ± 20780.035op/s 21801557.814op/s 21821768.017op/s 21829409.025op/s 21831647.342op/s 0.23% -8.534 97.967 0.28% 4293.429op/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 [534.887µs; 535.137µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1868690.627op/s; 1869553.418op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.800µs; 380.880µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2625503.679op/s; 2626050.929op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.185µs; 190.235µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5256652.112op/s; 5258049.129op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.490µs; 37.512µs] or [-0.029%; +0.029%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26658019.482op/s; 26673604.616op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.908µs; 45.944µs] or [-0.040%; +0.040%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21766049.647op/s; 21782879.581op/s] or [-0.039%; +0.039%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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.198µs 3.203µs ± 1.412µs 2.988µs ± 0.031µs 3.017µs 3.628µs 13.864µs 14.604µs 388.74% 7.314 54.800 43.96% 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 [3.007µs; 3.398µs] or [-6.108%; +6.108%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2598 execution_time 3.582ms 3.610ms ± 0.014ms 3.608ms ± 0.009ms 3.618ms 3.636ms 3.656ms 3.660ms 1.43% 0.930 1.335 0.39% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2598 execution_time [3.608ms; 3.612ms] or [-0.055%; +0.055%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 185.341µs 185.819µs ± 0.608µs 185.756µs ± 0.176µs 185.944µs 186.147µs 186.346µs 191.701µs 3.20% 7.998 71.927 0.33% 0.043µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5216469.804op/s 5381627.123op/s ± 17170.459op/s 5383404.378op/s ± 5117.841op/s 5388116.114op/s 5393294.509op/s 5395198.616op/s 5395449.343op/s 0.22% -7.900 70.712 0.32% 1214.135op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.875µs 17.978µs ± 0.035µs 17.975µs ± 0.017µs 17.993µs 18.031µs 18.042µs 18.256µs 1.56% 2.481 18.493 0.20% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 54775125.097op/s 55622775.607op/s ± 108506.768op/s 55631835.061op/s ± 51751.150op/s 55680179.611op/s 55758203.633op/s 55856702.456op/s 55943372.144op/s 0.56% -2.398 17.735 0.19% 7672.587op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.272µs 10.345µs ± 0.036µs 10.340µs ± 0.024µs 10.367µs 10.403µs 10.437µs 10.456µs 1.12% 0.477 -0.004 0.34% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 95638243.995op/s 96670290.244op/s ± 331409.172op/s 96711834.512op/s ± 223062.456op/s 96915143.305op/s 97132029.656op/s 97324119.803op/s 97350660.768op/s 0.66% -0.459 -0.029 0.34% 23434.167op/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 [185.735µs; 185.904µs] or [-0.045%; +0.045%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5379247.462op/s; 5384006.783op/s] or [-0.044%; +0.044%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.973µs; 17.983µs] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55607737.613op/s; 55637813.602op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.340µs; 10.349µs] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/good throughput [96624360.120op/s; 96716220.368op/s] or [-0.048%; +0.048%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.012ms 14.058ms ± 0.032ms 14.054ms ± 0.015ms 14.069ms 14.114ms 14.190ms 14.212ms 1.12% 2.136 6.450 0.23% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.054ms; 14.063ms] or [-0.031%; +0.031%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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.894µs 3.912µs ± 0.003µs 3.913µs ± 0.002µs 3.914µs 3.918µs 3.919µs 3.921µs 0.22% -0.690 6.622 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255024313.082op/s 255593069.770op/s ± 191634.040op/s 255590709.420op/s ± 125019.873op/s 255719281.248op/s 255831291.342op/s 255883150.935op/s 256788088.166op/s 0.47% 0.708 6.731 0.07% 13550.573op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.968µs 79.706µs ± 0.395µs 79.664µs ± 0.287µs 79.958µs 80.403µs 80.804µs 81.034µs 1.72% 0.554 0.107 0.49% 0.028µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12340468.834op/s 12546391.196op/s ± 62067.528op/s 12552660.155op/s ± 44984.933op/s 12597029.309op/s 12634806.682op/s 12648697.853op/s 12663325.492op/s 0.88% -0.528 0.050 0.49% 4388.837op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.306µs 72.927µs ± 0.341µs 72.876µs ± 0.233µs 73.141µs 73.565µs 73.950µs 74.055µs 1.62% 0.820 0.635 0.47% 0.024µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13503496.965op/s 13712707.099op/s ± 63954.574op/s 13721916.122op/s ± 43853.313op/s 13759168.981op/s 13797723.032op/s 13817159.845op/s 13830191.308op/s 0.79% -0.792 0.568 0.47% 4522.271op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.891µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.919µs 3.922µs 0.27% -1.085 9.585 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254957125.608op/s 255613698.601op/s ± 206064.020op/s 255637527.589op/s ± 131407.795op/s 255754213.407op/s 255864015.847op/s 255930735.779op/s 257017218.645op/s 0.54% 1.110 9.763 0.08% 14570.927op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.113µs 69.802µs ± 0.371µs 69.769µs ± 0.261µs 70.039µs 70.464µs 70.728µs 70.869µs 1.58% 0.580 -0.243 0.53% 0.026µs 1 200
credit_card/is_card_number/378282246310005 throughput 14110564.109op/s 14326679.190op/s ± 75979.495op/s 14332996.823op/s ± 53655.628op/s 14383285.562op/s 14430749.692op/s 14438691.696op/s 14469088.450op/s 0.95% -0.557 -0.280 0.53% 5372.562op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.155µs 52.224µs ± 0.040µs 52.216µs ± 0.027µs 52.249µs 52.298µs 52.329µs 52.354µs 0.27% 0.708 0.101 0.08% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19100587.174op/s 19148321.189op/s ± 14727.347op/s 19151221.838op/s ± 9965.262op/s 19159249.713op/s 19168406.824op/s 19172370.639op/s 19173557.747op/s 0.12% -0.704 0.093 0.08% 1041.381op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.040µs ± 0.014µs 6.036µs ± 0.003µs 6.039µs 6.072µs 6.104µs 6.109µs 1.21% 2.829 8.556 0.23% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 163683899.899op/s 165559465.339op/s ± 372253.710op/s 165660880.398op/s ± 75029.599op/s 165735911.753op/s 165837187.809op/s 165869109.531op/s 165884558.371op/s 0.14% -2.812 8.426 0.22% 26322.312op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.897µs 3.913µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.920µs 3.920µs 0.19% -0.466 4.442 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255122487.241op/s 255584345.078op/s ± 180388.256op/s 255594517.498op/s ± 119142.783op/s 255707883.199op/s 255820361.102op/s 255909708.586op/s 256615942.516op/s 0.40% 0.480 4.510 0.07% 12755.376op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.077µs 64.416µs ± 0.141µs 64.409µs ± 0.090µs 64.499µs 64.671µs 64.772µs 64.888µs 0.74% 0.449 0.362 0.22% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15411099.983op/s 15524143.759op/s ± 34046.110op/s 15525821.508op/s ± 21662.735op/s 15547356.651op/s 15572623.958op/s 15596865.405op/s 15606254.987op/s 0.52% -0.435 0.342 0.22% 2407.423op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.136µs 58.367µs ± 0.145µs 58.331µs ± 0.072µs 58.431µs 58.618µs 58.849µs 59.005µs 1.16% 1.415 2.820 0.25% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16947594.392op/s 17132976.307op/s ± 42502.834op/s 17143563.389op/s ± 21079.174op/s 17160353.583op/s 17185557.259op/s 17195324.460op/s 17201044.103op/s 0.34% -1.395 2.728 0.25% 3005.404op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.913µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.918µs 3.920µs 3.921µs 0.23% -0.755 7.856 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255021076.654op/s 255577240.425op/s ± 203638.129op/s 255604038.549op/s ± 117631.356op/s 255712340.826op/s 255812401.037op/s 255848037.256op/s 256903063.720op/s 0.51% 0.777 8.003 0.08% 14399.390op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.558µs 54.880µs ± 0.239µs 54.828µs ± 0.162µs 55.013µs 55.345µs 55.576µs 55.753µs 1.69% 1.006 0.651 0.43% 0.017µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17936277.405op/s 18221835.197op/s ± 78860.618op/s 18238979.681op/s ± 53909.438op/s 18286095.712op/s 18313351.441op/s 18324753.432op/s 18329112.129op/s 0.49% -0.985 0.583 0.43% 5576.288op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.161µs 52.231µs ± 0.037µs 52.230µs ± 0.025µs 52.252µs 52.298µs 52.327µs 52.372µs 0.27% 0.719 0.822 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19094331.967op/s 19145688.790op/s ± 13642.140op/s 19146128.538op/s ± 9096.566op/s 19155766.462op/s 19165421.172op/s 19168242.612op/s 19171335.020op/s 0.13% -0.714 0.809 0.07% 964.645op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.039µs ± 0.015µs 6.036µs ± 0.003µs 6.039µs 6.074µs 6.109µs 6.151µs 1.90% 4.574 24.709 0.25% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 162579612.222op/s 165579899.324op/s ± 416900.417op/s 165672266.244op/s ± 76317.200op/s 165745947.596op/s 165818253.307op/s 165884345.176op/s 165921256.737op/s 0.15% -4.530 24.226 0.25% 29479.311op/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.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255566511.135op/s; 255619628.405op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.651µs; 79.761µs] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12537789.233op/s; 12554993.158op/s] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.879µs; 72.974µs] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13703843.610op/s; 13721570.588op/s] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255585140.110op/s; 255642257.092op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.750µs; 69.853µs] or [-0.074%; +0.074%] None None None
credit_card/is_card_number/378282246310005 throughput [14316149.162op/s; 14337209.217op/s] or [-0.073%; +0.073%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.218µs; 52.229µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19146280.121op/s; 19150362.258op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.038µs; 6.042µs] or [-0.031%; +0.031%] None None None
credit_card/is_card_number/x371413321323331 throughput [165507874.555op/s; 165611056.123op/s] or [-0.031%; +0.031%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255559345.001op/s; 255609345.156op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.397µs; 64.436µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15519425.295op/s; 15528862.222op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.347µs; 58.387µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17127085.823op/s; 17138866.791op/s] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255549018.139op/s; 255605462.711op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.847µs; 54.913µs] or [-0.060%; +0.060%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18210905.874op/s; 18232764.521op/s] or [-0.060%; +0.060%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.226µs; 52.236µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19143798.121op/s; 19147579.460op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.037µs; 6.042µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165522120.935op/s; 165637677.712op/s] or [-0.035%; +0.035%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 748.378µs 750.051µs ± 1.248µs 749.877µs ± 0.420µs 750.271µs 751.018µs 756.215µs 757.073µs 0.96% 3.740 16.578 0.17% 0.088µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [749.878µs; 750.224µs] or [-0.023%; +0.023%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz fc419c4 1772826482 gyuheon0h/PROF-13672-libunwind
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 160.638µs 161.301µs ± 0.241µs 161.294µs ± 0.131µs 161.425µs 161.690µs 162.118µs 162.244µs 0.59% 0.829 2.786 0.15% 0.017µ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 [161.268µs; 161.335µs] or [-0.021%; +0.021%] None None None

Baseline

Omitted due to size.

@gyuheon0h gyuheon0h marked this pull request as ready for review March 6, 2026 05:16
@gyuheon0h gyuheon0h requested review from a team as code owners March 6, 2026 05:16
assert!(out.contains("\"file\":\"test_file2\""));
}

#[test]
Copy link
Contributor Author

@gyuheon0h gyuheon0h Mar 6, 2026

Choose a reason for hiding this comment

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

unwinding specific logic with libunwind is tested in the libdd-libunwind-sys crate. No need to replicate those tests here. I test edge cases with ucontext here, however.

@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch 4 times, most recently from 1f94b2f to d37e8ca Compare March 6, 2026 16:52
@gyuheon0h gyuheon0h force-pushed the gyuheon0h/PROF-13672-libunwind branch from d37e8ca to 6c27f98 Compare March 6, 2026 18:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants