Skip to content

Conversation

@realFlowControl
Copy link
Member

@realFlowControl realFlowControl commented Feb 9, 2026

What does this PR do?

A brief description of the change being made with this pull request.

Motivation

What inspired you to submit this pull request?

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

Used in DataDog/dd-trace-php#3623

@github-actions
Copy link

github-actions bot commented Feb 9, 2026

📚 Documentation Check Results

⚠️ 583 documentation warning(s) found

📦 libdd-profiling - 583 warning(s)


Updated: 2026-02-10 09:36:20 UTC | Commit: 18e9ef9 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Feb 9, 2026

🔒 Cargo Deny Results

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

📦 libdd-profiling - 6 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:35:1
   │
35 │ 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
     │               │   └── (dev) 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 (*)
     │   ├── 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-profiling v1.0.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 (*)

error[vulnerability]: Lenient `hyper` header parsing of `Content-Length` could allow request smuggling
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:99:1
   │
99 │ hyper 0.10.16 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2021-0078
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2021-0078
   ├ `hyper`'s HTTP header parser accepted, according to RFC 7230, illegal contents inside `Content-Length` headers.
     Due to this, upstream HTTP proxies that ignore the header may still forward them along if it chooses to ignore the error.
     
     To be vulnerable, `hyper` must be used as an HTTP/1 server and using an HTTP proxy upstream that ignores the header's contents
     but still forwards it. Due to all the factors that must line up, an attack exploiting this vulnerability is unlikely.
   ├ Announcement: https://github.com/hyperium/hyper/security/advisories/GHSA-f3pg-qwvg-p99c
   ├ Solution: Upgrade to >=0.14.10 (try `cargo update -p hyper`)
   ├ hyper v0.10.16
     ├── iron v0.6.1
     │   └── multipart v0.18.0
     │       ├── libdd-common v1.1.0
     │       │   └── (dev) libdd-profiling v1.0.0
     │       │       └── (dev) libdd-profiling v1.0.0 (*)
     │       └── libdd-profiling v1.0.0 (*)
     ├── multipart v0.18.0 (*)
     └── nickel v0.11.0
         └── multipart v0.18.0 (*)

error[vulnerability]: Integer overflow in `hyper`'s parsing of the `Transfer-Encoding` header leads to data loss
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:99:1
   │
99 │ hyper 0.10.16 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2021-0079
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2021-0079
   ├ When decoding chunk sizes that are too large, `hyper`'s code would encounter an integer overflow. Depending on the situation,
     this could lead to data loss from an incorrect total size, or in rarer cases, a request smuggling attack.
     
     To be vulnerable, you must be using `hyper` for any HTTP/1 purpose, including as a client or server, and consumers must send
     requests or responses that specify a chunk size greater than 18 exabytes. For a possible request smuggling attack to be possible,
     any upstream proxies must accept a chunk size greater than 64 bits.
   ├ Announcement: https://github.com/hyperium/hyper/security/advisories/GHSA-5h46-h7hh-c6x9
   ├ Solution: Upgrade to >=0.14.10 (try `cargo update -p hyper`)
   ├ hyper v0.10.16
     ├── iron v0.6.1
     │   └── multipart v0.18.0
     │       ├── libdd-common v1.1.0
     │       │   └── (dev) libdd-profiling v1.0.0
     │       │       └── (dev) libdd-profiling v1.0.0 (*)
     │       └── libdd-profiling v1.0.0 (*)
     ├── multipart v0.18.0 (*)
     └── nickel v0.11.0
         └── multipart v0.18.0 (*)

error[vulnerability]: `idna` accepts Punycode labels that do not produce any non-ASCII when decoded
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:115:1
    │
115 │ idna 0.1.5 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2024-0421
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2024-0421
    ├ `idna` 0.5.0 and earlier accepts Punycode labels that do not produce any non-ASCII output, which means that either ASCII labels or the empty root label can be masked such that they appear unequal without IDNA processing or when processed with a different implementation and equal when processed with `idna` 0.5.0 or earlier.
      
      Concretely, `example.org` and `xn--example-.org` become equal after processing by `idna` 0.5.0 or earlier. Also, `example.org.xn--` and `example.org.` become equal after processing by `idna` 0.5.0 or earlier.
      
      In applications using `idna` (but not in `idna` itself) this may be able to lead to privilege escalation when host name comparison is part of a privilege check and the behavior is combined with a client that resolves domains with such labels instead of treating them as errors that preclude DNS resolution / URL fetching and with the attacker managing to introduce a DNS entry (and TLS certificate) for an `xn--`-masked name that turns into the name of the target when processed by `idna` 0.5.0 or earlier.
      
      ## Remedy
      
      Upgrade to `idna` 1.0.3 or later, if depending on `idna` directly, or to `url` 2.5.4 or later, if depending on `idna` via `url`. (This issue was fixed in `idna` 1.0.0, but versions earlier than 1.0.3 are not recommended for other reasons.)
      
      When upgrading, please take a moment to read about [alternative Unicode back ends for `idna`](https://docs.rs/crate/idna_adapter/latest).
      
      If you are using Rust earlier than 1.81 in combination with SQLx 0.8.2 or earlier, please also read an [issue](https://github.com/servo/rust-url/issues/992) about combining them with `url` 2.5.4 and `idna` 1.0.3.
      
      ## Additional information
      
      This issue resulted from `idna` 0.5.0 and earlier implementing the UTS 46 specification literally on this point and the specification having this bug. The specification bug has been fixed in [revision 33 of UTS 46](https://www.unicode.org/reports/tr46/tr46-33.html#Modifications).
      
      ## Acknowledgements
      
      Thanks to kageshiron for recognizing the security implications of this behavior.
    ├ Announcement: https://bugzilla.mozilla.org/show_bug.cgi?id=1887898
    ├ Solution: Upgrade to >=1.0.0 (try `cargo update -p idna`)
    ├ idna v0.1.5
      └── url v1.7.2
          ├── hyper v0.10.16
          │   ├── iron v0.6.1
          │   │   └── multipart v0.18.0
          │   │       ├── libdd-common v1.1.0
          │   │       │   └── (dev) libdd-profiling v1.0.0
          │   │       │       └── (dev) libdd-profiling v1.0.0 (*)
          │   │       └── libdd-profiling v1.0.0 (*)
          │   ├── multipart v0.18.0 (*)
          │   └── nickel v0.11.0
          │       └── multipart v0.18.0 (*)
          ├── iron v0.6.1 (*)
          ├── nickel v0.11.0 (*)
          └── tiny_http v0.6.4
              └── multipart v0.18.0 (*)

error[unmaintained]: multipart is Unmaintained
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:156:1
    │
156 │ multipart 0.18.0 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ unmaintained advisory detected
    │
    ├ ID: RUSTSEC-2023-0050
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2023-0050
    ├ The `multipart` crate is unmaintained. The author has archived the github
      repository.
      
      Alternatives:
      
      - [multer](https://crates.io/crates/multer)
      - [multiparty](https://crates.io/crates/multiparty)
    ├ Solution: No safe upgrade is available!
    ├ multipart v0.18.0
      ├── libdd-common v1.1.0
      │   └── (dev) libdd-profiling v1.0.0
      │       └── (dev) libdd-profiling v1.0.0 (*)
      └── libdd-profiling v1.0.0 (*)

error[vulnerability]: Potential segfault in the time crate
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:263:1
    │
263 │ time 0.1.45 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2020-0071
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2020-0071
    ├ ### Impact
      
      The affected functions set environment variables without synchronization. On Unix-like operating systems, this can crash in multithreaded programs. Programs may segfault due to dereferencing a dangling pointer if an environment variable is read in a different thread than the affected functions. This may occur without the user's knowledge, notably in the Rust standard library or third-party libraries.
      
      The affected functions from time 0.2.7 through 0.2.22 are:
      
      - `time::UtcOffset::local_offset_at`
      - `time::UtcOffset::try_local_offset_at`
      - `time::UtcOffset::current_local_offset`
      - `time::UtcOffset::try_current_local_offset`
      - `time::OffsetDateTime::now_local`
      - `time::OffsetDateTime::try_now_local`
      
      The affected functions in time 0.1 (all versions) are:
      
      - `time::at_utc`
      - `time::at`
      - `time::now`
      - `time::tzset`
      
      Non-Unix targets (including Windows and wasm) are unaffected.
      
      ### Patches
      
      Pending a proper fix, the internal method that determines the local offset has been modified to always return `None` on the affected operating systems. This has the effect of returning an `Err` on the `try_*` methods and `UTC` on the non-`try_*` methods.
      
      Users and library authors with time in their dependency tree should perform `cargo update`, which will pull in the updated, unaffected code.
      
      Users of time 0.1 do not have a patch and should upgrade to an unaffected version: time 0.2.23 or greater or the 0.3 series.
      
      ### Workarounds
      
      A possible workaround for crates affected through the transitive dependency in `chrono`, is to avoid using the default `oldtime` feature dependency of the `chrono` crate by disabling its `default-features` and manually specifying the required features instead.
      
      #### Examples:
      
      `Cargo.toml`:  
      
      ```toml
      chrono = { version = "0.4", default-features = false, features = ["serde"] }
      ```
      
      ```toml
      chrono = { version = "0.4.22", default-features = false, features = ["clock"] }
      ```
      
      Commandline:  
      
      ```bash
      cargo add chrono --no-default-features -F clock
      ```
      
      Sources:  
       - [chronotope/chrono#602 (comment)](https://github.com/chronotope/chrono/issues/602#issuecomment-1242149249)  
       - [vityafx/serde-aux#21](https://github.com/vityafx/serde-aux/issues/21)
    ├ Announcement: https://github.com/time-rs/time/issues/293
    ├ Solution: Upgrade to >=0.2.23 (try `cargo update -p time`)
    ├ time v0.1.45
      ├── hyper v0.10.16
      │   ├── iron v0.6.1
      │   │   └── multipart v0.18.0
      │   │       ├── libdd-common v1.1.0
      │   │       │   └── (dev) libdd-profiling v1.0.0
      │   │       │       └── (dev) libdd-profiling v1.0.0 (*)
      │   │       └── libdd-profiling v1.0.0 (*)
      │   ├── multipart v0.18.0 (*)
      │   └── nickel v0.11.0
      │       └── multipart v0.18.0 (*)
      └── nickel v0.11.0 (*)

advisories FAILED, bans ok, sources ok

Updated: 2026-02-10 09:36:14 UTC | Commit: 18e9ef9 | dependency-check job results

@codecov-commenter
Copy link

codecov-commenter commented Feb 9, 2026

Codecov Report

❌ Patch coverage is 82.63069% with 103 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.02%. Comparing base (5b504e5) to head (e641308).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1537      +/-   ##
==========================================
+ Coverage   70.92%   71.02%   +0.09%     
==========================================
  Files         423      424       +1     
  Lines       61680    62229     +549     
==========================================
+ Hits        43749    44198     +449     
- Misses      17931    18031     +100     
Components Coverage Δ
libdd-crashtracker 62.34% <ø> (+0.01%) ⬆️
libdd-crashtracker-ffi 15.80% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 85.68% <ø> (ø)
libdd-data-pipeline-ffi 74.66% <ø> (ø)
libdd-common 79.82% <ø> (ø)
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.54% <82.77%> (+<0.01%) ⬆️
libdd-profiling-ffi 62.43% <20.45%> (-1.14%) ⬇️
datadog-sidecar 33.61% <ø> (ø)
datdog-sidecar-ffi 12.16% <ø> (ø)
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.58% <ø> (ø)
datadog-tracer-flare 90.10% <ø> (ø)
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.

@realFlowControl realFlowControl force-pushed the florian/heap-live-tracking branch from afb9bd0 to 061d9fc Compare February 9, 2026 15:18
@pr-commenter
Copy link

pr-commenter bot commented Feb 9, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-10 09:52:41

Comparing candidate commit e641308 in PR branch florian/heap-live-tracking with baseline commit 5b504e5 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 57 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 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 3.963ms 3.968ms ± 0.008ms 3.968ms ± 0.002ms 3.970ms 3.972ms 3.976ms 4.081ms 2.85% 11.930 156.252 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 [3.967ms; 3.970ms] or [-0.029%; +0.029%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 146.454µs 148.575µs ± 1.597µs 148.364µs ± 0.569µs 148.973µs 150.162µs 154.102µs 163.900µs 10.47% 5.468 44.628 1.07% 0.113µ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 [148.354µs; 148.797µs] or [-0.149%; +0.149%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.438µs 2.466µs ± 0.028µs 2.460µs ± 0.008µs 2.472µs 2.518µs 2.526µs 2.750µs 11.77% 5.899 53.649 1.12% 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.463µs; 2.470µs] or [-0.155%; +0.155%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.301µs 33.881µs ± 1.005µs 33.401µs ± 0.057µs 33.667µs 36.000µs 36.075µs 37.906µs 13.49% 1.754 1.510 2.96% 0.071µ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.741µs; 34.020µs] or [-0.411%; +0.411%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 545.344µs 546.007µs ± 0.424µs 545.979µs ± 0.231µs 546.181µs 546.574µs 546.897µs 549.707µs 0.68% 3.510 27.608 0.08% 0.030µ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 [545.948µs; 546.066µs] or [-0.011%; +0.011%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.904µs 3.917µs ± 0.003µs 3.917µs ± 0.002µs 3.919µs 3.921µs 3.925µs 3.928µs 0.28% 0.257 2.834 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254611149.535op/s 255300200.799op/s ± 178322.202op/s 255325328.280op/s ± 119521.722op/s 255421318.741op/s 255528253.169op/s 255613266.585op/s 256136130.785op/s 0.32% -0.247 2.848 0.07% 12609.284op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.129µs 77.605µs ± 0.882µs 77.236µs ± 0.038µs 77.308µs 80.032µs 80.067µs 80.086µs 3.69% 2.182 3.087 1.13% 0.062µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12486596.119op/s 12887367.721op/s ± 142990.399op/s 12947389.577op/s ± 6327.551op/s 12952412.190op/s 12958283.528op/s 12963947.689op/s 12965218.209op/s 0.14% -2.171 3.041 1.11% 10110.948op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.699µs 70.895µs ± 0.471µs 70.780µs ± 0.021µs 70.802µs 71.553µs 73.286µs 73.428µs 3.74% 4.230 16.969 0.66% 0.033µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13618711.994op/s 14105921.947op/s ± 91198.439op/s 14128289.781op/s ± 4133.720op/s 14132238.108op/s 14136690.579op/s 14139901.842op/s 14144494.336op/s 0.11% -4.209 16.771 0.64% 6448.703op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.899µs 3.917µs ± 0.003µs 3.916µs ± 0.001µs 3.918µs 3.921µs 3.923µs 3.925µs 0.24% -0.871 10.643 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254751072.593op/s 255329559.577op/s ± 170990.293op/s 255350130.120op/s ± 87253.141op/s 255428569.689op/s 255530455.972op/s 255581582.335op/s 256499613.845op/s 0.45% 0.895 10.792 0.07% 12090.840op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.535µs 68.857µs ± 1.063µs 68.700µs ± 0.953µs 70.036µs 70.313µs 70.373µs 70.405µs 2.48% 0.211 -1.654 1.54% 0.075µs 1 200
credit_card/is_card_number/378282246310005 throughput 14203448.079op/s 14526261.382op/s ± 223542.378op/s 14556029.804op/s ± 204776.592op/s 14751344.168op/s 14775382.587op/s 14805113.420op/s 14807064.450op/s 1.72% -0.197 -1.661 1.54% 15806.833op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.586µs 44.725µs ± 0.124µs 44.682µs ± 0.065µs 44.801µs 44.969µs 45.109µs 45.214µs 1.19% 1.202 1.070 0.28% 0.009µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22116934.206op/s 22358946.990op/s ± 61863.342op/s 22380180.148op/s ± 32675.866op/s 22407664.542op/s 22421952.325op/s 22425892.465op/s 22428627.901op/s 0.22% -1.188 1.016 0.28% 4374.399op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.035µs 6.042µs ± 0.003µs 6.042µs ± 0.002µs 6.044µs 6.048µs 6.050µs 6.052µs 0.16% 0.485 -0.066 0.05% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165240192.845op/s 165501312.729op/s ± 89926.200op/s 165508581.627op/s ± 64800.496op/s 165572959.725op/s 165625627.867op/s 165670056.850op/s 165691108.124op/s 0.11% -0.483 -0.069 0.05% 6358.743op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.882µs 3.916µs ± 0.003µs 3.916µs ± 0.001µs 3.917µs 3.920µs 3.922µs 3.924µs 0.20% -5.845 62.807 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254861553.995op/s 255368618.429op/s ± 210619.739op/s 255379250.439op/s ± 85688.750op/s 255458372.238op/s 255546979.123op/s 255618750.608op/s 257621989.661op/s 0.88% 5.921 63.812 0.08% 14893.065op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 65.301µs 65.828µs ± 0.087µs 65.844µs ± 0.043µs 65.883µs 65.926µs 65.964µs 65.973µs 0.20% -2.276 8.821 0.13% 0.006µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15157815.799op/s 15191091.628op/s ± 20249.966op/s 15187468.061op/s ± 10002.320op/s 15197753.392op/s 15220184.412op/s 15270473.261op/s 15313708.883op/s 0.83% 2.298 8.971 0.13% 1431.889op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 53.030µs 53.094µs ± 0.039µs 53.087µs ± 0.029µs 53.121µs 53.158µs 53.179µs 53.296µs 0.39% 0.959 2.384 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18763279.488op/s 18834614.838op/s ± 13784.521op/s 18836874.811op/s ± 10127.419op/s 18845866.196op/s 18852833.322op/s 18856542.872op/s 18857158.422op/s 0.11% -0.951 2.342 0.07% 974.713op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.899µs 3.918µs ± 0.003µs 3.918µs ± 0.002µs 3.919µs 3.922µs 3.924µs 3.926µs 0.21% -1.322 9.006 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254705446.360op/s 255260976.858op/s ± 183321.173op/s 255246272.443op/s ± 108027.480op/s 255370782.402op/s 255518679.693op/s 255645527.523op/s 256490154.593op/s 0.49% 1.342 9.147 0.07% 12962.764op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.801µs 49.871µs ± 0.078µs 49.856µs ± 0.017µs 49.878µs 49.921µs 50.257µs 50.579µs 1.45% 6.099 44.178 0.16% 0.006µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 19771060.951op/s 20051673.627op/s ± 30985.832op/s 20057587.229op/s ± 6709.165op/s 20063070.909op/s 20070650.088op/s 20073141.396op/s 20080000.320op/s 0.11% -6.058 43.617 0.15% 2191.029op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.578µs 44.684µs ± 0.109µs 44.631µs ± 0.027µs 44.712µs 44.936µs 45.039µs 45.057µs 0.95% 1.620 1.771 0.24% 0.008µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22194067.902op/s 22379281.981op/s ± 54520.457op/s 22405906.199op/s ± 13598.771op/s 22413616.272op/s 22423523.625op/s 22428535.534op/s 22432340.706op/s 0.12% -1.612 1.737 0.24% 3855.179op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.036µs 6.043µs ± 0.004µs 6.043µs ± 0.002µs 6.045µs 6.050µs 6.053µs 6.057µs 0.24% 0.757 1.106 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165090064.860op/s 165487152.950op/s ± 99209.658op/s 165492089.478op/s ± 60597.665op/s 165552658.162op/s 165637973.948op/s 165664277.834op/s 165672979.158op/s 0.11% -0.753 1.093 0.06% 7015.182op/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.917µs; 3.917µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255275487.057op/s; 255324914.541op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.483µs; 77.727µs] or [-0.158%; +0.158%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12867550.626op/s; 12907184.815op/s] or [-0.154%; +0.154%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [70.830µs; 70.961µs] or [-0.092%; +0.092%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14093282.720op/s; 14118561.173op/s] or [-0.090%; +0.090%] None None None
credit_card/is_card_number/37828224631 execution_time [3.916µs; 3.917µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255305861.967op/s; 255353257.187op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.710µs; 69.004µs] or [-0.214%; +0.214%] None None None
credit_card/is_card_number/378282246310005 throughput [14495280.558op/s; 14557242.205op/s] or [-0.213%; +0.213%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [44.708µs; 44.742µs] or [-0.038%; +0.038%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22350373.326op/s; 22367520.654op/s] or [-0.038%; +0.038%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.042µs; 6.043µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/x371413321323331 throughput [165488849.823op/s; 165513775.636op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.915µs; 3.916µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ throughput [255339428.559op/s; 255397808.299op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.816µs; 65.840µs] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15188285.178op/s; 15193898.079op/s] or [-0.018%; +0.018%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.088µs; 53.099µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18832704.435op/s; 18836525.240op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.917µs; 3.918µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255235570.307op/s; 255286383.410op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.860µs; 49.882µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20047379.288op/s; 20055967.965op/s] or [-0.021%; +0.021%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [44.669µs; 44.700µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22371725.970op/s; 22386837.992op/s] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.042µs; 6.043µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165473403.445op/s; 165500902.454op/s] or [-0.008%; +0.008%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 84.201µs 84.622µs ± 0.259µs 84.590µs ± 0.120µs 84.710µs 84.942µs 85.251µs 86.992µs 2.84% 4.438 35.273 0.31% 0.018µ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 [84.586µs; 84.658µs] or [-0.042%; +0.042%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 175.295µs 176.310µs ± 0.300µs 176.298µs ± 0.156µs 176.443µs 176.794µs 177.147µs 177.626µs 0.75% 0.739 3.117 0.17% 0.021µ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 [176.268µs; 176.351µs] or [-0.024%; +0.024%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.394ns 190.995ns ± 2.444ns 189.969ns ± 1.018ns 192.367ns 196.001ns 198.260ns 203.366ns 7.05% 1.655 3.470 1.28% 0.173ns 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.656ns; 191.333ns] or [-0.177%; +0.177%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 13.320ms 13.598ms ± 0.077ms 13.607ms ± 0.042ms 13.643ms 13.699ms 13.800ms 13.900ms 2.15% -0.416 2.407 0.56% 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 [13.588ms; 13.609ms] or [-0.078%; +0.078%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 241.780ns 253.148ns ± 13.755ns 246.806ns ± 3.354ns 253.969ns 283.029ns 295.164ns 296.793ns 20.25% 1.639 1.547 5.42% 0.973ns 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 [251.242ns; 255.054ns] or [-0.753%; +0.753%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.634ms 10.673ms ± 0.016ms 10.672ms ± 0.010ms 10.682ms 10.698ms 10.724ms 10.735ms 0.58% 0.559 1.228 0.15% 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.671ms; 10.675ms] or [-0.021%; +0.021%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 24.520µs 27.952µs ± 7.007µs 25.029µs ± 0.088µs 25.104µs 41.758µs 42.857µs 74.612µs 198.10% 2.729 9.841 25.00% 0.495µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [26.981µs; 28.923µs] or [-3.474%; +3.474%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 2.101µs 3.920µs ± 1.788µs 3.671µs ± 0.034µs 3.713µs 4.467µs 5.502µs 21.262µs 479.13% 8.983 84.008 45.50% 0.126µ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.672µs; 4.168µs] or [-6.322%; +6.322%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.002ms 14.085ms ± 0.039ms 14.079ms ± 0.019ms 14.099ms 14.153ms 14.225ms 14.286ms 1.47% 1.803 5.405 0.27% 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.080ms; 14.091ms] or [-0.038%; +0.038%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 205.321µs 206.125µs ± 0.488µs 206.056µs ± 0.348µs 206.479µs 206.999µs 207.341µs 207.718µs 0.81% 0.578 -0.238 0.24% 0.035µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4814219.278op/s 4851453.111op/s ± 11481.467op/s 4853038.863op/s ± 8176.908op/s 4860738.368op/s 4866721.927op/s 4869899.477op/s 4870423.053op/s 0.36% -0.568 -0.259 0.24% 811.862op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.592µs 18.678µs ± 0.075µs 18.663µs ± 0.024µs 18.691µs 18.773µs 18.894µs 19.412µs 4.01% 5.496 45.809 0.40% 0.005µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51513612.028op/s 53539428.124op/s ± 211276.557op/s 53581842.224op/s ± 67632.495op/s 53637928.969op/s 53724691.156op/s 53759968.774op/s 53785776.815op/s 0.38% -5.290 42.961 0.39% 14939.509op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.842µs 10.901µs ± 0.028µs 10.897µs ± 0.020µs 10.924µs 10.947µs 10.970µs 10.988µs 0.83% 0.399 -0.286 0.26% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 91011478.823op/s 91734822.095op/s ± 235356.145op/s 91767126.927op/s ± 172860.693op/s 91915361.750op/s 92046837.522op/s 92199187.412op/s 92233639.338op/s 0.51% -0.387 -0.303 0.26% 16642.193op/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 [206.057µs; 206.193µs] or [-0.033%; +0.033%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4849861.890op/s; 4853044.332op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.668µs; 18.689µs] or [-0.056%; +0.056%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53510147.225op/s; 53568709.023op/s] or [-0.055%; +0.055%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.897µs; 10.905µs] or [-0.036%; +0.036%] None None None
normalization/normalize_name/normalize_name/good throughput [91702203.997op/s; 91767440.193op/s] or [-0.036%; +0.036%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.705ms 49.038ms ± 1.198ms 48.886ms ± 0.064ms 48.958ms 49.092ms 53.484ms 63.746ms 30.40% 10.227 115.666 2.44% 0.085ms 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.872ms; 49.204ms] or [-0.338%; +0.338%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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 535.912µs 537.075µs ± 1.294µs 536.840µs ± 0.316µs 537.189µs 539.127µs 540.812µs 551.074µs 2.65% 6.904 67.653 0.24% 0.091µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1814637.550op/s 1861947.377op/s ± 4412.239op/s 1862753.219op/s ± 1096.886op/s 1863766.916op/s 1865176.496op/s 1865560.436op/s 1865979.020op/s 0.17% -6.748 65.202 0.24% 311.992op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.374µs 381.023µs ± 0.263µs 380.990µs ± 0.181µs 381.199µs 381.504µs 381.639µs 381.861µs 0.23% 0.450 -0.026 0.07% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2618754.256op/s 2624512.782op/s ± 1810.225op/s 2624744.252op/s ± 1245.554op/s 2625904.512op/s 2627015.921op/s 2628015.796op/s 2628991.466op/s 0.16% -0.446 -0.030 0.07% 128.002op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 190.037µs 190.449µs ± 0.183µs 190.433µs ± 0.129µs 190.576µs 190.779µs 190.936µs 191.043µs 0.32% 0.504 0.193 0.10% 0.013µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5234432.094op/s 5250759.885op/s ± 5047.456op/s 5251198.485op/s ± 3559.244op/s 5254564.094op/s 5258086.078op/s 5260147.282op/s 5262136.714op/s 0.21% -0.498 0.184 0.10% 356.909op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.517µs 36.621µs ± 0.058µs 36.614µs ± 0.029µs 36.644µs 36.712µs 36.815µs 37.022µs 1.11% 2.168 11.082 0.16% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27011166.223op/s 27306721.263op/s ± 43126.593op/s 27312199.168op/s ± 21801.806op/s 27333466.585op/s 27362213.261op/s 27377527.159op/s 27384479.064op/s 0.26% -2.129 10.758 0.16% 3049.511op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.984µs 46.137µs ± 0.073µs 46.128µs ± 0.039µs 46.167µs 46.249µs 46.398µs 46.635µs 1.10% 2.176 11.039 0.16% 0.005µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21443122.119op/s 21674652.595op/s ± 34407.571op/s 21678723.249op/s ± 18213.636op/s 21696418.888op/s 21720974.533op/s 21727820.063op/s 21746731.285op/s 0.31% -2.137 10.733 0.16% 2432.983op/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 [536.896µs; 537.254µs] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1861335.883op/s; 1862558.871op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.987µs; 381.060µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2624261.903op/s; 2624763.662op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.423µs; 190.474µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5250060.356op/s; 5251459.414op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.613µs; 36.629µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27300744.332op/s; 27312698.194op/s] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.127µs; 46.147µs] or [-0.022%; +0.022%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21669884.037op/s; 21679421.154op/s] or [-0.022%; +0.022%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz e641308 1770716126 florian/heap-live-tracking
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.971µs 5.043µs ± 0.047µs 5.030µs ± 0.031µs 5.076µs 5.124µs 5.127µs 5.160µs 2.58% 0.644 -1.052 0.94% 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.037µs; 5.050µs] or [-0.130%; +0.130%] None None None

Baseline

Omitted due to size.

@realFlowControl realFlowControl changed the title feat(profiling): add heap-live allocation tracking to Profile feat(profiling)!: add heap-live allocation tracking to Profile Feb 9, 2026
@realFlowControl realFlowControl force-pushed the florian/heap-live-tracking branch from 061d9fc to 18e7883 Compare February 9, 2026 15:38
@dd-octo-sts
Copy link

dd-octo-sts bot commented Feb 9, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.38 MB 8.44 MB +.74% (+64.00 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.69 MB 91.90 MB +.23% (+218.88 KB) 🔍
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.40 MB 106.65 MB +.23% (+253.75 KB) 🔍
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB +.04% (+4.75 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.08 MB 25.15 MB +.27% (+71.50 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.94 KB 76.60 KB +.86% (+674 B) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 172.50 MB 173.03 MB +.30% (+544.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 882.80 MB 884.23 MB +.16% (+1.42 MB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.57 MB 9.58 MB +.17% (+17.50 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.94 KB 76.60 KB +.86% (+674 B) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.04 MB 23.11 MB +.30% (+72.00 KB) 🔍
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.45 MB 48.54 MB +.19% (+95.48 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.22 MB 21.28 MB +.28% (+62.50 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.79 KB +.86% (+684 B) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 176.62 MB 177.19 MB +.32% (+584.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 866.89 MB 868.35 MB +.16% (+1.46 MB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.24 MB 7.25 MB +.17% (+13.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.12 KB 77.79 KB +.86% (+684 B) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.62 MB 24.69 MB +.28% (+72.00 KB) 🔍
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.15 MB 44.24 MB +.20% (+94.58 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.18 MB 80.38 MB +.24% (+202.92 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.88 MB 9.89 MB +.11% (+12.00 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.31 MB 100.53 MB +.22% (+227.00 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.44 MB 11.46 MB +.16% (+19.53 KB) 🔍

@realFlowControl realFlowControl force-pushed the florian/heap-live-tracking branch 2 times, most recently from d7c971a to 4276bdc Compare February 10, 2026 06:21
@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/florian/heap-live-tracking

Summary by Rule

Rule Base Branch PR Branch Change
expect_used 1 1 No change (0%)
unwrap_used 3 3 No change (0%)
Total 4 4 No change (0%)

Annotation Counts by File

File Base Branch PR Branch Change
datadog-profiling-replayer/src/main.rs 3 3 No change (0%)
libdd-profiling/src/internal/profile/mod.rs 1 1 No change (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 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.

@realFlowControl realFlowControl force-pushed the florian/heap-live-tracking branch 2 times, most recently from ec5ca58 to 9f929cb Compare February 10, 2026 09:26
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@realFlowControl realFlowControl force-pushed the florian/heap-live-tracking branch from 9f929cb to e641308 Compare February 10, 2026 09:35
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.

2 participants