Skip to content

refactor(libdd-crashtracker)!: avoid leaking Endpoint through the public API#1705

Open
hoolioh wants to merge 7 commits intomainfrom
julio/remove-common-as-external-dependency
Open

refactor(libdd-crashtracker)!: avoid leaking Endpoint through the public API#1705
hoolioh wants to merge 7 commits intomainfrom
julio/remove-common-as-external-dependency

Conversation

@hoolioh
Copy link
Contributor

@hoolioh hoolioh commented Mar 11, 2026

What does this PR do?

In order to avoid leaking libdd-common types to consumers this PR changes:

  • Introduce builder pattern for CrashtrackerConfiguration: Replace the positional new() constructor with CrashtrackerConfigurationBuilder.
  • The endpoint() getter is now pub(crate), and the builder accepts endpoint configuration as primitive types (&str, u64, bool) rather than libdd_common::Endpoint. The builder constructs the internal Endpoint type itself, so consumers of libdd-crashtracker no onger need to depend on libdd-common just to configure a crash report endpoint.
  • Update all callers: libdd-crashtracker-ffi, datadog-sidecar, and internal tests are updated to use the new builder API. The FFI layer's Config.endpoint field is changed from Option<&Endpoint> to a CharSlice (URL string), consistent with C FFI conventions. The sidecar passes all endpoint fields individually through the builder to avoid data loss from the JSON-deserialized crashtracker_endpoint config (which may include api_key, timeout_ms, test_token, and use_system_resolver).

Motivation

CrashtrackerConfiguration previously required consumers to import libdd-common directly in order to construct an Endpoint value for the crash report destination. This created an undesirable transitive dependency: any downstream project that wanted to use libdd-crashtracker had to explicitly add libdd-common to its Cargo.toml. This risks version conflicts if the consumer and libdd-crashtracker end up pulling in different versions of libdd-common.

Additional Notes

Anything else we should know when reviewing?

How to test the change?

Describe here in detail how the change can be validated.

@github-actions
Copy link

github-actions bot commented Mar 11, 2026

📚 Documentation Check Results

⚠️ 1053 documentation warning(s) found

📦 libdd-crashtracker - 1053 warning(s)


Updated: 2026-03-12 12:23:47 UTC | Commit: 56da67c | missing-docs job results

@github-actions
Copy link

github-actions bot commented Mar 11, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/julio/remove-common-as-external-dependency

Summary by Rule

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

Annotation Counts by File

File Base Branch PR Branch Change
datadog-sidecar/src/unix.rs 4 4 No change (0%)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 28 28 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-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 208 208 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 Mar 11, 2026

🔒 Cargo Deny Results

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

📦 libdd-crashtracker - 1 error(s)

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

advisories FAILED, bans ok, sources ok

Updated: 2026-03-12 12:26:16 UTC | Commit: 56da67c | dependency-check job results

@pr-commenter
Copy link

pr-commenter bot commented Mar 11, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-12 11:43:25

Comparing candidate commit 0f3144a in PR branch julio/remove-common-as-external-dependency with baseline commit bc8f764 in branch ``.

Found 7 performance improvements and 16 performance regressions! Performance is the same for 35 metrics, 2 unstable metrics.

Explanation

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

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

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

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

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

More details about the CI and significant changes

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

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

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

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

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

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

scenario:credit_card/is_card_number/ 378282246310005

  • 🟥 execution_time [+5.008µs; +5.114µs] or [+7.374%; +7.530%]
  • 🟥 throughput [-1030752.300op/s; -1010846.864op/s] or [-7.000%; -6.865%]

scenario:credit_card/is_card_number/378282246310005

  • 🟥 execution_time [+5.115µs; +5.238µs] or [+7.904%; +8.095%]
  • 🟥 throughput [-1156704.259op/s; -1131512.653op/s] or [-7.485%; -7.322%]

scenario:credit_card/is_card_number/37828224631000521389798

  • 🟥 execution_time [+6.478µs; +6.505µs] or [+14.165%; +14.222%]
  • 🟥 throughput [-2723806.830op/s; -2711670.717op/s] or [-12.457%; -12.402%]

scenario:credit_card/is_card_number/x371413321323331

  • 🟩 execution_time [-588.431ns; -583.096ns] or [-8.881%; -8.800%]
  • 🟩 throughput [+14569584.447op/s; +14702422.750op/s] or [+9.654%; +9.742%]

scenario:credit_card/is_card_number_no_luhn/ 378282246310005

  • 🟥 execution_time [+4.557µs; +4.598µs] or [+8.525%; +8.602%]
  • 🟥 throughput [-1481705.498op/s; -1469221.516op/s] or [-7.921%; -7.854%]

scenario:credit_card/is_card_number_no_luhn/378282246310005

  • 🟥 execution_time [+4.720µs; +4.798µs] or [+9.398%; +9.553%]
  • 🟥 throughput [-1735515.806op/s; -1709762.482op/s] or [-8.718%; -8.588%]

scenario:credit_card/is_card_number_no_luhn/37828224631000521389798

  • 🟥 execution_time [+6.517µs; +6.547µs] or [+14.262%; +14.326%]
  • 🟥 throughput [-2743849.937op/s; -2730211.742op/s] or [-12.538%; -12.476%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟩 execution_time [-594.526ns; -590.256ns] or [-8.969%; -8.904%]
  • 🟩 throughput [+14754034.737op/s; +14854568.157op/s] or [+9.780%; +9.847%]

scenario:normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo...

  • 🟩 execution_time [-20.218µs; -20.028µs] or [-9.813%; -9.721%]
  • 🟩 throughput [+523011.884op/s; +527565.910op/s] or [+10.776%; +10.870%]

scenario:normalization/normalize_name/normalize_name/good

  • 🟩 throughput [+3743672.382op/s; +3916165.811op/s] or [+4.047%; +4.233%]

scenario:normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000...

  • 🟥 execution_time [+40.505µs; +40.748µs] or [+8.196%; +8.245%]
  • 🟥 throughput [-154154.890op/s; -153239.695op/s] or [-7.619%; -7.573%]

scenario:normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters

  • 🟥 execution_time [+22.274µs; +22.370µs] or [+13.271%; +13.328%]
  • 🟥 throughput [-701038.505op/s; -697780.540op/s] or [-11.766%; -11.711%]

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 0f3144a 1773314627 julio/remove-common-as-external-dependency
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.132ms 4.137ms ± 0.007ms 4.137ms ± 0.001ms 4.138ms 4.141ms 4.144ms 4.226ms 2.15% 11.755 152.901 0.16% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.136ms; 4.138ms] or [-0.022%; +0.022%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.415ns 251.315ns ± 13.521ns 244.482ns ± 3.104ns 253.799ns 281.296ns 290.621ns 291.277ns 19.14% 1.424 0.814 5.37% 0.956ns 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.441ns; 253.189ns] or [-0.746%; +0.746%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 533.968µs 534.840µs ± 0.645µs 534.719µs ± 0.260µs 534.988µs 535.724µs 537.534µs 538.173µs 0.65% 2.585 8.884 0.12% 0.046µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1858138.757op/s 1869719.310op/s ± 2249.129op/s 1870140.419op/s ± 907.984op/s 1871014.464op/s 1871979.238op/s 1872720.694op/s 1872772.640op/s 0.14% -2.570 8.795 0.12% 159.037op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 385.483µs 386.167µs ± 0.393µs 386.148µs ± 0.215µs 386.343µs 386.676µs 387.007µs 389.865µs 0.96% 4.247 37.451 0.10% 0.028µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2564990.146op/s 2589556.480op/s ± 2624.625op/s 2589682.622op/s ± 1440.502op/s 2591238.082op/s 2592595.613op/s 2593648.294op/s 2594146.897op/s 0.17% -4.182 36.658 0.10% 185.589op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.797µs 190.160µs ± 0.170µs 190.141µs ± 0.103µs 190.258µs 190.436µs 190.641µs 191.006µs 0.45% 0.954 2.722 0.09% 0.012µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5235449.965op/s 5258732.371op/s ± 4692.525op/s 5259261.889op/s ± 2853.622op/s 5261863.027op/s 5265744.380op/s 5266456.765op/s 5268780.238op/s 0.18% -0.944 2.677 0.09% 331.812op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.439µs 37.606µs ± 0.077µs 37.603µs ± 0.056µs 37.664µs 37.734µs 37.766µs 37.806µs 0.54% 0.103 -0.685 0.21% 0.005µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26450494.750op/s 26591645.255op/s ± 54765.182op/s 26593795.446op/s ± 39836.972op/s 26630479.862op/s 26677948.689op/s 26693426.613op/s 26710433.620op/s 0.44% -0.095 -0.689 0.21% 3872.483op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.787µs 45.909µs ± 0.106µs 45.893µs ± 0.034µs 45.936µs 46.002µs 46.053µs 47.202µs 2.85% 9.087 107.603 0.23% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21185614.607op/s 21782160.791op/s ± 49404.852op/s 21789744.728op/s ± 15962.708op/s 21801679.170op/s 21821538.040op/s 21829015.903op/s 21840143.625op/s 0.23% -8.901 104.562 0.23% 3493.451op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [534.751µs; 534.930µs] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1869407.603op/s; 1870031.018op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [386.112µs; 386.221µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2589192.732op/s; 2589920.228op/s] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.137µs; 190.184µs] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5258082.033op/s; 5259382.710op/s] or [-0.012%; +0.012%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.595µs; 37.617µs] or [-0.029%; +0.029%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26584055.327op/s; 26599235.182op/s] or [-0.029%; +0.029%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.895µs; 45.924µs] or [-0.032%; +0.032%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21775313.753op/s; 21789007.828op/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 0f3144a 1773314627 julio/remove-common-as-external-dependency
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 715.173µs 716.328µs ± 0.477µs 716.278µs ± 0.309µs 716.609µs 717.202µs 717.468µs 718.014µs 0.24% 0.401 0.268 0.07% 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 [716.262µs; 716.394µs] or [-0.009%; +0.009%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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 32.910µs 33.894µs ± 1.323µs 33.069µs ± 0.070µs 35.631µs 36.117µs 36.255µs 36.741µs 11.10% 0.927 -1.083 3.89% 0.094µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [33.711µs; 34.077µs] or [-0.541%; +0.541%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.389µs 146.355µs ± 1.876µs 146.036µs ± 0.483µs 146.572µs 147.989µs 155.060µs 165.213µs 13.13% 6.512 55.448 1.28% 0.133µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.095µs; 146.615µs] or [-0.178%; +0.178%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.491µs 185.916µs ± 0.199µs 185.919µs ± 0.148µs 186.057µs 186.262µs 186.347µs 186.452µs 0.29% 0.189 -0.555 0.11% 0.014µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5363304.911op/s 5378783.994op/s ± 5750.785op/s 5378697.990op/s ± 4277.140op/s 5383313.451op/s 5387402.454op/s 5389861.141op/s 5391088.423op/s 0.23% -0.185 -0.557 0.11% 406.642op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.919µs 18.032µs ± 0.062µs 18.036µs ± 0.033µs 18.064µs 18.105µs 18.124µs 18.612µs 3.20% 3.910 36.255 0.34% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53727418.682op/s 55456575.753op/s ± 188563.469op/s 55445092.469op/s ± 100576.048op/s 55563350.508op/s 55729944.632op/s 55775555.793op/s 55807680.169op/s 0.65% -3.680 33.584 0.34% 13333.451op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.251µs 10.381µs ± 0.048µs 10.385µs ± 0.034µs 10.413µs 10.449µs 10.496µs 10.560µs 1.68% 0.081 0.293 0.47% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 94698211.369op/s 96336439.435op/s ± 449045.681op/s 96288807.760op/s ± 311155.918op/s 96680799.443op/s 97050366.864op/s 97326535.188op/s 97547066.460op/s 1.31% -0.050 0.248 0.46% 31752.325op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [185.888µs; 185.943µs] or [-0.015%; +0.015%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5377986.990op/s; 5379580.997op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.024µs; 18.041µs] or [-0.048%; +0.048%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55430442.670op/s; 55482708.836op/s] or [-0.047%; +0.047%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.374µs; 10.387µs] or [-0.065%; +0.065%] None None None
normalization/normalize_name/normalize_name/good throughput [96274206.023op/s; 96398672.848op/s] or [-0.065%; +0.065%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2598 execution_time 3.426ms 3.466ms ± 0.029ms 3.457ms ± 0.010ms 3.470ms 3.539ms 3.560ms 3.604ms 4.25% 2.080 4.505 0.83% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2598 execution_time [3.462ms; 3.470ms] or [-0.115%; +0.115%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.972µs 25.771µs ± 9.657µs 18.209µs ± 0.133µs 34.394µs 42.763µs 45.760µs 67.804µs 272.38% 0.910 0.290 37.38% 0.683µ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.433µs; 27.109µs] or [-5.193%; +5.193%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.995ms 14.057ms ± 0.032ms 14.052ms ± 0.013ms 14.066ms 14.108ms 14.176ms 14.220ms 1.19% 2.167 6.972 0.23% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.052ms; 14.061ms] 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 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.429µs 2.451µs ± 0.019µs 2.446µs ± 0.005µs 2.451µs 2.506µs 2.513µs 2.534µs 3.59% 2.282 4.844 0.78% 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.448µs; 2.454µs] or [-0.108%; +0.108%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.116ns 190.777ns ± 2.159ns 190.514ns ± 1.539ns 192.032ns 194.602ns 196.177ns 204.011ns 7.08% 1.643 6.076 1.13% 0.153ns 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.477ns; 191.076ns] or [-0.157%; +0.157%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.646ms 48.977ms ± 1.297ms 48.780ms ± 0.078ms 48.905ms 49.135ms 58.683ms 60.337ms 23.69% 7.914 61.584 2.64% 0.092ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [48.797ms; 49.157ms] or [-0.367%; +0.367%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 85.358µs 85.553µs ± 0.161µs 85.530µs ± 0.051µs 85.589µs 85.716µs 85.951µs 87.360µs 2.14% 7.488 78.506 0.19% 0.011µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [85.531µs; 85.576µs] or [-0.026%; +0.026%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.932µs 5.001µs ± 0.026µs 5.002µs ± 0.022µs 5.024µs 5.033µs 5.037µs 5.041µs 0.78% -0.394 -0.950 0.53% 0.002µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [4.997µs; 5.004µs] or [-0.073%; +0.073%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.651ms 10.682ms ± 0.014ms 10.681ms ± 0.008ms 10.689ms 10.700ms 10.722ms 10.766ms 0.79% 1.590 7.396 0.13% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.680ms; 10.684ms] or [-0.018%; +0.018%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.280µs 3.157µs ± 1.416µs 2.988µs ± 0.024µs 3.009µs 3.392µs 13.711µs 15.085µs 404.84% 7.558 57.546 44.73% 0.100µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [2.961µs; 3.353µs] or [-6.215%; +6.215%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.914µs ± 0.003µs 3.913µs ± 0.002µs 3.916µs 3.919µs 3.921µs 3.921µs 0.21% -0.294 3.000 0.08% 0.000µs 1 200
credit_card/is_card_number/ throughput 255022094.432op/s 255514577.626op/s ± 199714.137op/s 255550525.419op/s ± 128045.016op/s 255642161.784op/s 255772889.695op/s 255824488.292op/s 256581346.677op/s 0.40% 0.306 3.054 0.08% 14121.922op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 78.951µs 79.734µs ± 0.395µs 79.697µs ± 0.264µs 79.950µs 80.468µs 80.866µs 81.127µs 1.79% 0.670 0.400 0.49% 0.028µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12326284.981op/s 12542002.490op/s ± 61890.723op/s 12547500.011op/s ± 41496.724op/s 12590724.925op/s 12627806.494op/s 12650569.224op/s 12666157.876op/s 0.95% -0.641 0.335 0.49% 4376.335op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.315µs 72.977µs ± 0.376µs 72.947µs ± 0.245µs 73.194µs 73.628µs 74.023µs 74.560µs 2.21% 0.817 1.085 0.51% 0.027µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13411962.421op/s 13703218.190op/s ± 70354.467op/s 13708623.157op/s ± 46080.142op/s 13753575.524op/s 13806650.351op/s 13821075.775op/s 13828457.583op/s 0.87% -0.780 0.968 0.51% 4974.812op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.913µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.918µs 3.919µs 3.919µs 0.17% -1.605 15.534 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255192228.338op/s 255588771.243op/s ± 177635.162op/s 255619363.170op/s ± 82367.672op/s 255689363.438op/s 255771442.319op/s 255840915.953op/s 256943687.011op/s 0.52% 1.636 15.796 0.07% 12560.703op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.136µs 69.885µs ± 0.442µs 69.820µs ± 0.320µs 70.178µs 70.648µs 70.921µs 71.670µs 2.65% 0.734 0.624 0.63% 0.031µs 1 200
credit_card/is_card_number/378282246310005 throughput 13952935.392op/s 14309744.695op/s ± 90000.381op/s 14322493.157op/s ± 65744.268op/s 14384919.929op/s 14430247.892op/s 14442232.301op/s 14464225.500op/s 0.99% -0.695 0.495 0.63% 6363.988op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.147µs 52.227µs ± 0.039µs 52.221µs ± 0.030µs 52.257µs 52.293µs 52.315µs 52.348µs 0.24% 0.339 -0.464 0.07% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19102903.761op/s 19147282.006op/s ± 14385.823op/s 19149500.852op/s ± 11070.774op/s 19158112.702op/s 19168346.064op/s 19173932.904op/s 19176543.252op/s 0.14% -0.336 -0.468 0.07% 1017.231op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.030µs 6.040µs ± 0.013µs 6.037µs ± 0.002µs 6.039µs 6.070µs 6.110µs 6.130µs 1.54% 4.127 20.101 0.21% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 163122013.493op/s 165557933.718op/s ± 352499.361op/s 165639761.831op/s ± 63761.115op/s 165708145.279op/s 165784013.625op/s 165818732.989op/s 165849686.703op/s 0.13% -4.095 19.773 0.21% 24925.469op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.893µs 3.913µs ± 0.003µs 3.913µs ± 0.001µs 3.914µs 3.918µs 3.920µs 3.921µs 0.21% -1.403 13.250 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255011128.303op/s 255555324.469op/s ± 176278.576op/s 255559148.872op/s ± 90255.378op/s 255650701.928op/s 255789337.828op/s 255843660.645op/s 256840462.381op/s 0.50% 1.431 13.456 0.07% 12464.778op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.174µs 64.406µs ± 0.148µs 64.374µs ± 0.085µs 64.486µs 64.701µs 64.772µs 64.942µs 0.88% 1.020 0.810 0.23% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15398454.252op/s 15526588.052op/s ± 35508.597op/s 15534214.156op/s ± 20583.249op/s 15550828.281op/s 15572852.315op/s 15578867.515op/s 15582737.443op/s 0.31% -1.008 0.775 0.23% 2510.837op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 57.814µs 58.035µs ± 0.144µs 58.003µs ± 0.088µs 58.128µs 58.285µs 58.459µs 58.563µs 0.97% 1.017 0.935 0.25% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17075484.697op/s 17231132.834op/s ± 42561.998op/s 17240396.502op/s ± 26298.634op/s 17263965.358op/s 17284431.222op/s 17289376.153op/s 17296699.790op/s 0.33% -1.003 0.886 0.25% 3009.588op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.895µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.917µs 3.919µs 3.926µs 0.35% -0.260 10.805 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254733134.913op/s 255600213.491op/s ± 170295.772op/s 255626162.383op/s ± 82481.078op/s 255698376.315op/s 255774860.190op/s 255854246.087op/s 256707371.066op/s 0.42% 0.286 10.897 0.07% 12041.730op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.571µs 54.990µs ± 0.279µs 54.959µs ± 0.192µs 55.135µs 55.537µs 55.721µs 55.850µs 1.62% 0.761 -0.046 0.51% 0.020µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17904949.705op/s 18185750.803op/s ± 92000.057op/s 18195271.145op/s ± 63947.152op/s 18265417.220op/s 18296356.212op/s 18318517.064op/s 18324793.677op/s 0.71% -0.740 -0.089 0.50% 6505.386op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.151µs 52.228µs ± 0.038µs 52.223µs ± 0.022µs 52.245µs 52.292µs 52.340µs 52.467µs 0.47% 1.740 6.977 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19059642.884op/s 19146983.574op/s ± 14051.951op/s 19148712.090op/s ± 8033.430op/s 19156676.697op/s 19164628.229op/s 19166649.035op/s 19175099.216op/s 0.14% -1.727 6.882 0.07% 993.623op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.030µs 6.036µs ± 0.006µs 6.035µs ± 0.002µs 6.037µs 6.043µs 6.069µs 6.080µs 0.73% 4.346 24.211 0.10% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 164485129.284op/s 165663367.229op/s ± 161745.758op/s 165692311.877op/s ± 49761.748op/s 165740084.245op/s 165799602.472op/s 165822680.927op/s 165842525.066op/s 0.09% -4.325 24.012 0.10% 11437.152op/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.913µs; 3.914µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ throughput [255486899.167op/s; 255542256.084op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.679µs; 79.789µs] or [-0.069%; +0.069%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12533425.031op/s; 12550579.949op/s] or [-0.068%; +0.068%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.925µs; 73.030µs] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13693467.737op/s; 13712968.642op/s] or [-0.071%; +0.071%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255564152.718op/s; 255613389.768op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.824µs; 69.946µs] or [-0.088%; +0.088%] None None None
credit_card/is_card_number/378282246310005 throughput [14297271.508op/s; 14322217.883op/s] or [-0.087%; +0.087%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.221µs; 52.232µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19145288.269op/s; 19149275.743op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.038µs; 6.042µs] or [-0.030%; +0.030%] None None None
credit_card/is_card_number/x371413321323331 throughput [165509080.696op/s; 165606786.739op/s] or [-0.030%; +0.030%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255530893.954op/s; 255579754.984op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.386µs; 64.426µs] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15521666.902op/s; 15531509.202op/s] or [-0.032%; +0.032%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.015µs; 58.055µs] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17225234.151op/s; 17237031.518op/s] or [-0.034%; +0.034%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255576612.134op/s; 255623814.847op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.951µs; 55.028µs] or [-0.070%; +0.070%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18173000.480op/s; 18198501.126op/s] or [-0.070%; +0.070%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.222µs; 52.233µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19145036.109op/s; 19148931.039op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.037µs] or [-0.014%; +0.014%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165640950.822op/s; 165685783.635op/s] or [-0.014%; +0.014%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 0f3144a 1773314627 julio/remove-common-as-external-dependency
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.778µs 161.863µs ± 0.364µs 161.804µs ± 0.126µs 161.937µs 162.276µs 162.863µs 165.011µs 1.98% 4.100 29.804 0.22% 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.813µs; 161.914µs] or [-0.031%; +0.031%] None None None

Baseline

Omitted due to size.

@hoolioh hoolioh force-pushed the julio/remove-common-as-external-dependency branch from e6f8387 to 913c7d9 Compare March 11, 2026 17:44
@hoolioh hoolioh force-pushed the julio/remove-common-as-external-dependency branch from 112b573 to b74e52a Compare March 12, 2026 08:40
@codecov-commenter
Copy link

codecov-commenter commented Mar 12, 2026

Codecov Report

❌ Patch coverage is 83.58209% with 66 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.37%. Comparing base (3f3efef) to head (a15aa94).
⚠️ Report is 11 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1705      +/-   ##
==========================================
+ Coverage   71.03%   71.37%   +0.34%     
==========================================
  Files         427      430       +3     
  Lines       62962    63780     +818     
==========================================
+ Hits        44722    45520     +798     
- Misses      18240    18260      +20     
Components Coverage Δ
libdd-crashtracker 64.02% <92.30%> (+1.59%) ⬆️
libdd-crashtracker-ffi 17.26% <0.00%> (-0.23%) ⬇️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 88.32% <ø> (+0.30%) ⬆️
libdd-data-pipeline-ffi 76.94% <ø> (+1.22%) ⬆️
libdd-common 79.73% <ø> (ø)
libdd-common-ffi 73.40% <ø> (ø)
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.35% <ø> (ø)
libdd-profiling 81.59% <ø> (-0.02%) ⬇️
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 32.55% <0.00%> (+0.08%) ⬆️
datdog-sidecar-ffi 8.35% <ø> (+0.61%) ⬆️
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 91.80% <ø> (-2.90%) ⬇️
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 89.08% <ø> (ø)
datadog-tracer-flare 88.95% <ø> (ø)
libdd-log 74.69% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hoolioh hoolioh changed the title fix(libdd-crashtracker): avoid leaking Endpoint through the public API refactor(libdd-crashtracker)!: avoid leaking Endpoint through the public API Mar 12, 2026
@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 12, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.28 MB 100.30 MB +.01% (+17.42 KB) 🔍
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.63 MB 8.63 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.21 MB 11.22 MB +0% (+736 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 116.94 MB 116.98 MB +.03% (+40.53 KB) 🔍
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.16 MB 27.16 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.03 MB 186.01 MB -0% (-16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.14 MB 917.14 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.93 MB 9.93 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.26 KB 76.26 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.77 MB 24.77 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.43 MB 51.43 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.97 MB 22.97 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.23 MB 190.23 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.80 MB 900.80 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.53 MB 7.53 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.44 KB 77.44 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.51 MB 26.51 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.05 MB 47.05 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 87.50 MB 87.51 MB +.01% (+16.28 KB) 🔍
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.21 MB 10.21 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 109.81 MB 109.86 MB +.03% (+44.15 KB) 🔍
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.95 MB 11.95 MB +0% (+624 B) 👌

@hoolioh hoolioh force-pushed the julio/remove-common-as-external-dependency branch from 0f3144a to 853eaf8 Compare March 12, 2026 12:19
@hoolioh hoolioh force-pushed the julio/remove-common-as-external-dependency branch from 853eaf8 to a15aa94 Compare March 12, 2026 12:22
@hoolioh hoolioh marked this pull request as ready for review March 12, 2026 13:54
@hoolioh hoolioh requested review from a team as code owners March 12, 2026 13:54
.resolve_frames(crashtracker::StacktraceCollection::EnabledWithSymbolsInReceiver)
.signals(crashtracker::default_signals())
.timeout(TEST_COLLECTOR_TIMEOUT)
.unix_socket_path("".to_string())
Copy link
Contributor

Choose a reason for hiding this comment

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

This is surprising

true,
)?;
let mut config = CrashtrackerConfiguration::builder()
.create_alt_stack(true)
Copy link
Contributor

Choose a reason for hiding this comment

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

I ❤️ how there are in alphabetical order

unix_socket_path,
demangle_names,
)
let mut builder = Self::builder()
Copy link
Contributor

Choose a reason for hiding this comment

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

in other places we sort these

Comment on lines 134 to +164
@@ -151,18 +152,16 @@ mod tests {
stdout_filename,
)
.unwrap();
let config = CrashtrackerConfiguration::new(
vec![],
create_alt_stack,
use_alt_stack,
endpoint,
resolve_frames,
default_signals(),
Some(timeout),
None,
true,
)
.unwrap();
let config = CrashtrackerConfigurationBuilder::default()
.create_alt_stack(create_alt_stack)
.use_alt_stack(use_alt_stack)
.endpoint_url(endpoint_url)
.resolve_frames(resolve_frames)
.signals(default_signals())
.timeout(timeout)
.demangle_names(true)
.build()
.unwrap();
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure we need the temp variables anymore in this format

Copy link
Contributor

@danielsn danielsn left a comment

Choose a reason for hiding this comment

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

LGTM, in fact looks cleaner than the positional constructor we had before. A few small comments

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants