Skip to content

Conversation

@danielsn
Copy link
Contributor

@danielsn danielsn commented Jan 28, 2026

What does this PR do?

  1. Actually uses the mime type in the exporter
  2. Improves the tests around that
  3. Uses an invalid enum value to catch when the enum was defaulted to 0.

Motivation

  1. Oops
  2. Its bad that the tests failed to catch this
  3. Code review request on the previous PR.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

New tests.

@github-actions
Copy link

github-actions bot commented Jan 28, 2026

📚 Documentation Check Results

⚠️ 583 documentation warning(s) found

📦 libdd-profiling - 583 warning(s)


Updated: 2026-01-28 22:56:09 UTC | Commit: d8d8ee1 | missing-docs job results

@github-actions
Copy link

github-actions bot commented Jan 28, 2026

🔒 Cargo Deny Results

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

📦 libdd-profiling - 5 error(s)

Show output
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-profiling v1.0.0
     │           └── (dev) 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-profiling v1.0.0
     │           └── (dev) 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-profiling v1.0.0
          │   │           └── (dev) 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-profiling v1.0.0
          └── (dev) libdd-profiling v1.0.0 (*)

error[vulnerability]: Potential segfault in the time crate
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:262:1
    │
262 │ 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-profiling v1.0.0
      │   │           └── (dev) 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-01-28 22:56:15 UTC | Commit: d8d8ee1 | dependency-check job results

reqwest::multipart::Part::bytes(encoder.finish()?).file_name(file.name.to_string()),
reqwest::multipart::Part::bytes(encoder.finish()?)
.file_name(file.name.to_string())
.mime_str(file.mime.as_str())?,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do we want to add "Content-Encoding" header on the compressed multipart parts?

@danielsn danielsn marked this pull request as ready for review January 28, 2026 22:24
@danielsn danielsn requested a review from a team as a code owner January 28, 2026 22:24
@danielsn danielsn changed the title fix(profiling): make sure we use the mime type properly fix(profiling)!: make sure we use the mime type properly Jan 28, 2026
@codecov-commenter
Copy link

Codecov Report

❌ Patch coverage is 82.05128% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 70.98%. Comparing base (cd903df) to head (06429f1).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1488      +/-   ##
==========================================
+ Coverage   70.96%   70.98%   +0.01%     
==========================================
  Files         421      421              
  Lines       68438    68468      +30     
==========================================
+ Hits        48567    48599      +32     
+ Misses      19871    19869       -2     
Components Coverage Δ
libdd-crashtracker 61.38% <ø> (-0.03%) ⬇️
libdd-crashtracker-ffi 16.50% <ø> (ø)
libdd-alloc 98.73% <ø> (ø)
libdd-data-pipeline 86.28% <ø> (ø)
libdd-data-pipeline-ffi 78.57% <ø> (ø)
libdd-common 80.97% <ø> (ø)
libdd-common-ffi 74.54% <ø> (ø)
libdd-telemetry 59.82% <ø> (+0.03%) ⬆️
libdd-telemetry-ffi 21.17% <ø> (ø)
libdd-dogstatsd-client 83.75% <ø> (ø)
datadog-ipc 82.60% <ø> (ø)
libdd-profiling 81.56% <82.05%> (+0.07%) ⬆️
libdd-profiling-ffi 65.02% <78.12%> (+0.30%) ⬆️
datadog-sidecar 34.94% <ø> (ø)
datdog-sidecar-ffi 10.25% <ø> (ø)
spawn-worker 55.18% <ø> (ø)
libdd-tinybytes 93.43% <ø> (ø)
libdd-trace-normalization 82.33% <ø> (ø)
libdd-trace-obfuscation 94.17% <ø> (ø)
libdd-trace-protobuf 61.18% <ø> (ø)
libdd-trace-utils 89.45% <ø> (ø)
datadog-tracer-flare 63.49% <ø> (ø)
libdd-log 75.57% <ø> (ø)
🚀 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.

@pr-commenter
Copy link

pr-commenter bot commented Jan 28, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-01-28 22:49:32

Comparing candidate commit 06429f1 in PR branch dsn/fix-mime with baseline commit cd903df 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 06429f1 1769639611 dsn/fix-mime
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.589ms 14.648ms ± 0.038ms 14.642ms ± 0.016ms 14.658ms 14.727ms 14.813ms 14.837ms 1.33% 2.164 6.841 0.26% 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.642ms; 14.653ms] or [-0.036%; +0.036%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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 12.663ms 13.001ms ± 0.093ms 13.013ms ± 0.039ms 13.053ms 13.120ms 13.187ms 13.359ms 2.66% -0.698 2.197 0.72% 0.007ms 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 [12.988ms; 13.014ms] or [-0.100%; +0.100%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.366ms 48.806ms ± 1.099ms 48.673ms ± 0.111ms 48.784ms 48.991ms 51.129ms 60.068ms 23.41% 9.075 85.171 2.25% 0.078ms 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.654ms; 48.959ms] or [-0.312%; +0.312%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.858ns 191.334ns ± 2.140ns 191.045ns ± 1.364ns 192.319ns 195.294ns 198.267ns 200.058ns 4.72% 1.250 1.692 1.12% 0.151ns 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 [191.038ns; 191.631ns] or [-0.155%; +0.155%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.377µs 89.548µs ± 0.147µs 89.535µs ± 0.068µs 89.601µs 89.699µs 89.890µs 91.088µs 1.73% 5.986 58.546 0.16% 0.010µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [89.527µs; 89.568µs] or [-0.023%; +0.023%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.653ms 10.682ms ± 0.015ms 10.680ms ± 0.010ms 10.692ms 10.709ms 10.727ms 10.748ms 0.64% 1.013 1.924 0.14% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.680ms; 10.684ms] or [-0.020%; +0.020%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.208µs 3.236µs ± 1.433µs 3.018µs ± 0.032µs 3.045µs 3.655µs 14.162µs 14.847µs 391.93% 7.299 54.637 44.16% 0.101µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.037µs; 3.434µs] or [-6.135%; +6.135%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 143.086µs 145.865µs ± 1.690µs 145.541µs ± 0.470µs 146.132µs 147.704µs 151.856µs 162.387µs 11.57% 5.839 48.652 1.16% 0.119µ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.630µs; 146.099µs] or [-0.161%; +0.161%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.995µs 5.096µs ± 0.059µs 5.091µs ± 0.051µs 5.125µs 5.208µs 5.211µs 5.216µs 2.44% 0.471 -0.736 1.16% 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.088µs; 5.104µs] or [-0.162%; +0.162%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.392µs 2.418µs ± 0.030µs 2.414µs ± 0.007µs 2.422µs 2.460µs 2.469µs 2.781µs 15.18% 8.719 99.419 1.25% 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.414µs; 2.423µs] or [-0.174%; +0.174%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.897µs 3.912µs ± 0.002µs 3.912µs ± 0.001µs 3.913µs 3.915µs 3.917µs 3.917µs 0.15% -1.021 7.148 0.06% 0.000µs 1 200
credit_card/is_card_number/ throughput 255266404.485op/s 255643764.717op/s ± 149647.821op/s 255652256.944op/s ± 96399.239op/s 255737759.680op/s 255844746.844op/s 255921728.554op/s 256601646.867op/s 0.37% 1.035 7.243 0.06% 10581.699op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 77.035µs 77.573µs ± 0.337µs 77.504µs ± 0.197µs 77.735µs 78.180µs 78.505µs 79.270µs 2.28% 1.112 2.659 0.43% 0.024µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12615073.429op/s 12891259.288op/s ± 55687.137op/s 12902535.350op/s ± 32769.436op/s 12923727.317op/s 12963672.146op/s 12971126.354op/s 12981079.825op/s 0.61% -1.068 2.443 0.43% 3937.675op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 70.653µs 71.059µs ± 0.263µs 71.001µs ± 0.220µs 71.234µs 71.495µs 71.728µs 71.969µs 1.36% 0.594 0.077 0.37% 0.019µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13894896.050op/s 14073071.256op/s ± 51963.611op/s 14084279.832op/s ± 43429.021op/s 14112019.234op/s 14146168.851op/s 14149080.844op/s 14153672.140op/s 0.49% -0.575 0.031 0.37% 3674.382op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.920µs 3.920µs 0.17% -1.966 16.135 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255102448.026op/s 255556904.119op/s ± 175627.256op/s 255548217.138op/s ± 105554.737op/s 255666296.792op/s 255783390.501op/s 255835445.947op/s 256910872.323op/s 0.53% 1.995 16.394 0.07% 12418.722op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 67.427µs 67.978µs ± 0.317µs 67.940µs ± 0.222µs 68.164µs 68.542µs 68.806µs 68.972µs 1.52% 0.609 0.017 0.46% 0.022µs 1 200
credit_card/is_card_number/378282246310005 throughput 14498618.664op/s 14710910.500op/s ± 68355.590op/s 14718866.663op/s ± 47873.838op/s 14766490.404op/s 14808598.319op/s 14824286.516op/s 14830816.955op/s 0.76% -0.587 -0.024 0.46% 4833.470op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 44.663µs 45.099µs ± 0.176µs 45.111µs ± 0.136µs 45.236µs 45.343µs 45.422µs 45.442µs 0.73% -0.366 -0.560 0.39% 0.012µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 22006254.733op/s 22173803.020op/s ± 86752.759op/s 22167364.107op/s ± 66592.704op/s 22235295.206op/s 22336605.336op/s 22366809.882op/s 22390003.811op/s 1.00% 0.381 -0.545 0.39% 6134.346op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.029µs 6.037µs ± 0.008µs 6.035µs ± 0.002µs 6.038µs 6.044µs 6.080µs 6.081µs 0.76% 3.779 15.473 0.13% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 164442554.635op/s 165645127.635op/s ± 221837.615op/s 165688436.203op/s ± 59070.116op/s 165739606.617op/s 165821466.181op/s 165849636.043op/s 165866879.810op/s 0.11% -3.766 15.383 0.13% 15686.288op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.917µs 3.921µs 3.922µs 0.26% -0.347 8.747 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254968266.572op/s 255611063.206op/s ± 192016.905op/s 255637637.325op/s ± 91022.459op/s 255720118.797op/s 255819389.653op/s 255887317.193op/s 256845350.471op/s 0.47% 0.371 8.874 0.07% 13577.646op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.934µs 65.563µs ± 0.137µs 65.573µs ± 0.078µs 65.651µs 65.746µs 65.827µs 65.848µs 0.42% -1.006 2.430 0.21% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15186419.252op/s 15252670.276op/s ± 31855.626op/s 15250253.746op/s ± 18082.604op/s 15267524.842op/s 15306157.605op/s 15344087.787op/s 15400319.219op/s 0.98% 1.028 2.513 0.21% 2252.533op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 52.955µs 53.010µs ± 0.025µs 53.006µs ± 0.015µs 53.023µs 53.057µs 53.076µs 53.078µs 0.13% 0.591 -0.011 0.05% 0.002µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 18840208.714op/s 18864508.872op/s ± 8782.513op/s 18865625.888op/s ± 5326.437op/s 18870724.430op/s 18876178.268op/s 18879758.017op/s 18883793.928op/s 0.10% -0.589 -0.014 0.05% 621.017op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.916µs 3.920µs 3.922µs 0.26% -0.924 12.557 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254982225.037op/s 255638209.604op/s ± 174072.881op/s 255654966.379op/s ± 88173.612op/s 255733258.117op/s 255833688.498op/s 255922322.684op/s 256861656.843op/s 0.47% 0.952 12.723 0.07% 12308.811op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 49.748µs 49.815µs ± 0.035µs 49.810µs ± 0.024µs 49.837µs 49.878µs 49.903µs 49.960µs 0.30% 0.698 0.709 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 20015911.156op/s 20074224.843op/s ± 14286.218op/s 20076204.680op/s ± 9564.058op/s 20085156.066op/s 20093244.853op/s 20098543.921op/s 20101147.776op/s 0.12% -0.694 0.694 0.07% 1010.188op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 44.662µs 45.098µs ± 0.143µs 45.108µs ± 0.105µs 45.212µs 45.310µs 45.367µs 45.385µs 0.61% -0.326 -0.189 0.32% 0.010µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 22033834.044op/s 22174152.887op/s ± 70563.142op/s 22169208.078op/s ± 51530.075op/s 22224869.076op/s 22292494.921op/s 22363995.361op/s 22390620.307op/s 1.00% 0.342 -0.167 0.32% 4989.568op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.028µs 6.037µs ± 0.008µs 6.037µs ± 0.003µs 6.039µs 6.042µs 6.058µs 6.113µs 1.26% 6.653 54.808 0.14% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 163596848.001op/s 165634297.361op/s ± 223403.156op/s 165651737.367op/s ± 73354.688op/s 165732500.144op/s 165804746.320op/s 165859913.837op/s 165897069.128op/s 0.15% -6.602 54.196 0.13% 15796.989op/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.008%; +0.008%] None None None
credit_card/is_card_number/ throughput [255623024.969op/s; 255664504.466op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [77.527µs; 77.620µs] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12883541.586op/s; 12898976.990op/s] or [-0.060%; +0.060%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.022µs; 71.095µs] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/ 378282246310005 throughput [14065869.599op/s; 14080272.913op/s] or [-0.051%; +0.051%] None None None
credit_card/is_card_number/37828224631 execution_time [3.913µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255532563.871op/s; 255581244.368op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [67.934µs; 68.022µs] or [-0.065%; +0.065%] None None None
credit_card/is_card_number/378282246310005 throughput [14701437.072op/s; 14720383.927op/s] or [-0.064%; +0.064%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [45.075µs; 45.123µs] or [-0.054%; +0.054%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [22161779.922op/s; 22185826.118op/s] or [-0.054%; +0.054%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.036µs; 6.038µs] or [-0.019%; +0.019%] None None None
credit_card/is_card_number/x371413321323331 throughput [165614383.075op/s; 165675872.194op/s] or [-0.019%; +0.019%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255584451.510op/s; 255637674.903op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.544µs; 65.582µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15248255.393op/s; 15257085.159op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [53.006µs; 53.013µs] or [-0.006%; +0.006%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [18863291.700op/s; 18865726.044op/s] or [-0.006%; +0.006%] 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 [255614084.777op/s; 255662334.431op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [49.810µs; 49.820µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [20072244.910op/s; 20076204.775op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [45.078µs; 45.118µs] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [22164373.514op/s; 22183932.260op/s] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.039µs] or [-0.019%; +0.019%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165603335.832op/s; 165665258.889op/s] or [-0.019%; +0.019%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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 535.088µs 535.748µs ± 0.448µs 535.656µs ± 0.261µs 535.981µs 536.596µs 536.972µs 538.480µs 0.53% 1.718 6.171 0.08% 0.032µ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 [535.686µs; 535.810µs] or [-0.012%; +0.012%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.925ms 3.933ms ± 0.007ms 3.932ms ± 0.002ms 3.933ms 3.939ms 3.952ms 4.016ms 2.14% 8.018 84.122 0.19% 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.932ms; 3.934ms] or [-0.026%; +0.026%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.010µs 536.644µs ± 1.372µs 536.067µs ± 0.484µs 537.312µs 539.154µs 541.288µs 542.809µs 1.26% 1.587 2.709 0.26% 0.097µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1842267.246op/s 1863446.312op/s ± 4746.132op/s 1865437.746op/s ± 1685.803op/s 1866708.093op/s 1867943.423op/s 1868934.715op/s 1869123.120op/s 0.20% -1.570 2.624 0.25% 335.602op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 381.754µs 382.359µs ± 0.266µs 382.363µs ± 0.192µs 382.534µs 382.785µs 383.006µs 383.275µs 0.24% 0.280 -0.005 0.07% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2609092.984op/s 2615342.288op/s ± 1820.987op/s 2615319.232op/s ± 1310.720op/s 2616746.724op/s 2618071.377op/s 2618807.977op/s 2619490.031op/s 0.16% -0.276 -0.011 0.07% 128.763op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.315µs 189.634µs ± 0.184µs 189.614µs ± 0.094µs 189.709µs 189.991µs 190.160µs 190.923µs 0.69% 2.228 11.527 0.10% 0.013µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5237726.295op/s 5273309.897op/s ± 5111.148op/s 5273871.826op/s ± 2607.139op/s 5276392.490op/s 5279975.400op/s 5281615.444op/s 5282194.467op/s 0.16% -2.204 11.319 0.10% 361.413op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.536µs 36.639µs ± 0.048µs 36.634µs ± 0.026µs 36.661µs 36.718µs 36.774µs 36.905µs 0.74% 1.375 4.933 0.13% 0.003µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27096520.710op/s 27293583.302op/s ± 35470.549op/s 27296933.360op/s ± 19561.600op/s 27315652.980op/s 27340138.692op/s 27362441.890op/s 27370238.189op/s 0.27% -1.356 4.826 0.13% 2508.147op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.917µs 46.020µs ± 0.056µs 46.011µs ± 0.029µs 46.046µs 46.122µs 46.207µs 46.226µs 0.47% 1.053 1.491 0.12% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21632800.517op/s 21729734.339op/s ± 26460.948op/s 21734038.160op/s ± 13691.558op/s 21747593.085op/s 21765656.935op/s 21775524.596op/s 21778579.122op/s 0.20% -1.044 1.467 0.12% 1871.072op/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.453µs; 536.834µs] or [-0.035%; +0.035%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1862788.543op/s; 1864104.080op/s] or [-0.035%; +0.035%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [382.322µs; 382.396µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2615089.917op/s; 2615594.660op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [189.609µs; 189.660µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5272601.541op/s; 5274018.253op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.632µs; 36.645µs] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27288667.425op/s; 27298499.179op/s] or [-0.018%; +0.018%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.012µs; 46.028µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21726067.106op/s; 21733401.572op/s] or [-0.017%; +0.017%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.919µs 25.937µs ± 9.570µs 18.141µs ± 0.157µs 34.454µs 43.538µs 44.075µs 57.823µs 218.73% 0.706 -0.636 36.80% 0.677µ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.611µs; 27.264µs] or [-5.113%; +5.113%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.081µs 207.016µs ± 0.499µs 206.996µs ± 0.375µs 207.403µs 207.891µs 208.096µs 208.159µs 0.56% 0.172 -0.748 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 4804012.519op/s 4830574.527op/s ± 11630.003op/s 4831002.722op/s ± 8764.679op/s 4839537.769op/s 4848831.328op/s 4852085.167op/s 4852468.562op/s 0.44% -0.163 -0.753 0.24% 822.365op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 18.582µs 18.664µs ± 0.052µs 18.653µs ± 0.028µs 18.686µs 18.766µs 18.812µs 18.862µs 1.12% 1.050 1.048 0.28% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53015360.976op/s 53578391.995op/s ± 150136.312op/s 53610447.861op/s ± 81034.979op/s 53683977.665op/s 53775430.566op/s 53802633.829op/s 53814857.735op/s 0.38% -1.033 1.001 0.28% 10616.240op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.720µs 10.816µs ± 0.042µs 10.814µs ± 0.031µs 10.849µs 10.883µs 10.905µs 10.947µs 1.23% 0.115 -0.333 0.39% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 91351330.243op/s 92455884.470op/s ± 358437.617op/s 92472035.693op/s ± 265202.062op/s 92710184.120op/s 93031484.261op/s 93208817.180op/s 93281124.386op/s 0.87% -0.096 -0.346 0.39% 25345.367op/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.947µs; 207.085µ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 [4828962.721op/s; 4832186.334op/s] or [-0.033%; +0.033%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.657µs; 18.672µs] or [-0.039%; +0.039%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [53557584.546op/s; 53599199.444op/s] or [-0.039%; +0.039%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.810µs; 10.822µs] or [-0.054%; +0.054%] None None None
normalization/normalize_name/normalize_name/good throughput [92406208.464op/s; 92505560.477op/s] or [-0.054%; +0.054%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.121µs 160.983µs ± 0.332µs 160.940µs ± 0.143µs 161.095µs 161.444µs 162.242µs 163.804µs 1.78% 3.691 26.705 0.21% 0.023µ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 [160.937µs; 161.029µs] or [-0.029%; +0.029%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
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.769µs 34.292µs ± 0.752µs 33.991µs ± 0.123µs 34.088µs 35.841µs 35.896µs 37.569µs 10.53% 1.781 1.885 2.19% 0.053µ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.188µs; 34.397µs] or [-0.304%; +0.304%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 06429f1 1769639611 dsn/fix-mime
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 240.654ns 252.038ns ± 14.571ns 245.288ns ± 3.200ns 252.600ns 286.757ns 291.337ns 297.869ns 21.44% 1.612 1.175 5.77% 1.030ns 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 [250.019ns; 254.057ns] or [-0.801%; +0.801%] None None None

Baseline

Omitted due to size.

Copy link
Contributor

@morrisonlevi morrisonlevi left a comment

Choose a reason for hiding this comment

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

I didn't finish my review because I have to go pick my son from D&D club, but I thought I'd leave what I have so far.


fn try_from(mime: MimeType) -> std::result::Result<Self, Self::Error> {
match mime {
MimeType::Invalid => anyhow::bail!("Invalid MIME type"),
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't mind too much, but something that stood out to me:

  • For all prior releases, we didn't send mime types.
  • Now suddenly, it's an error to not send one?
  • Should we really fail, or do whatever we did before? Should exporter::MimeType be optional, and if it's None, we don't set it or whatever we did before? Then a MimeType.Invalid can map to None?
  • This match isn't exhaustive, because it's repr(C), I'd be fine with unrecognized, non-zero values being a failure (what is happening?!)

@danielsn danielsn added profiling Relates to the profiling* modules. AI Generated PR largely written by AI tools labels Jan 28, 2026
@dd-octo-sts
Copy link

dd-octo-sts bot commented Jan 28, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.44 MB 8.44 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 91.81 MB 91.82 MB +.01% (+9.87 KB) 🔍
aarch64-apple-darwin
Artifact Baseline Commit Change
/aarch64-apple-darwin/lib/libdatadog_profiling.a 62.80 MB 62.82 MB +.02% (+18.92 KB) 🔍
/aarch64-apple-darwin/lib/libdatadog_profiling.dylib 9.48 MB 9.48 MB +0% (+480 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 10.76 MB 10.76 MB +0% (+896 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 106.15 MB 106.17 MB +.02% (+25.73 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 25.26 MB 25.26 MB +.02% (+6.50 KB) 🔍
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 75.59 KB 75.59 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 167.23 MB 167.28 MB +.03% (+56.00 KB) 🔍
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 847.79 MB 848.06 MB +.03% (+275.62 KB) 🔍
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.61 MB 9.61 MB +0% (+512 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 75.59 KB 75.59 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 23.10 MB 23.10 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 48.39 MB 48.40 MB +.02% (+11.06 KB) 🔍
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 21.33 MB 21.34 MB +.02% (+6.00 KB) 🔍
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 76.76 KB 76.76 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 171.34 MB 171.41 MB +.04% (+72.00 KB) 🔍
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 834.55 MB 834.82 MB +.03% (+273.80 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.27 MB 7.27 MB +.02% (+2.00 KB) 🔍
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 76.76 KB 76.76 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 24.71 MB 24.71 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 44.10 MB 44.11 MB +.02% (+11.10 KB) 🔍
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 80.27 MB 80.28 MB +0% (+7.85 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 9.90 MB 9.91 MB +.03% (+4.00 KB) 🔍
x86_64-apple-darwin
Artifact Baseline Commit Change
/x86_64-apple-darwin/lib/libdatadog_profiling.a 64.68 MB 64.69 MB +.02% (+18.02 KB) 🔍
/x86_64-apple-darwin/lib/libdatadog_profiling.dylib 10.51 MB 10.51 MB +.04% (+4.47 KB) 🔍
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 100.11 MB 100.13 MB +.01% (+17.59 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.48 MB 11.48 MB +0% (+504 B) 👌

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

Labels

AI Generated PR largely written by AI tools profiling Relates to the profiling* modules.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants