Skip to content

feat(profiling): make dictionary ids comparable in api2#1570

Draft
morrisonlevi wants to merge 2 commits intopr1/add-samples-benchmarkfrom
levi/api2-eq-hash
Draft

feat(profiling): make dictionary ids comparable in api2#1570
morrisonlevi wants to merge 2 commits intopr1/add-samples-benchmarkfrom
levi/api2-eq-hash

Conversation

@morrisonlevi
Copy link
Contributor

@morrisonlevi morrisonlevi commented Feb 13, 2026

What does this PR do?

Adds comparability and hashability for dictionary-backed api2 identity types.

Specifically, this PR adds Eq/PartialEq/Hash for:

  • FunctionId2
  • MappingId2
  • api2::Location2

Documents that these comparisons are intended for values produced by the
same ProfilesDictionary.

Motivation

I intend to use this in a future PR to optimize the internals of the Profile.
I'm opening a separate PR to keep PRs smaller and more reviewable.

Additional Notes

This is currently stacked on another PR.

How to test the change?

  1. Check out branch levi/api2-eq-hash.
  2. Run compile checks:
    • cargo check -p libdd-profiling
    • cargo check -p libdd-profiling --benches
  3. Confirm:
    • api2::Location2/FunctionId2/MappingId2 can be used in Eq/Hash
      contexts for same-dictionary IDs

morrisonlevi and others added 2 commits February 13, 2026 15:12
Add Eq/PartialEq/Hash for MappingId2, FunctionId2, and Location2 so api2
locations can be deduplicated by handle identity. Document that comparisons
are only intended for ids from the same ProfilesDictionary.

Co-authored-by: Cursor <cursoragent@cursor.com>
Add minimal unit tests for FunctionId2, MappingId2, and Location2 equality and
hash semantics based on dictionary-backed handle identity.

Co-authored-by: Cursor <cursoragent@cursor.com>
@morrisonlevi morrisonlevi added the profiling Relates to the profiling* modules. label Feb 13, 2026
@morrisonlevi morrisonlevi changed the title Levi/api2 eq hash feat(profiling): make dictionary ids comparable in api2 Feb 13, 2026
@github-actions github-actions bot removed the profiling Relates to the profiling* modules. label Feb 13, 2026
@morrisonlevi morrisonlevi added the profiling Relates to the profiling* modules. label Feb 13, 2026
@github-actions
Copy link

github-actions bot commented Feb 13, 2026

📚 Documentation Check Results

⚠️ 632 documentation warning(s) found

📦 libdd-profiling - 632 warning(s)


Updated: 2026-02-13 22:25:14 UTC | Commit: 8ec08c6 | missing-docs job results

@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

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 27 27 No change (0%)
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 12 No change (0%)
libdd-data-pipeline 6 6 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 220 No change (0%)

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 Feb 13, 2026

🔒 Cargo Deny Results

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

📦 libdd-profiling - 1 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:30:1
   │
30 │ bytes 1.8.0 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2026-0007
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0007
   ├ In the unique reclaim path of `BytesMut::reserve`, the condition
     ```rs
     if v_capacity >= new_cap + offset
     ```
     uses an unchecked addition. When `new_cap + offset` overflows `usize` in release builds, this condition may incorrectly pass, causing `self.cap` to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as `spare_capacity_mut()` then trust this corrupted `cap` value and may create out-of-bounds slices, leading to UB.
     
     This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks.
     
     ## PoC
     
     ```rs
     use bytes::*;
     
     fn main() {
         let mut a = BytesMut::from(&b"hello world"[..]);
         let mut b = a.split_off(5);
     
         // Ensure b becomes the unique owner of the backing storage
         drop(a);
     
         // Trigger overflow in new_cap + offset inside reserve
         b.reserve(usize::MAX - 6);
     
         // This call relies on the corrupted cap and may cause UB & HBO
         b.put_u8(b'h');
     }
     ```
     
     # Workarounds
     
     Users of `BytesMut::reserve` are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.
   ├ Announcement: https://github.com/advisories/GHSA-434x-w66g-qw3r
   ├ Solution: Upgrade to >=1.11.1 (try `cargo update -p bytes`)
   ├ bytes v1.8.0
     ├── combine v4.6.7
     │   └── jni v0.21.1
     │       └── rustls-platform-verifier v0.6.2
     │           └── reqwest v0.13.1
     │               ├── libdd-common v1.1.0
     │               │   └── libdd-profiling v1.0.0
     │               │       └── (dev) libdd-profiling v1.0.0 (*)
     │               └── libdd-profiling v1.0.0 (*)
     ├── http v1.1.0
     │   ├── http-body v1.0.1
     │   │   ├── http-body-util v0.1.2
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   ├── libdd-profiling v1.0.0 (*)
     │   │   │   └── reqwest v0.13.1 (*)
     │   │   ├── hyper v1.6.0
     │   │   │   ├── hyper-rustls v0.27.3
     │   │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   │   └── reqwest v0.13.1 (*)
     │   │   │   ├── hyper-util v0.1.17
     │   │   │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   │   └── reqwest v0.13.1 (*)
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   └── reqwest v0.13.1 (*)
     │   │   ├── hyper-util v0.1.17 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   ├── reqwest v0.13.1 (*)
     │   │   └── tower-http v0.6.8
     │   │       └── reqwest v0.13.1 (*)
     │   ├── http-body-util v0.1.2 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── libdd-common v1.1.0 (*)
     │   ├── libdd-profiling v1.0.0 (*)
     │   ├── multer v3.1.0
     │   │   └── libdd-common v1.1.0 (*)
     │   ├── reqwest v0.13.1 (*)
     │   └── tower-http v0.6.8 (*)
     ├── http-body v1.0.1 (*)
     ├── http-body-util v0.1.2 (*)
     ├── hyper v1.6.0 (*)
     ├── hyper-util v0.1.17 (*)
     ├── libdd-common v1.1.0 (*)
     ├── libdd-profiling v1.0.0 (*)
     ├── multer v3.1.0 (*)
     ├── prost v0.14.3
     │   ├── libdd-profiling v1.0.0 (*)
     │   └── libdd-profiling-protobuf v1.0.0
     │       ├── libdd-profiling v1.0.0 (*)
     │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
     ├── reqwest v0.13.1 (*)
     ├── tokio v1.49.0
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── (dev) libdd-common v1.1.0 (*)
     │   ├── libdd-profiling v1.0.0 (*)
     │   ├── reqwest v0.13.1 (*)
     │   ├── tokio-rustls v0.26.0
     │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   └── reqwest v0.13.1 (*)
     │   ├── tokio-util v0.7.12
     │   │   └── libdd-profiling v1.0.0 (*)
     │   └── tower v0.5.2
     │       ├── reqwest v0.13.1 (*)
     │       └── tower-http v0.6.8 (*)
     ├── tokio-util v0.7.12 (*)
     └── tower-http v0.6.8 (*)

advisories FAILED, bans ok, sources ok

Updated: 2026-02-13 22:28:07 UTC | Commit: 8ec08c6 | dependency-check job results

@github-actions
Copy link

🔒 Cargo Deny Results

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

📦 libdd-profiling - 1 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:30:1
   │
30 │ bytes 1.8.0 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2026-0007
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0007
   ├ In the unique reclaim path of `BytesMut::reserve`, the condition
     ```rs
     if v_capacity >= new_cap + offset
     ```
     uses an unchecked addition. When `new_cap + offset` overflows `usize` in release builds, this condition may incorrectly pass, causing `self.cap` to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as `spare_capacity_mut()` then trust this corrupted `cap` value and may create out-of-bounds slices, leading to UB.
     
     This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks.
     
     ## PoC
     
     ```rs
     use bytes::*;
     
     fn main() {
         let mut a = BytesMut::from(&b"hello world"[..]);
         let mut b = a.split_off(5);
     
         // Ensure b becomes the unique owner of the backing storage
         drop(a);
     
         // Trigger overflow in new_cap + offset inside reserve
         b.reserve(usize::MAX - 6);
     
         // This call relies on the corrupted cap and may cause UB & HBO
         b.put_u8(b'h');
     }
     ```
     
     # Workarounds
     
     Users of `BytesMut::reserve` are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.
   ├ Announcement: https://github.com/advisories/GHSA-434x-w66g-qw3r
   ├ Solution: Upgrade to >=1.11.1 (try `cargo update -p bytes`)
   ├ bytes v1.8.0
     ├── combine v4.6.7
     │   └── jni v0.21.1
     │       └── rustls-platform-verifier v0.6.2
     │           └── reqwest v0.13.1
     │               ├── libdd-common v1.1.0
     │               │   └── libdd-profiling v1.0.0
     │               │       └── (dev) libdd-profiling v1.0.0 (*)
     │               └── libdd-profiling v1.0.0 (*)
     ├── http v1.1.0
     │   ├── http-body v1.0.1
     │   │   ├── http-body-util v0.1.2
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   ├── libdd-profiling v1.0.0 (*)
     │   │   │   └── reqwest v0.13.1 (*)
     │   │   ├── hyper v1.6.0
     │   │   │   ├── hyper-rustls v0.27.3
     │   │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   │   └── reqwest v0.13.1 (*)
     │   │   │   ├── hyper-util v0.1.17
     │   │   │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   │   └── reqwest v0.13.1 (*)
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   └── reqwest v0.13.1 (*)
     │   │   ├── hyper-util v0.1.17 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   ├── reqwest v0.13.1 (*)
     │   │   └── tower-http v0.6.8
     │   │       └── reqwest v0.13.1 (*)
     │   ├── http-body-util v0.1.2 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── libdd-common v1.1.0 (*)
     │   ├── libdd-profiling v1.0.0 (*)
     │   ├── multer v3.1.0
     │   │   └── libdd-common v1.1.0 (*)
     │   ├── reqwest v0.13.1 (*)
     │   └── tower-http v0.6.8 (*)
     ├── http-body v1.0.1 (*)
     ├── http-body-util v0.1.2 (*)
     ├── hyper v1.6.0 (*)
     ├── hyper-util v0.1.17 (*)
     ├── libdd-common v1.1.0 (*)
     ├── libdd-profiling v1.0.0 (*)
     ├── multer v3.1.0 (*)
     ├── prost v0.14.3
     │   ├── libdd-profiling v1.0.0 (*)
     │   └── libdd-profiling-protobuf v1.0.0
     │       ├── libdd-profiling v1.0.0 (*)
     │       └── (dev) libdd-profiling-protobuf v1.0.0 (*)
     ├── reqwest v0.13.1 (*)
     ├── tokio v1.49.0
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── (dev) libdd-common v1.1.0 (*)
     │   ├── libdd-profiling v1.0.0 (*)
     │   ├── reqwest v0.13.1 (*)
     │   ├── tokio-rustls v0.26.0
     │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   └── reqwest v0.13.1 (*)
     │   ├── tokio-util v0.7.12
     │   │   └── libdd-profiling v1.0.0 (*)
     │   └── tower v0.5.2
     │       ├── reqwest v0.13.1 (*)
     │       └── tower-http v0.6.8 (*)
     ├── tokio-util v0.7.12 (*)
     └── tower-http v0.6.8 (*)

advisories FAILED, bans ok, sources ok

Updated: 2026-02-13 22:28:03 UTC | Commit: 8ec08c6 | dependency-check job results

@pr-commenter
Copy link

pr-commenter bot commented Feb 13, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-13 22:39:38

Comparing candidate commit 8c3b6d0 in PR branch levi/api2-eq-hash with baseline commit 4ec810b in branch pr1/add-samples-benchmark.

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

scenario:tags/replace_trace_tags

  • 🟥 execution_time [+168.239ns; +176.913ns] or [+6.912%; +7.268%]

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 8c3b6d0 1771021366 levi/api2-eq-hash
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 34.080µs 34.706µs ± 1.086µs 34.216µs ± 0.046µs 34.300µs 37.057µs 37.100µs 37.775µs 10.40% 1.709 0.969 3.12% 0.077µ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 [34.555µs; 34.856µs] or [-0.434%; +0.434%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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 204.787µs 205.486µs ± 0.545µs 205.442µs ± 0.285µs 205.711µs 206.123µs 208.539µs 209.406µs 1.93% 3.633 20.930 0.26% 0.039µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4775416.158op/s 4866536.886op/s ± 12778.755op/s 4867546.949op/s ± 6745.675op/s 4874653.861op/s 4879786.824op/s 4882761.949op/s 4883131.737op/s 0.32% -3.556 20.272 0.26% 903.594op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.218µs 18.294µs ± 0.074µs 18.269µs ± 0.015µs 18.285µs 18.477µs 18.529µs 18.648µs 2.07% 2.344 5.129 0.40% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53623878.387op/s 54663287.117op/s ± 218919.425op/s 54736100.600op/s ± 44901.712op/s 54774274.639op/s 54827169.981op/s 54864745.659op/s 54892129.805op/s 0.29% -2.324 5.008 0.40% 15479.941op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.911µs 11.012µs ± 0.060µs 11.004µs ± 0.043µs 11.049µs 11.115µs 11.174µs 11.206µs 1.83% 0.632 0.081 0.55% 0.004µs 1 200
normalization/normalize_name/normalize_name/good throughput 89241258.075op/s 90810577.706op/s ± 497215.292op/s 90876078.268op/s ± 358110.380op/s 91205081.685op/s 91524132.082op/s 91596620.030op/s 91648494.564op/s 0.85% -0.605 0.025 0.55% 35158.430op/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 [205.411µs; 205.562µs] or [-0.037%; +0.037%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4864765.874op/s; 4868307.899op/s] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.284µs; 18.304µs] or [-0.056%; +0.056%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [54632946.990op/s; 54693627.244op/s] or [-0.056%; +0.056%] None None None
normalization/normalize_name/normalize_name/good execution_time [11.004µs; 11.021µs] or [-0.076%; +0.076%] None None None
normalization/normalize_name/normalize_name/good throughput [90741668.449op/s; 90879486.964op/s] or [-0.076%; +0.076%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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/2597 execution_time 9.880ms 10.102ms ± 0.069ms 10.098ms ± 0.041ms 10.144ms 10.200ms 10.250ms 10.332ms 2.32% -0.195 1.201 0.68% 0.005ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [10.092ms; 10.111ms] or [-0.094%; +0.094%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.329ms 48.664ms ± 1.306ms 48.444ms ± 0.073ms 48.623ms 48.826ms 58.154ms 60.018ms 23.89% 7.816 60.568 2.68% 0.092ms 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.483ms; 48.845ms] or [-0.372%; +0.372%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.232µs 3.222µs ± 1.459µs 3.016µs ± 0.023µs 3.041µs 3.631µs 14.104µs 15.127µs 401.63% 7.436 56.099 45.16% 0.103µ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.020µs; 3.424µs] or [-6.275%; +6.275%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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 249.850ns 262.034ns ± 13.972ns 254.923ns ± 3.631ns 268.755ns 287.353ns 304.375ns 305.406ns 19.80% 1.409 1.121 5.32% 0.988ns 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 [260.098ns; 263.971ns] or [-0.739%; +0.739%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.893µs 3.911µs ± 0.002µs 3.910µs ± 0.001µs 3.912µs 3.915µs 3.917µs 3.917µs 0.18% -1.315 12.841 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 255275120.090op/s 255707901.071op/s ± 158052.855op/s 255729971.554op/s ± 73680.094op/s 255786801.252op/s 255910094.517op/s 255951498.497op/s 256852342.349op/s 0.44% 1.340 13.023 0.06% 11176.025op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.352µs 78.429µs ± 0.591µs 78.391µs ± 0.413µs 78.773µs 79.398µs 79.917µs 79.994µs 2.04% 0.370 -0.379 0.75% 0.042µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12501015.092op/s 12751068.988op/s ± 95827.815op/s 12756640.120op/s ± 67400.636op/s 12825311.327op/s 12901355.864op/s 12918494.828op/s 12927841.573op/s 1.34% -0.337 -0.416 0.75% 6776.050op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 71.098µs 71.725µs ± 0.422µs 71.564µs ± 0.220µs 71.942µs 72.593µs 72.857µs 73.194µs 2.28% 1.141 0.766 0.59% 0.030µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13662314.049op/s 13942555.549op/s ± 81415.571op/s 13973408.604op/s ± 43081.797op/s 13998376.933op/s 14031210.906op/s 14054286.139op/s 14065132.817op/s 0.66% -1.115 0.691 0.58% 5756.950op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.912µs 3.915µs 3.918µs 3.939µs 0.72% 2.122 28.319 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 253885021.449op/s 255687896.844op/s ± 217191.821op/s 255705593.495op/s ± 90384.266op/s 255789109.779op/s 255901370.241op/s 255991458.828op/s 256967015.702op/s 0.49% -2.056 27.976 0.08% 15357.781op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.644µs 68.139µs ± 0.386µs 68.031µs ± 0.163µs 68.251µs 68.787µs 69.732µs 70.116µs 3.07% 2.354 7.443 0.57% 0.027µs 1 200
credit_card/is_card_number/378282246310005 throughput 14261985.889op/s 14676287.692op/s ± 82121.058op/s 14699118.802op/s ± 35290.464op/s 14729097.701op/s 14751900.685op/s 14779563.210op/s 14783361.899op/s 0.57% -2.289 7.046 0.56% 5806.836op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.647µs 44.919µs ± 0.102µs 44.915µs ± 0.072µs 44.992µs 45.075µs 45.110µs 45.131µs 0.48% -0.255 -0.340 0.23% 0.007µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22157623.971op/s 22262406.475op/s ± 50679.224op/s 22264229.176op/s ± 35699.703op/s 22296669.435op/s 22348255.392op/s 22389809.518op/s 22397851.735op/s 0.60% 0.266 -0.329 0.23% 3583.562op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.691µs 5.700µs ± 0.014µs 5.698µs ± 0.003µs 5.701µs 5.708µs 5.768µs 5.825µs 2.23% 6.766 50.270 0.25% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 171680147.371op/s 175431188.095op/s ± 436889.045op/s 175504016.858op/s ± 77161.785op/s 175575673.991op/s 175655944.663op/s 175692833.296op/s 175730866.776op/s 0.13% -6.717 49.636 0.25% 30892.721op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.890µs 3.911µs ± 0.003µs 3.911µs ± 0.001µs 3.912µs 3.915µs 3.920µs 3.923µs 0.33% -0.578 13.293 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254879187.066op/s 255710758.337op/s ± 192189.893op/s 255719946.156op/s ± 90683.854op/s 255808072.516op/s 255938252.939op/s 255974041.970op/s 257047055.092op/s 0.52% 0.611 13.459 0.07% 13589.878op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 59.598µs 62.330µs ± 1.152µs 62.240µs ± 0.977µs 63.402µs 64.031µs 64.336µs 64.509µs 3.65% -0.088 -1.021 1.84% 0.081µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15501619.822op/s 16049236.610op/s ± 297365.391op/s 16066759.068op/s ± 256150.133op/s 16291782.449op/s 16508819.847op/s 16709825.370op/s 16779165.729op/s 4.43% 0.142 -0.981 1.85% 21026.908op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.501µs 53.900µs ± 0.110µs 53.909µs ± 0.075µs 53.973µs 54.046µs 54.098µs 54.419µs 0.95% -0.080 2.425 0.20% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18375900.382op/s 18553058.384op/s ± 37776.719op/s 18549871.754op/s ± 25818.663op/s 18578758.905op/s 18613873.293op/s 18640810.650op/s 18691085.397op/s 0.76% 0.107 2.373 0.20% 2671.217op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.892µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.917µs 3.919µs 3.921µs 0.22% -1.356 11.236 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255035708.490op/s 255601750.047op/s ± 194394.247op/s 255602078.844op/s ± 107663.698op/s 255709614.682op/s 255861545.863op/s 255925663.959op/s 256970152.068op/s 0.54% 1.382 11.427 0.08% 13745.749op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 50.122µs 50.262µs ± 0.052µs 50.262µs ± 0.034µs 50.292µs 50.358µs 50.397µs 50.430µs 0.33% 0.370 0.139 0.10% 0.004µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19829454.791op/s 19895755.209op/s ± 20685.861op/s 19895602.798op/s ± 13272.389op/s 19910401.210op/s 19924564.008op/s 19935870.114op/s 19951481.986op/s 0.28% -0.363 0.132 0.10% 1462.711op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.692µs 44.922µs ± 0.087µs 44.922µs ± 0.055µs 44.981µs 45.072µs 45.113µs 45.120µs 0.44% -0.159 -0.022 0.19% 0.006µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22162977.392op/s 22260919.040op/s ± 43319.790op/s 22260734.291op/s ± 27144.447op/s 22286654.754op/s 22338460.039op/s 22362134.009op/s 22375445.527op/s 0.52% 0.170 -0.016 0.19% 3063.172op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.692µs 5.698µs ± 0.007µs 5.697µs ± 0.002µs 5.700µs 5.704µs 5.706µs 5.790µs 1.62% 10.207 126.494 0.13% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 172722308.168op/s 175497734.619op/s ± 220044.250op/s 175522638.400op/s ± 66624.318op/s 175579329.930op/s 175651407.026op/s 175685700.715op/s 175694558.812op/s 0.10% -10.114 124.929 0.13% 15559.478op/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.910µs; 3.911µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ throughput [255685996.465op/s; 255729805.676op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.347µs; 78.511µs] or [-0.104%; +0.104%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12737788.174op/s; 12764349.801op/s] or [-0.104%; +0.104%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.667µs; 71.784µs] or [-0.081%; +0.081%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13931272.134op/s; 13953838.965op/s] or [-0.081%; +0.081%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.911µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/37828224631 throughput [255657796.146op/s; 255717997.542op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.086µs; 68.193µs] or [-0.079%; +0.079%] None None None
credit_card/is_card_number/378282246310005 throughput [14664906.503op/s; 14687668.880op/s] or [-0.078%; +0.078%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [44.905µs; 44.933µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22255382.822op/s; 22269430.128op/s] or [-0.032%; +0.032%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.698µs; 5.702µs] or [-0.035%; +0.035%] None None None
credit_card/is_card_number/x371413321323331 throughput [175370639.475op/s; 175491736.715op/s] or [-0.035%; +0.035%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.910µs; 3.911µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255684122.666op/s; 255737394.008op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [62.170µs; 62.489µs] or [-0.256%; +0.256%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [16008024.627op/s; 16090448.594op/s] or [-0.257%; +0.257%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.884µs; 53.915µs] or [-0.028%; +0.028%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18547822.894op/s; 18558293.874op/s] or [-0.028%; +0.028%] 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 [255574808.874op/s; 255628691.220op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [50.255µs; 50.269µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [19892888.347op/s; 19898622.070op/s] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.910µs; 44.934µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22254915.334op/s; 22266922.746op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.697µs; 5.699µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [175467238.603op/s; 175528230.636op/s] or [-0.017%; +0.017%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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 724.758µs 725.984µs ± 0.562µs 725.956µs ± 0.353µs 726.315µs 726.992µs 727.530µs 727.814µs 0.26% 0.529 0.467 0.08% 0.040µ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 [725.906µs; 726.062µs] or [-0.011%; +0.011%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.013µs 85.339µs ± 0.146µs 85.332µs ± 0.038µs 85.364µs 85.492µs 85.653µs 86.950µs 1.90% 6.787 72.428 0.17% 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 [85.319µs; 85.359µs] or [-0.024%; +0.024%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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 143.889µs 146.106µs ± 1.846µs 145.891µs ± 0.470µs 146.379µs 147.652µs 152.250µs 165.491µs 13.43% 6.958 64.295 1.26% 0.131µ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 [145.851µs; 146.362µs] or [-0.175%; +0.175%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.574µs 2.607µs ± 0.026µs 2.600µs ± 0.008µs 2.610µs 2.667µs 2.675µs 2.828µs 8.77% 4.071 26.370 0.99% 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.603µs; 2.610µs] or [-0.138%; +0.138%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.352µs 534.492µs ± 0.662µs 534.351µs ± 0.395µs 534.904µs 535.696µs 536.367µs 536.699µs 0.44% 0.882 0.329 0.12% 0.047µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1863243.082op/s 1870937.733op/s ± 2315.801op/s 1871430.721op/s ± 1383.208op/s 1872674.409op/s 1873877.778op/s 1874209.457op/s 1874934.158op/s 0.19% -0.876 0.314 0.12% 163.752op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 379.465µs 380.256µs ± 0.325µs 380.221µs ± 0.166µs 380.405µs 380.723µs 380.983µs 382.981µs 0.73% 3.035 23.374 0.09% 0.023µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2611095.293op/s 2629811.716op/s ± 2242.929op/s 2630051.772op/s ± 1150.558op/s 2631042.504op/s 2632688.939op/s 2633776.056op/s 2635291.573op/s 0.20% -2.994 22.945 0.09% 158.599op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 193.742µs 194.584µs ± 0.370µs 194.713µs ± 0.280µs 194.877µs 195.052µs 195.149µs 195.218µs 0.26% -0.366 -1.177 0.19% 0.026µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5122484.675op/s 5139179.768op/s ± 9780.238op/s 5135764.266op/s ± 7385.077op/s 5148177.940op/s 5154509.375op/s 5159159.133op/s 5161507.649op/s 0.50% 0.370 -1.174 0.19% 691.567op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.397µs 36.510µs ± 0.042µs 36.509µs ± 0.027µs 36.536µs 36.584µs 36.613µs 36.689µs 0.49% 0.357 1.118 0.12% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27256014.166op/s 27390021.609op/s ± 31653.798op/s 27390640.888op/s ± 20228.481op/s 27410472.823op/s 27438397.680op/s 27458819.088op/s 27474691.521op/s 0.31% -0.347 1.095 0.12% 2238.261op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 44.996µs 45.076µs ± 0.057µs 45.066µs ± 0.028µs 45.096µs 45.199µs 45.253µs 45.322µs 0.57% 1.450 2.532 0.13% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 22064140.456op/s 22184716.061op/s ± 28041.878op/s 22189515.105op/s ± 13739.021op/s 22201381.810op/s 22219094.716op/s 22223938.292op/s 22224416.603op/s 0.16% -1.441 2.497 0.13% 1982.860op/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.400µs; 534.584µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1870616.785op/s; 1871258.681op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.211µs; 380.301µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2629500.867op/s; 2630122.564op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [194.533µs; 194.636µs] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5137824.321op/s; 5140535.215op/s] or [-0.026%; +0.026%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.504µs; 36.516µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27385634.697op/s; 27394408.520op/s] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.068µs; 45.084µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [22180829.726op/s; 22188602.396op/s] 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 8c3b6d0 1771021366 levi/api2-eq-hash
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.135ms 4.141ms ± 0.009ms 4.139ms ± 0.002ms 4.141ms 4.146ms 4.170ms 4.231ms 2.22% 7.016 63.742 0.21% 0.001ms 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.139ms; 4.142ms] or [-0.029%; +0.029%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.788ms 14.874ms ± 0.037ms 14.873ms ± 0.018ms 14.890ms 14.935ms 15.001ms 15.064ms 1.29% 1.234 4.523 0.25% 0.003ms 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.869ms; 14.880ms] or [-0.034%; +0.034%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.966µs 162.224µs ± 0.334µs 162.196µs ± 0.123µs 162.323µs 162.701µs 163.289µs 164.683µs 1.53% 1.948 16.154 0.21% 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 [162.177µs; 162.270µs] or [-0.029%; +0.029%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.013ns 190.202ns ± 2.059ns 190.025ns ± 1.583ns 191.390ns 193.872ns 196.616ns 198.059ns 4.23% 1.093 1.033 1.08% 0.146ns 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 [189.917ns; 190.488ns] or [-0.150%; +0.150%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.628ms 10.657ms ± 0.015ms 10.656ms ± 0.010ms 10.666ms 10.679ms 10.695ms 10.734ms 0.73% 1.188 4.024 0.14% 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.655ms; 10.659ms] or [-0.020%; +0.020%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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.726µs 24.474µs ± 8.496µs 18.274µs ± 0.299µs 32.454µs 41.032µs 48.819µs 63.259µs 246.17% 1.178 1.249 34.63% 0.601µ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.296µs; 25.651µs] or [-4.811%; +4.811%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 8c3b6d0 1771021366 levi/api2-eq-hash
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 4.936µs 5.004µs ± 0.046µs 4.981µs ± 0.025µs 5.041µs 5.077µs 5.084µs 5.112µs 2.63% 0.500 -1.218 0.91% 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 [4.998µs; 5.010µs] or [-0.127%; +0.127%] None None None

Baseline

Omitted due to size.

@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.97%. Comparing base (4ec810b) to head (8c3b6d0).

Additional details and impacted files
@@                      Coverage Diff                      @@
##           pr1/add-samples-benchmark    #1570      +/-   ##
=============================================================
+ Coverage                      70.92%   70.97%   +0.04%     
=============================================================
  Files                            424      424              
  Lines                          61788    61878      +90     
=============================================================
+ Hits                           43821    43915      +94     
+ Misses                         17967    17963       -4     
Components Coverage Δ
libdd-crashtracker 62.34% <ø> (+0.03%) ⬆️
libdd-crashtracker-ffi 15.80% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 85.48% <ø> (ø)
libdd-data-pipeline-ffi 72.02% <ø> (ø)
libdd-common 79.85% <ø> (ø)
libdd-common-ffi 73.75% <ø> (ø)
libdd-telemetry 62.52% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.71% <ø> (ø)
libdd-profiling 81.38% <100.00%> (+0.17%) ⬆️
libdd-profiling-ffi 63.66% <ø> (ø)
datadog-sidecar 34.07% <ø> (ø)
datdog-sidecar-ffi 14.17% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.18% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 88.72% <ø> (ø)
datadog-tracer-flare 90.45% <ø> (ø)
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

dd-octo-sts bot commented Feb 13, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.60 MB 91.61 MB +.01% (+12.46 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.38 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.31 MB 106.29 MB --.01% (-16.25 KB) 💪
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB +0% (+832 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.02 MB 25.01 MB --.03% (-9.50 KB) 💪
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 166.55 MB 166.55 MB -0% (-8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 838.09 MB 839.19 MB +.13% (+1.09 MB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.56 MB 9.56 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.94 KB 75.94 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.02 MB 23.02 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.42 MB 48.42 MB -0% (-230 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.08 MB 21.08 MB +.03% (+8.00 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 170.30 MB 170.33 MB +.01% (+24.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 823.46 MB 824.41 MB +.11% (+970.39 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.24 MB 7.24 MB +.01% (+1.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.12 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.61 MB 24.62 MB +.06% (+16.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.15 MB 44.17 MB +.03% (+15.24 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.14 MB 80.15 MB +0% (+2.92 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.87 MB 9.87 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.24 MB 100.16 MB --.07% (-77.28 KB) 💪
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.44 MB 11.44 MB --.04% (-5.57 KB) 💪

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

profiling Relates to the profiling* modules.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants