Skip to content

fix(libdd-crashtracker-ffi)!: add missing fields for endpoint configuration#1758

Open
hoolioh wants to merge 2 commits intomainfrom
julio/add-endpoint-configuration-in-ffi
Open

fix(libdd-crashtracker-ffi)!: add missing fields for endpoint configuration#1758
hoolioh wants to merge 2 commits intomainfrom
julio/add-endpoint-configuration-in-ffi

Conversation

@hoolioh
Copy link
Contributor

@hoolioh hoolioh commented Mar 18, 2026

What does this PR do?

Previous PR (#1705) missed some fields for Endpoint configuration on the FFI layer. This PR solves that issue.

@hoolioh hoolioh changed the title fix(libdd-crashtracker-ffi):add missing fields for endpoint configura… fix(libdd-crashtracker-ffi):add missing fields for endpoint configuration Mar 18, 2026
@hoolioh hoolioh requested a review from bwoebi March 18, 2026 10:24
@hoolioh hoolioh changed the title fix(libdd-crashtracker-ffi):add missing fields for endpoint configuration fix(libdd-crashtracker-ffi): add missing fields for endpoint configuration Mar 18, 2026
@hoolioh hoolioh changed the title fix(libdd-crashtracker-ffi): add missing fields for endpoint configuration fix(libdd-crashtracker-ffi)!: add missing fields for endpoint configuration Mar 18, 2026
@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/julio/add-endpoint-configuration-in-ffi

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 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.

@codecov-commenter
Copy link

codecov-commenter commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.54%. Comparing base (4dd532f) to head (28312a2).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1758      +/-   ##
==========================================
+ Coverage   71.51%   71.54%   +0.03%     
==========================================
  Files         430      430              
  Lines       64075    64259     +184     
==========================================
+ Hits        45821    45977     +156     
- Misses      18254    18282      +28     
Components Coverage Δ
libdd-crashtracker 65.00% <100.00%> (+1.07%) ⬆️
libdd-crashtracker-ffi 34.80% <100.00%> (+16.60%) ⬆️
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.92% <ø> (ø)
libdd-data-pipeline-ffi 74.85% <ø> (ø)
libdd-common 79.87% <ø> (+0.14%) ⬆️
libdd-common-ffi 73.87% <ø> (+0.46%) ⬆️
libdd-telemetry 62.48% <ø> (ø)
libdd-telemetry-ffi 16.75% <ø> (ø)
libdd-dogstatsd-client 82.64% <ø> (ø)
datadog-ipc 80.35% <ø> (-0.12%) ⬇️
libdd-profiling 81.48% <ø> (-0.12%) ⬇️
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 33.10% <ø> (ø)
datdog-sidecar-ffi 10.79% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 91.80% <ø> (ø)
libdd-trace-protobuf 68.25% <ø> (ø)
libdd-trace-utils 88.95% <ø> (ø)
datadog-tracer-flare 90.46% <ø> (ø)
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.

@pr-commenter
Copy link

pr-commenter bot commented Mar 18, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-18 17:26:56

Comparing candidate commit 28312a2 in PR branch julio/add-endpoint-configuration-in-ffi with baseline commit 6e12752 in branch main.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 59 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 ----------------------------------'

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 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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_timestamped_x1000 execution_time 4.181ms 4.188ms ± 0.008ms 4.187ms ± 0.002ms 4.189ms 4.193ms 4.197ms 4.291ms 2.48% 11.038 138.690 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_timestamped_x1000 execution_time [4.187ms; 4.189ms] or [-0.026%; +0.026%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.411µs 146.433µs ± 1.583µs 146.141µs ± 0.473µs 146.717µs 147.934µs 152.639µs 161.108µs 10.24% 5.349 40.571 1.08% 0.112µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [146.213µs; 146.652µs] or [-0.150%; +0.150%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.449µs 2.477µs ± 0.022µs 2.469µs ± 0.008µs 2.481µs 2.524µs 2.530µs 2.588µs 4.81% 1.673 3.007 0.88% 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.474µs; 2.480µs] or [-0.122%; +0.122%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 746.908µs 747.639µs ± 0.472µs 747.562µs ± 0.276µs 747.903µs 748.483µs 749.040µs 749.229µs 0.22% 1.018 0.885 0.06% 0.033µ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 [747.573µs; 747.704µ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 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.116ms 14.175ms ± 0.028ms 14.172ms ± 0.014ms 14.186ms 14.224ms 14.269ms 14.340ms 1.19% 1.855 7.140 0.19% 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.171ms; 14.178ms] or [-0.027%; +0.027%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 495.234µs 496.411µs ± 0.958µs 496.209µs ± 0.317µs 496.572µs 497.146µs 500.310µs 504.352µs 1.64% 4.446 27.181 0.19% 0.068µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1982741.993op/s 2014467.227op/s ± 3855.403op/s 2015280.980op/s ± 1288.951op/s 2016325.855op/s 2017388.556op/s 2017733.648op/s 2019249.052op/s 0.20% -4.392 26.549 0.19% 272.618op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 369.940µs 370.491µs ± 0.307µs 370.463µs ± 0.182µs 370.665µs 371.003µs 371.241µs 372.110µs 0.44% 1.175 3.862 0.08% 0.022µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2687374.562op/s 2699125.840op/s ± 2236.737op/s 2699323.948op/s ± 1326.592op/s 2700561.849op/s 2702304.486op/s 2703102.292op/s 2703139.461op/s 0.14% -1.164 3.805 0.08% 158.161op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 168.699µs 169.114µs ± 0.161µs 169.087µs ± 0.096µs 169.205µs 169.394µs 169.576µs 169.715µs 0.37% 0.746 0.898 0.09% 0.011µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5892227.864op/s 5913167.915op/s ± 5610.903op/s 5914123.760op/s ± 3366.435op/s 5917007.095op/s 5921015.064op/s 5923857.521op/s 5927715.780op/s 0.23% -0.739 0.884 0.09% 396.751op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.857µs 37.044µs ± 0.118µs 37.036µs ± 0.109µs 37.151µs 37.223µs 37.266µs 37.292µs 0.69% 0.157 -1.435 0.32% 0.008µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26815308.040op/s 26995095.542op/s ± 85941.661op/s 27000815.286op/s ± 79722.241op/s 27078075.055op/s 27105543.397op/s 27123902.642op/s 27131672.117op/s 0.48% -0.152 -1.439 0.32% 6076.993op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 46.159µs 46.276µs ± 0.053µs 46.272µs ± 0.031µs 46.306µs 46.376µs 46.429µs 46.450µs 0.38% 0.679 0.853 0.11% 0.004µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21528754.433op/s 21609300.735op/s ± 24541.561op/s 21611575.160op/s ± 14691.905op/s 21624930.047op/s 21645847.618op/s 21655003.445op/s 21664331.868op/s 0.24% -0.671 0.838 0.11% 1735.350op/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 [496.278µs; 496.544µs] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2013932.905op/s; 2015001.549op/s] or [-0.027%; +0.027%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [370.448µs; 370.533µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2698815.850op/s; 2699435.830op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [169.092µs; 169.136µs] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5912390.297op/s; 5913945.532op/s] or [-0.013%; +0.013%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.028µs; 37.060µs] or [-0.044%; +0.044%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26983184.854op/s; 27007006.229op/s] or [-0.044%; +0.044%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [46.269µs; 46.284µs] or [-0.016%; +0.016%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21605899.511op/s; 21612701.960op/s] or [-0.016%; +0.016%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.162µs 3.140µs ± 1.418µs 2.969µs ± 0.029µs 2.995µs 3.349µs 13.642µs 15.050µs 406.83% 7.539 57.356 45.06% 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.943µs; 3.336µs] or [-6.261%; +6.261%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.404ms 3.443ms ± 0.031ms 3.433ms ± 0.010ms 3.447ms 3.521ms 3.547ms 3.562ms 3.77% 1.903 3.281 0.89% 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.438ms; 3.447ms] or [-0.124%; +0.124%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.984µs 5.070µs ± 0.065µs 5.053µs ± 0.036µs 5.091µs 5.185µs 5.188µs 5.190µs 2.71% 0.826 -0.846 1.28% 0.005µ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.061µs; 5.079µs] or [-0.178%; +0.178%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 12.976ms 13.006ms ± 0.016ms 13.005ms ± 0.009ms 13.015ms 13.032ms 13.052ms 13.113ms 0.83% 1.853 8.874 0.12% 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 [13.004ms; 13.009ms] or [-0.017%; +0.017%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.993µs 25.840µs ± 9.721µs 18.294µs ± 0.159µs 34.187µs 44.082µs 47.567µs 69.398µs 279.35% 1.005 0.723 37.52% 0.687µ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.493µs; 27.187µs] or [-5.214%; +5.214%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 236.747ns 248.876ns ± 15.339ns 241.347ns ± 2.586ns 252.224ns 289.383ns 296.191ns 300.530ns 24.52% 1.882 2.611 6.15% 1.085ns 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 [246.750ns; 251.002ns] or [-0.854%; +0.854%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.806µs 186.276µs ± 0.199µs 186.264µs ± 0.130µs 186.410µs 186.629µs 186.748µs 186.824µs 0.30% 0.305 -0.112 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 5352626.340op/s 5368382.813op/s ± 5740.147op/s 5368738.013op/s ± 3757.861op/s 5372174.874op/s 5377884.663op/s 5378956.558op/s 5381964.043op/s 0.25% -0.300 -0.116 0.11% 405.890op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.822µs 17.913µs ± 0.117µs 17.897µs ± 0.026µs 17.934µs 17.979µs 18.063µs 19.452µs 8.69% 11.408 147.017 0.65% 0.008µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 51409350.626op/s 55828996.098op/s ± 340501.167op/s 55874709.182op/s ± 80423.762op/s 55941682.442op/s 56026828.325op/s 56092587.621op/s 56111774.655op/s 0.42% -11.035 140.435 0.61% 24077.068op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.187µs 10.269µs ± 0.031µs 10.269µs ± 0.019µs 10.287µs 10.323µs 10.342µs 10.377µs 1.05% 0.142 0.513 0.30% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 96369871.983op/s 97383232.437op/s ± 291317.598op/s 97383867.938op/s ± 177148.247op/s 97562919.244op/s 97866243.328op/s 98057170.834op/s 98162635.255op/s 0.80% -0.119 0.493 0.30% 20599.265op/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 [186.248µs; 186.304µ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 [5367587.284op/s; 5369178.342op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.896µs; 17.929µs] or [-0.091%; +0.091%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55781805.911op/s; 55876186.285op/s] or [-0.085%; +0.085%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.265µs; 10.273µs] or [-0.041%; +0.041%] None None None
normalization/normalize_name/normalize_name/good throughput [97342858.619op/s; 97423606.254op/s] or [-0.041%; +0.041%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.973µs 34.610µs ± 0.797µs 34.137µs ± 0.066µs 35.433µs 36.020µs 36.208µs 37.641µs 10.27% 1.129 -0.115 2.30% 0.056µ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.500µs; 34.721µs] or [-0.319%; +0.319%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.892µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.913µs 3.917µs 3.920µs 3.940µs 0.71% 1.938 28.029 0.09% 0.000µs 1 200
credit_card/is_card_number/ throughput 253814113.137op/s 255601761.440op/s ± 218509.914op/s 255626789.690op/s ± 96955.030op/s 255708823.356op/s 255801117.297op/s 255876456.438op/s 256944151.942op/s 0.52% -1.871 27.738 0.09% 15450.984op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 80.225µs 80.818µs ± 0.291µs 80.781µs ± 0.218µs 81.028µs 81.295µs 81.579µs 81.883µs 1.36% 0.527 0.124 0.36% 0.021µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12212598.891op/s 12373683.107op/s ± 44480.502op/s 12379118.330op/s ± 33530.164op/s 12406077.770op/s 12438659.296op/s 12446910.271op/s 12464922.301op/s 0.69% -0.507 0.081 0.36% 3145.246op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 73.077µs 73.632µs ± 0.308µs 73.614µs ± 0.204µs 73.820µs 74.168µs 74.360µs 74.910µs 1.76% 0.615 0.635 0.42% 0.022µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13349285.730op/s 13581343.394op/s ± 56593.753op/s 13584375.252op/s ± 37676.125op/s 13621919.371op/s 13661663.019op/s 13681370.347op/s 13684242.936op/s 0.74% -0.587 0.553 0.42% 4001.783op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.894µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.917µs 3.918µs 3.919µs 0.17% -1.409 10.951 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255184508.583op/s 255603102.727op/s ± 171852.517op/s 255616333.892op/s ± 83515.219op/s 255691441.674op/s 255833751.462op/s 255903975.094op/s 256813288.701op/s 0.47% 1.432 11.123 0.07% 12151.808op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 70.127µs 70.665µs ± 0.254µs 70.643µs ± 0.184µs 70.838µs 71.115µs 71.323µs 71.434µs 1.12% 0.421 -0.092 0.36% 0.018µs 1 200
credit_card/is_card_number/378282246310005 throughput 13998861.557op/s 14151542.469op/s ± 50879.147op/s 14155593.903op/s ± 37015.182op/s 14190426.844op/s 14225872.883op/s 14249402.498op/s 14259855.744op/s 0.74% -0.403 -0.117 0.36% 3597.699op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 53.062µs 53.135µs ± 0.039µs 53.130µs ± 0.023µs 53.154µs 53.212µs 53.257µs 53.267µs 0.26% 0.946 1.003 0.07% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 18773192.715op/s 18819940.143op/s ± 13784.721op/s 18821742.957op/s ± 8210.671op/s 18829560.028op/s 18838346.707op/s 18842149.627op/s 18845718.676op/s 0.13% -0.941 0.991 0.07% 974.727op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.428µs 6.442µs ± 0.011µs 6.441µs ± 0.004µs 6.445µs 6.455µs 6.460µs 6.540µs 1.55% 5.459 41.913 0.18% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 152895919.649op/s 155227903.331op/s ± 272263.107op/s 155260807.899op/s ± 101401.634op/s 155362256.457op/s 155472391.517op/s 155540770.726op/s 155574623.694op/s 0.20% -5.384 41.090 0.17% 19251.909op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.898µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.918µs 3.919µs 3.920µs 0.17% -0.607 3.878 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 255122902.837op/s 255544808.617op/s ± 175299.529op/s 255553487.352op/s ± 116873.946op/s 255655144.324op/s 255803213.781op/s 255838398.746op/s 256533573.769op/s 0.38% 0.618 3.939 0.07% 12395.549op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.841µs 65.144µs ± 0.125µs 65.132µs ± 0.078µs 65.208µs 65.372µs 65.510µs 65.632µs 0.77% 0.892 1.519 0.19% 0.009µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15236369.015op/s 15350707.380op/s ± 29518.822op/s 15353520.293op/s ± 18414.398op/s 15372236.977op/s 15390565.200op/s 15400081.087op/s 15422427.294op/s 0.45% -0.876 1.472 0.19% 2087.296op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.187µs 58.378µs ± 0.106µs 58.366µs ± 0.071µs 58.439µs 58.585µs 58.671µs 58.690µs 0.56% 0.636 0.095 0.18% 0.007µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17038561.335op/s 17129938.603op/s ± 30935.206op/s 17133285.556op/s ± 20718.684op/s 17153467.789op/s 17172159.293op/s 17180755.064op/s 17185923.010op/s 0.31% -0.627 0.078 0.18% 2187.449op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.897µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.914µs 3.918µs 3.921µs 3.922µs 0.23% -0.238 4.994 0.07% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255000621.040op/s 255571219.850op/s ± 186958.004op/s 255590658.162op/s ± 106149.933op/s 255682048.369op/s 255810638.335op/s 255841846.445op/s 256636658.117op/s 0.41% 0.254 5.060 0.07% 13219.927op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 55.165µs 55.529µs ± 0.177µs 55.497µs ± 0.104µs 55.623µs 55.875µs 56.066µs 56.100µs 1.09% 0.810 0.769 0.32% 0.012µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17825329.498op/s 18008785.516op/s ± 57130.382op/s 18018907.734op/s ± 33857.171op/s 18048377.131op/s 18090223.805op/s 18117265.338op/s 18127455.845op/s 0.60% -0.790 0.728 0.32% 4039.728op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 53.057µs 53.148µs ± 0.038µs 53.150µs ± 0.026µs 53.174µs 53.204µs 53.239µs 53.263µs 0.21% -0.002 -0.177 0.07% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 18774651.042op/s 18815217.994op/s ± 13614.532op/s 18814634.242op/s ± 9110.080op/s 18824752.758op/s 18837649.360op/s 18845322.822op/s 18847560.433op/s 0.18% 0.005 -0.179 0.07% 962.693op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.429µs 6.437µs ± 0.005µs 6.437µs ± 0.003µs 6.440µs 6.445µs 6.455µs 6.460µs 0.35% 1.160 2.577 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 154807227.645op/s 155343212.300op/s ± 121573.736op/s 155349938.482op/s ± 77712.063op/s 155436442.078op/s 155500730.263op/s 155537739.712op/s 155539285.430op/s 0.12% -1.152 2.546 0.08% 8596.561op/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.912µs; 3.913µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/ throughput [255571478.067op/s; 255632044.812op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [80.777µs; 80.858µs] or [-0.050%; +0.050%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12367518.537op/s; 12379847.676op/s] or [-0.050%; +0.050%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [73.589µs; 73.674µs] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13573500.044op/s; 13589186.744op/s] or [-0.058%; +0.058%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631 throughput [255579285.621op/s; 255626919.833op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/378282246310005 execution_time [70.629µs; 70.700µs] or [-0.050%; +0.050%] None None None
credit_card/is_card_number/378282246310005 throughput [14144491.108op/s; 14158593.829op/s] or [-0.050%; +0.050%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [53.130µs; 53.141µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [18818029.713op/s; 18821850.573op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.441µs; 6.444µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number/x371413321323331 throughput [155190170.283op/s; 155265636.379op/s] or [-0.024%; +0.024%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ throughput [255520513.789op/s; 255569103.446op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [65.126µs; 65.161µs] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15346616.355op/s; 15354798.405op/s] or [-0.027%; +0.027%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.363µs; 58.392µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17125651.281op/s; 17134225.925op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255545309.269op/s; 255597130.431op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [55.505µs; 55.553µs] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18000867.795op/s; 18016703.238op/s] or [-0.044%; +0.044%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [53.143µs; 53.154µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [18813331.151op/s; 18817104.837op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.437µs; 6.438µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [155326363.349op/s; 155360061.250op/s] or [-0.011%; +0.011%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 50.684ms 50.923ms ± 0.866ms 50.779ms ± 0.040ms 50.835ms 51.116ms 54.575ms 61.124ms 20.37% 9.311 98.702 1.70% 0.061ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [50.803ms; 51.043ms] or [-0.236%; +0.236%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 159.353µs 160.479µs ± 0.634µs 160.444µs ± 0.156µs 160.594µs 160.826µs 160.963µs 168.737µs 5.17% 11.060 142.327 0.39% 0.045µ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.391µs; 160.567µs] or [-0.055%; +0.055%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 190.405ns 192.912ns ± 2.132ns 192.555ns ± 1.224ns 193.720ns 196.749ns 199.338ns 203.109ns 5.48% 1.545 3.854 1.10% 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 [192.617ns; 193.208ns] or [-0.153%; +0.153%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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.177ms 4.181ms ± 0.002ms 4.181ms ± 0.002ms 4.183ms 4.186ms 4.188ms 4.192ms 0.25% 0.798 1.435 0.06% 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.181ms; 4.182ms] or [-0.008%; +0.008%] None None None

Group 20

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 28312a2 1773853788 julio/add-endpoint-configuration-in-ffi
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 86.754µs 86.997µs ± 0.277µs 86.983µs ± 0.054µs 87.036µs 87.107µs 87.153µs 90.705µs 4.28% 12.086 159.693 0.32% 0.020µ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 [86.959µs; 87.036µs] or [-0.044%; +0.044%] None None None

Baseline

Omitted due to size.

@hoolioh hoolioh force-pushed the julio/add-endpoint-configuration-in-ffi branch from 0629f41 to c73ec3a Compare March 18, 2026 10:50
/// the specified timeout value.
/// This is given as a uint32_t, but the actual timeout needs to fit inside of an i32 (max
/// 2^31-1). This is a limitation of the various interfaces used to guarantee the timeout.
pub timeout_ms: u32,
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@danielsn, in the Rust side the timeout value was used to set the endpoint value. Should I add a dedicated value for the endpoint configuration? Is the timeout value inside the crashtracker config also used for another purpose?

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Then I guess we should use a new one for configuring just the Endpoint timeout, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

Lets do that then LGTM to ship

@hoolioh hoolioh requested a review from danielsn March 18, 2026 10:54
@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 18, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 100.36 MB 100.37 MB +0% (+9.48 KB) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.70 MB 8.70 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 117.03 MB 117.04 MB +0% (+11.04 KB) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.28 MB 11.28 MB 0% (0 B) 👌
libdatadog-x64-windows
Artifact Baseline Commit Change
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.dll 27.18 MB 27.18 MB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.lib 76.61 KB 76.61 KB 0% (0 B) 👌
/libdatadog-x64-windows/debug/dynamic/datadog_profiling_ffi.pdb 186.12 MB 186.10 MB -0% (-16.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 917.07 MB 917.07 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.dll 9.94 MB 9.94 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.lib 76.61 KB 76.61 KB 0% (0 B) 👌
/libdatadog-x64-windows/release/dynamic/datadog_profiling_ffi.pdb 24.78 MB 24.78 MB 0% (0 B) 👌
/libdatadog-x64-windows/release/static/datadog_profiling_ffi.lib 51.46 MB 51.46 MB 0% (0 B) 👌
libdatadog-x86-windows
Artifact Baseline Commit Change
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.dll 22.98 MB 22.98 MB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.lib 77.80 KB 77.80 KB 0% (0 B) 👌
/libdatadog-x86-windows/debug/dynamic/datadog_profiling_ffi.pdb 190.31 MB 190.30 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.75 MB 900.75 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.dll 7.54 MB 7.54 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.lib 77.80 KB 77.80 KB 0% (0 B) 👌
/libdatadog-x86-windows/release/dynamic/datadog_profiling_ffi.pdb 26.52 MB 26.52 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.09 MB 47.09 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 87.57 MB 87.58 MB +0% (+8.15 KB) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.22 MB 10.22 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 109.90 MB 109.91 MB +0% (+9.35 KB) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.97 MB 11.97 MB 0% (0 B) 👌

@hoolioh hoolioh marked this pull request as ready for review March 18, 2026 13:18
@hoolioh hoolioh requested review from a team as code owners March 18, 2026 13:18
@hoolioh hoolioh requested a review from gyuheon0h March 18, 2026 14:20
Copy link
Contributor

@gyuheon0h gyuheon0h left a comment

Choose a reason for hiding this comment

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

pending @danielsn

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.

Meta question: We did the original changes to avoid requiring downstream to take ddcommon. Could we instead have just re-exported Endpoint?

use_alt_stack: false,
};

assert!(CrashtrackerConfiguration::try_from(ffi_config).is_err());
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this guaranteed to fail for the right reason?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Another source of error could be turning CharSlice fields to String but since there is none present in the struct the only source of error is when calling build() and passing through the ensure! statement.

Comment on lines +372 to +377
endpoint: EndpointConfig {
url: CharSlice::empty(),
api_key: CharSlice::empty(),
test_token: CharSlice::empty(),
use_system_resolver: false,
},
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we really accept a empty endpoint?

Copy link
Contributor Author

@hoolioh hoolioh Mar 18, 2026

Choose a reason for hiding this comment

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

When passing an empty edpoint the builder will set the internal field to None which, if I recall correctly, was allowed by the previous implementation. However I don't have a deep knowledge about the crate so I'll blindly follow your guidance here.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'd say None shouldn't ever make sense because what would be the point of having a report that doesn't go anywhere even to a file. But I'm ok doing that as a followup PR if this is blocking other things

/// the specified timeout value.
/// This is given as a uint32_t, but the actual timeout needs to fit inside of an i32 (max
/// 2^31-1). This is a limitation of the various interfaces used to guarantee the timeout.
pub timeout_ms: u32,
Copy link
Contributor

Choose a reason for hiding this comment

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

@gyuheon0h
Copy link
Contributor

gyuheon0h commented Mar 18, 2026

Follow up request. Can crashtracker init fail if config has an unset url. We should be clear on the behavior; it doesn't make sense to start a crashtracker when there is nowhere for the report to go.

Can be follow up

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.

5 participants