Skip to content

Conversation

@ekump
Copy link
Contributor

@ekump ekump commented Feb 10, 2026

What does this PR do?

Introduces a new GH workflow that uses rustfmt-check and can automatically apply rustfmt changes via a commit on your PR.

This is currently opt-in via the commit-rustfmt-changes label.

The existing validation workflow still exists and is required to pass.

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.

@ekump ekump changed the title add auto-format action to CI [WIP] add auto-format action to CI Feb 10, 2026
@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/ekump/auto-rustfmt-action

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 10, 2026

📚 Documentation Check Results

⚠️ 155 documentation warning(s) found

📦 libdd-common - 155 warning(s)


Updated: 2026-02-10 17:32:26 UTC | Commit: a163ee6 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Feb 10, 2026

🔒 Cargo Deny Results

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

📦 libdd-common - 6 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:18:1
   │
18 │ 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
     ├── http v1.1.0
     │   ├── http-body v1.0.1
     │   │   ├── http-body-util v0.1.2
     │   │   │   ├── libdd-common v1.1.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 (*)
     │   ├── 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 (*)
     ├── 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 (*)
     │   ├── reqwest v0.13.1 (*)
     │   ├── tokio-rustls v0.26.0
     │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   └── reqwest v0.13.1 (*)
     │   └── tower v0.5.2
     │       ├── reqwest v0.13.1 (*)
     │       └── tower-http v0.6.8 (*)
     └── 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:65:1
   │
65 │ 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
     ├── 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:65:1
   │
65 │ 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
     ├── 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:81:1
   │
81 │ 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
         │   ├── 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:115:1
    │
115 │ 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

error[vulnerability]: Potential segfault in the time crate
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:194:1
    │
194 │ 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
      │   ├── 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 17:32:34 UTC | Commit: a163ee6 | dependency-check job results

@pr-commenter
Copy link

pr-commenter bot commented Feb 10, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-02-10 18:12:52

Comparing candidate commit 2ae590b in PR branch ekump/auto-rustfmt-action with baseline commit 72e56a3 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 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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 526.585µs 527.471µs ± 0.483µs 527.421µs ± 0.186µs 527.601µs 528.000µs 528.618µs 532.647µs 0.99% 6.378 64.645 0.09% 0.034µ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 [527.404µs; 527.538µs] or [-0.013%; +0.013%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.677ms 10.713ms ± 0.016ms 10.711ms ± 0.008ms 10.719ms 10.739ms 10.760ms 10.794ms 0.78% 1.444 5.027 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.711ms; 10.716ms] or [-0.021%; +0.021%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.565µs 161.375µs ± 0.367µs 161.303µs ± 0.154µs 161.484µs 161.905µs 162.189µs 164.717µs 2.12% 4.069 33.201 0.23% 0.026µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [161.324µs; 161.426µs] or [-0.031%; +0.031%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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 89.024µs 89.366µs ± 0.165µs 89.360µs ± 0.073µs 89.431µs 89.551µs 90.088µs 90.595µs 1.38% 2.827 18.136 0.18% 0.012µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [89.343µs; 89.389µs] or [-0.026%; +0.026%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.564µs 34.996µs ± 0.704µs 34.677µs ± 0.058µs 34.805µs 36.398µs 36.444µs 39.021µs 12.53% 2.166 5.026 2.01% 0.050µ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.899µs; 35.094µs] or [-0.279%; +0.279%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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 206.037µs 206.710µs ± 0.320µs 206.685µs ± 0.227µs 206.929µs 207.229µs 207.671µs 207.720µs 0.50% 0.494 0.170 0.15% 0.023µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 4814177.936op/s 4837700.525op/s ± 7486.005op/s 4838282.057op/s ± 5309.217op/s 4842972.507op/s 4848697.159op/s 4851386.532op/s 4853494.641op/s 0.31% -0.485 0.154 0.15% 529.340op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.591µs 18.694µs ± 0.129µs 18.661µs ± 0.025µs 18.693µs 18.900µs 19.049µs 20.027µs 7.32% 6.184 55.952 0.69% 0.009µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 49933267.151op/s 53494885.285op/s ± 354970.688op/s 53588584.542op/s ± 70511.071op/s 53650202.952op/s 53727774.135op/s 53766923.903op/s 53790865.673op/s 0.38% -5.796 50.121 0.66% 25100.218op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.754µs 10.839µs ± 0.034µs 10.835µs ± 0.021µs 10.860µs 10.900µs 10.944µs 10.957µs 1.13% 0.573 0.623 0.32% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 91264013.554op/s 92263210.850op/s ± 291962.817op/s 92296842.589op/s ± 182595.159op/s 92446144.431op/s 92703255.971op/s 92853917.832op/s 92991295.731op/s 0.75% -0.551 0.584 0.32% 20644.889op/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.666µs; 206.755µs] or [-0.021%; +0.021%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [4836663.037op/s; 4838738.014op/s] or [-0.021%; +0.021%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.676µs; 18.712µs] or [-0.096%; +0.096%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53445689.761op/s; 53544080.808op/s] or [-0.092%; +0.092%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.834µs; 10.843µs] or [-0.044%; +0.044%] None None None
normalization/normalize_name/normalize_name/good throughput [92222747.611op/s; 92303674.088op/s] or [-0.044%; +0.044%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 144.435µs 146.135µs ± 1.582µs 145.984µs ± 0.565µs 146.534µs 147.540µs 151.913µs 161.003µs 10.29% 5.418 42.635 1.08% 0.112µ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.915µs; 146.354µs] or [-0.150%; +0.150%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.356µs 2.430µs ± 0.020µs 2.432µs ± 0.005µs 2.442µs 2.454µs 2.456µs 2.456µs 1.00% -1.880 4.020 0.84% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.427µs; 2.433µs] or [-0.116%; +0.116%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 5.029µs 5.119µs ± 0.059µs 5.123µs ± 0.057µs 5.148µs 5.217µs 5.221µs 5.226µs 2.02% 0.087 -1.089 1.15% 0.004µ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.111µs; 5.127µs] or [-0.160%; +0.160%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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 13.958ms 14.022ms ± 0.031ms 14.018ms ± 0.014ms 14.032ms 14.082ms 14.129ms 14.202ms 1.31% 1.857 6.780 0.22% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.017ms; 14.026ms] or [-0.031%; +0.031%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.227ns 251.755ns ± 12.870ns 245.787ns ± 3.408ns 255.797ns 283.087ns 290.371ns 292.448ns 18.98% 1.687 1.961 5.10% 0.910ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [249.972ns; 253.539ns] or [-0.709%; +0.709%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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 49.859ms 50.238ms ± 1.355ms 50.069ms ± 0.064ms 50.129ms 50.254ms 59.687ms 62.355ms 24.54% 7.969 62.792 2.69% 0.096ms 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 [50.050ms; 50.425ms] or [-0.374%; +0.374%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.150µs 536.655µs ± 1.283µs 536.268µs ± 0.535µs 537.116µs 538.748µs 540.408µs 546.146µs 1.84% 2.803 14.354 0.24% 0.091µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1831010.642op/s 1863403.994op/s ± 4425.496op/s 1864738.761op/s ± 1861.777op/s 1866283.633op/s 1867513.024op/s 1868049.265op/s 1868636.195op/s 0.21% -2.744 13.744 0.24% 312.930op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 384.575µs 385.333µs ± 0.314µs 385.275µs ± 0.184µs 385.524µs 385.891µs 386.267µs 386.305µs 0.27% 0.736 0.463 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2588626.634op/s 2595161.210op/s ± 2116.710op/s 2595548.481op/s ± 1238.059op/s 2596582.773op/s 2597887.531op/s 2599014.878op/s 2600275.180op/s 0.18% -0.732 0.456 0.08% 149.674op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.583µs 190.019µs ± 0.212µs 189.997µs ± 0.120µs 190.115µs 190.356µs 190.602µs 191.258µs 0.66% 1.370 5.299 0.11% 0.015µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5228537.357op/s 5262642.906op/s ± 5856.697op/s 5263250.588op/s ± 3320.700op/s 5266726.262op/s 5270963.260op/s 5273164.268op/s 5274730.269op/s 0.22% -1.352 5.189 0.11% 414.131op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.505µs 36.612µs ± 0.047µs 36.612µs ± 0.026µs 36.636µs 36.691µs 36.731µs 36.770µs 0.43% 0.438 0.412 0.13% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27195854.834op/s 27313451.860op/s ± 34785.326op/s 27313786.634op/s ± 19549.639op/s 27335314.494op/s 27368440.845op/s 27379389.017op/s 27393279.939op/s 0.29% -0.430 0.398 0.13% 2459.694op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.943µs 46.055µs ± 0.049µs 46.047µs ± 0.030µs 46.081µs 46.135µs 46.209µs 46.284µs 0.52% 1.161 2.617 0.11% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21605588.069op/s 21713325.746op/s ± 23078.645op/s 21717143.145op/s ± 14093.895op/s 21728784.332op/s 21742293.309op/s 21752741.721op/s 21766096.210op/s 0.23% -1.151 2.576 0.11% 1631.907op/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.478µs; 536.833µs] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1862790.663op/s; 1864017.325op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [385.289µs; 385.376µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2594867.854op/s; 2595454.566op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.989µs; 190.048µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5261831.224op/s; 5263454.588op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.606µs; 36.619µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27308630.948op/s; 27318272.771op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.048µs; 46.062µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21710127.268op/s; 21716524.224op/s] or [-0.015%; +0.015%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.851µs 25.543µs ± 9.797µs 18.015µs ± 0.098µs 34.102µs 43.462µs 50.203µs 59.435µs 229.92% 0.939 -0.060 38.26% 0.693µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.185µs; 26.901µs] or [-5.316%; +5.316%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.135ns 191.015ns ± 2.426ns 190.798ns ± 1.642ns 192.140ns 195.278ns 198.926ns 201.918ns 5.83% 1.329 2.593 1.27% 0.172ns 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.679ns; 191.352ns] or [-0.176%; +0.176%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.674ms 9.981ms ± 0.083ms 9.991ms ± 0.036ms 10.029ms 10.086ms 10.122ms 10.191ms 2.00% -1.338 2.563 0.83% 0.006ms 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 [9.969ms; 9.992ms] or [-0.115%; +0.115%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.877ms 3.882ms ± 0.007ms 3.881ms ± 0.001ms 3.882ms 3.885ms 3.889ms 3.973ms 2.36% 11.965 156.315 0.18% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [3.881ms; 3.883ms] or [-0.024%; +0.024%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.239µs 3.183µs ± 1.389µs 2.983µs ± 0.031µs 3.008µs 3.656µs 13.643µs 14.695µs 392.61% 7.354 55.310 43.53% 0.098µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.990µs; 3.375µs] or [-6.048%; +6.048%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 2ae590b 1770746238 ekump/auto-rustfmt-action
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.891µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.916µs 3.919µs 3.922µs 0.26% -1.313 14.658 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254991226.387op/s 255639839.311op/s ± 181504.303op/s 255651311.209op/s ± 80130.972op/s 255728245.185op/s 255872642.404op/s 255922785.408op/s 256983659.075op/s 0.52% 1.345 14.885 0.07% 12834.292op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.745µs 82.463µs ± 0.576µs 82.466µs ± 0.416µs 82.929µs 83.280µs 83.488µs 83.629µs 1.41% -0.730 1.651 0.70% 0.041µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 11957610.858op/s 12127305.503op/s ± 85126.949op/s 12126146.915op/s ± 61224.553op/s 12180236.531op/s 12256347.215op/s 12358667.953op/s 12539956.980op/s 3.41% 0.798 1.945 0.70% 6019.384op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 74.498µs 75.027µs ± 0.176µs 75.012µs ± 0.093µs 75.106µs 75.334µs 75.456µs 75.719µs 0.94% 0.415 1.030 0.23% 0.012µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13206801.661op/s 13328628.736op/s ± 31310.352op/s 13331120.103op/s ± 16482.905op/s 13346298.178op/s 13375417.188op/s 13395479.216op/s 13423134.773op/s 0.69% -0.395 1.007 0.23% 2213.976op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.889µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.916µs 3.919µs 3.926µs 0.36% -1.220 16.504 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254731815.316op/s 255645036.512op/s ± 200367.461op/s 255650301.605op/s ± 89767.090op/s 255740963.309op/s 255876211.716op/s 255934918.824op/s 257146681.516op/s 0.59% 1.260 16.753 0.08% 14168.119op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 71.400µs 72.039µs ± 0.178µs 72.036µs ± 0.095µs 72.130µs 72.329µs 72.460µs 72.516µs 0.67% -0.080 0.629 0.25% 0.013µs 1 200
credit_card/is_card_number/378282246310005 throughput 13790124.426op/s 13881359.018op/s ± 34382.856op/s 13881981.883op/s ± 18425.415op/s 13900175.154op/s 13942656.455op/s 13958765.371op/s 14005644.577op/s 0.89% 0.100 0.646 0.25% 2431.235op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.155µs 52.211µs ± 0.034µs 52.205µs ± 0.019µs 52.227µs 52.272µs 52.315µs 52.444µs 0.46% 2.175 10.195 0.07% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19068102.124op/s 19153070.521op/s ± 12637.319op/s 19155158.732op/s ± 6996.969op/s 19160850.072op/s 19169350.030op/s 19171480.028op/s 19173619.018op/s 0.10% -2.160 10.075 0.07% 893.593op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 5.695µs 5.875µs ± 0.054µs 5.876µs ± 0.043µs 5.915µs 5.964µs 5.993µs 5.999µs 2.09% -0.084 -0.195 0.91% 0.004µs 1 200
credit_card/is_card_number/x371413321323331 throughput 166698677.645op/s 170217746.439op/s ± 1552122.776op/s 170182066.085op/s ± 1251486.554op/s 171486420.501op/s 172587462.337op/s 173374426.583op/s 175594708.430op/s 3.18% 0.134 -0.146 0.91% 109751.654op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.896µs 3.912µs ± 0.002µs 3.911µs ± 0.001µs 3.913µs 3.916µs 3.919µs 3.920µs 0.21% -0.558 7.761 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255120621.070op/s 255655206.857op/s ± 161258.865op/s 255660449.334op/s ± 78194.114op/s 255737823.624op/s 255864376.234op/s 255919021.692op/s 256668203.798op/s 0.39% 0.575 7.852 0.06% 11402.724op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.097µs 64.331µs ± 0.121µs 64.311µs ± 0.060µs 64.369µs 64.505µs 64.833µs 64.875µs 0.88% 1.866 5.018 0.19% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15414241.435op/s 15544560.669op/s ± 29254.928op/s 15549556.465op/s ± 14428.172op/s 15563991.927op/s 15575473.225op/s 15590775.842op/s 15601366.680op/s 0.33% -1.846 4.927 0.19% 2068.636op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.382µs 57.564µs ± 0.113µs 57.547µs ± 0.056µs 57.606µs 57.739µs 58.052µs 58.165µs 1.07% 1.978 6.802 0.20% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17192425.531op/s 17371887.659op/s ± 33939.808op/s 17377032.778op/s ± 16889.061op/s 17392298.691op/s 17411068.478op/s 17422747.978op/s 17427168.956op/s 0.29% -1.950 6.639 0.19% 2399.907op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.912µs ± 0.002µs 3.912µs ± 0.001µs 3.913µs 3.915µs 3.918µs 3.919µs 0.18% -1.881 16.722 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255191999.032op/s 255651772.426op/s ± 159756.463op/s 255647793.355op/s ± 88757.176op/s 255744591.599op/s 255846167.518op/s 255909388.317op/s 256887830.070op/s 0.49% 1.909 16.963 0.06% 11296.488op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.570µs 54.817µs ± 0.187µs 54.755µs ± 0.070µs 54.868µs 55.179µs 55.496µs 55.676µs 1.68% 1.823 3.852 0.34% 0.013µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17961088.626op/s 18242731.084op/s ± 61779.272op/s 18263057.487op/s ± 23256.818op/s 18281253.489op/s 18302994.019op/s 18320071.234op/s 18324925.564op/s 0.34% -1.797 3.716 0.34% 4368.454op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.148µs 52.216µs ± 0.031µs 52.213µs ± 0.018µs 52.233µs 52.276µs 52.291µs 52.340µs 0.24% 0.638 0.882 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19105941.450op/s 19151357.247op/s ± 11518.345op/s 19152310.746op/s ± 6619.795op/s 19158575.329op/s 19168134.223op/s 19173479.780op/s 19176353.638op/s 0.13% -0.634 0.872 0.06% 814.470op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 5.717µs 5.872µs ± 0.054µs 5.868µs ± 0.037µs 5.909µs 5.960µs 5.986µs 6.030µs 2.76% -0.126 0.148 0.92% 0.004µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165841329.649op/s 170314728.378op/s ± 1568411.703op/s 170419094.839op/s ± 1088352.487op/s 171436328.095op/s 172617084.734op/s 174517683.879op/s 174901959.735op/s 2.63% 0.185 0.175 0.92% 110903.455op/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.911µs; 3.912µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255614684.561op/s; 255664994.062op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [82.383µs; 82.542µs] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12115507.727op/s; 12139103.280op/s] or [-0.097%; +0.097%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [75.002µs; 75.051µs] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13324289.423op/s; 13332968.050op/s] or [-0.033%; +0.033%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.912µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/37828224631 throughput [255617267.509op/s; 255672805.515op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/378282246310005 execution_time [72.015µs; 72.064µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number/378282246310005 throughput [13876593.884op/s; 13886124.151op/s] or [-0.034%; +0.034%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.206µs; 52.216µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19151319.110op/s; 19154821.932op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 execution_time [5.868µs; 5.883µs] or [-0.126%; +0.126%] None None None
credit_card/is_card_number/x371413321323331 throughput [170002637.150op/s; 170432855.728op/s] or [-0.126%; +0.126%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255632857.929op/s; 255677555.785op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.315µs; 64.348µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15540506.217op/s; 15548615.120op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [57.549µs; 57.580µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17367183.928op/s; 17376591.390op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.911µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255629631.717op/s; 255673913.135op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.791µs; 54.843µs] or [-0.047%; +0.047%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18234169.071op/s; 18251293.097op/s] or [-0.047%; +0.047%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.211µs; 52.220µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19149760.915op/s; 19152953.579op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [5.864µs; 5.879µs] or [-0.127%; +0.127%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [170097361.601op/s; 170532095.156op/s] or [-0.128%; +0.128%] None None None

Baseline

Omitted due to size.

@dd-octo-sts
Copy link

dd-octo-sts bot commented Feb 10, 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.38 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.65 MB 91.65 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.35 MB 106.35 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.07 MB 25.07 MB 0% (0 B) 👌
/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 172.35 MB 172.33 MB --.01% (-24.00 KB) 💪
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 881.90 MB 881.90 MB 0% (0 B) 👌
/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.03 MB 23.03 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.44 MB 48.44 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.21 MB 21.21 MB 0% (0 B) 👌
/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 176.44 MB 176.42 MB -0% (-16.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 866.62 MB 866.62 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.24 MB 7.24 MB 0% (0 B) 👌
/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.60 MB --.03% (-8.00 KB) 💪
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.14 MB 44.14 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.14 MB 80.14 MB 0% (0 B) 👌
/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.26 MB 100.26 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.44 MB 11.44 MB 0% (0 B) 👌

@github-actions github-actions bot removed the common label Feb 10, 2026
@ekump ekump force-pushed the ekump/auto-rustfmt-action branch from 9f98074 to cf65565 Compare February 10, 2026 14:49
@ekump ekump added commit-rustfmt-changes allow the rustfmt action to commit changes to your PR and removed commit-rustfmt-changes allow the rustfmt action to commit changes to your PR labels Feb 10, 2026
@ekump ekump force-pushed the ekump/auto-rustfmt-action branch from 493e5dd to 5020044 Compare February 10, 2026 15:35
@ekump ekump added the commit-rustfmt-changes allow the rustfmt action to commit changes to your PR label Feb 10, 2026
@codecov-commenter
Copy link

codecov-commenter commented Feb 10, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.90%. Comparing base (72e56a3) to head (2ae590b).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1548   +/-   ##
=======================================
  Coverage   70.89%   70.90%           
=======================================
  Files         423      423           
  Lines       61780    61780           
=======================================
+ Hits        43799    43805    +6     
+ Misses      17981    17975    -6     
Components Coverage Δ
libdd-crashtracker 62.42% <ø> (+0.01%) ⬆️
libdd-crashtracker-ffi 16.74% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 85.60% <ø> (ø)
libdd-data-pipeline-ffi 74.18% <ø> (ø)
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.83% <ø> (ø)
libdd-profiling 81.23% <ø> (ø)
libdd-profiling-ffi 63.66% <ø> (ø)
datadog-sidecar 33.62% <ø> (ø)
datdog-sidecar-ffi 12.23% <ø> (ø)
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.59% <ø> (ø)
datadog-tracer-flare 88.28% <ø> (ø)
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.

@ekump ekump force-pushed the ekump/auto-rustfmt-action branch from 5020044 to 8a8ed91 Compare February 10, 2026 17:18
@ekump ekump added commit-rustfmt-changes allow the rustfmt action to commit changes to your PR and removed commit-rustfmt-changes allow the rustfmt action to commit changes to your PR labels Feb 10, 2026
@github-actions github-actions bot removed the common label Feb 10, 2026
@ekump ekump removed the commit-rustfmt-changes allow the rustfmt action to commit changes to your PR label Feb 10, 2026
@ekump ekump force-pushed the ekump/auto-rustfmt-action branch from bc3d9ac to a3db3f7 Compare February 10, 2026 17:29
@ekump ekump added the commit-rustfmt-changes allow the rustfmt action to commit changes to your PR label Feb 10, 2026
@github-actions github-actions bot removed the common label Feb 10, 2026
@ekump ekump changed the title [WIP] add auto-format action to CI ci: add auto-commit of rustfmt changes action to CI Feb 10, 2026
@ekump ekump force-pushed the ekump/auto-rustfmt-action branch from 74d5e76 to 2ae590b Compare February 10, 2026 17:57
@ekump ekump marked this pull request as ready for review February 10, 2026 17:57
@ekump ekump requested review from a team as code owners February 10, 2026 17:57
runs-on: ubuntu-latest
if: >-
contains(github.event.pull_request.labels.*.name, 'commit-rustfmt-changes') &&
!startsWith(github.head_ref, 'mq-working-branch')
Copy link
Contributor

Choose a reason for hiding this comment

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

One option could be to run it only after the PR has been marked as ready with
if: ${{ !github.event.pull_request.draft }}

to reduce the friction caused by the commits due to fmt?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That seems a bit redundant since you have to opt-in to the action with a label?

@iunanua
Copy link
Contributor

iunanua commented Feb 11, 2026

BTW, the "Documentation Check Results" and "Cargo Deny Results" should be removed by the workflow when no crates are modified. I have made a note of it as an improvement.

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

Labels

ci-build commit-rustfmt-changes allow the rustfmt action to commit changes to your PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants