Skip to content

fix: handle fork in otel process ctx#1650

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit intomainfrom
yannham/process-context-fork-support
Mar 5, 2026
Merged

fix: handle fork in otel process ctx#1650
gh-worker-dd-mergequeue-cf854d[bot] merged 1 commit intomainfrom
yannham/process-context-fork-support

Conversation

@yannham
Copy link
Copy Markdown
Contributor

@yannham yannham commented Mar 4, 2026

Depends #1640

What does this PR do?

This PR is a follow up of #1585 and #1640 which implement OTel process context publication. It adds a proper handling of the case of publishing a new context after a fork.

Motivation

Some language runtimes (e.g. Python or Ruby) resorts to fork. In this case, the OTel process context of the child must be re-published (the process context of the parent is explicitly NOT inherited through MADVISE_DONTFORK). However, since they share the same copy of the static handler, prior to this PR, the publication would try to access the non-inherited mapping, potentially causing a crash.

This PR properly handles this case by storing the PID of the publisher, so that upon update, we can detect if there's been a fork since (and we are a child), in which case we can re-create a mapping from scratch.

How to test the change?

There is currently no test, because having tests that fork is not trivial to set up in the current Rust test framework (it is admittedly possible, but is a larger question that should be treated separately IMHO). However, two follow-up PRs are coming with an FFI and libdatadog-side protobuf encoding of the payload, which will make it possible to test the fork behavior e.g. from Ruby, once they land.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 4, 2026

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

  • Base Branch: origin/main
  • PR Branch: origin/yannham/process-context-fork-support

Summary by Rule

Rule Base Branch PR Branch Change

Annotation Counts by File

File Base Branch PR Branch Change

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 27 27 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 12 No change (0%)
libdd-data-pipeline 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 219 219 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.

@pr-commenter
Copy link
Copy Markdown

pr-commenter bot commented Mar 4, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-05 12:13:42

Comparing candidate commit 9e85c64 in PR branch yannham/process-context-fork-support with baseline commit 19ae2be in branch main.

Found 1 performance improvements and 0 performance regressions! Performance is the same for 56 metrics, 2 unstable metrics.

scenario:profile_add_sample2_frames_x1000

  • 🟩 execution_time [-32.130µs; -31.828µs] or [-4.289%; -4.249%]

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 9e85c64 1772711815 yannham/process-context-fork-support
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.192µs 717.160µs ± 0.860µs 717.120µs ± 0.558µs 717.599µs 718.712µs 719.406µs 719.825µs 0.38% 0.454 0.041 0.12% 0.061µ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 [717.041µs; 717.279µs] or [-0.017%; +0.017%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.963µs 5.036µs ± 0.040µs 5.035µs ± 0.035µs 5.067µs 5.094µs 5.101µs 5.118µs 1.66% -0.065 -1.269 0.79% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.031µs; 5.042µs] or [-0.109%; +0.109%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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 145.130µs 147.390µs ± 1.902µs 147.120µs ± 0.556µs 147.639µs 149.717µs 154.592µs 165.681µs 12.62% 5.924 47.786 1.29% 0.134µ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 [147.126µs; 147.653µs] or [-0.179%; +0.179%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.004ns 190.548ns ± 1.571ns 190.507ns ± 1.184ns 191.543ns 193.696ns 194.612ns 194.851ns 2.28% 0.683 -0.224 0.82% 0.111ns 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.330ns; 190.765ns] or [-0.114%; +0.114%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.167ms 4.172ms ± 0.007ms 4.171ms ± 0.001ms 4.172ms 4.175ms 4.177ms 4.265ms 2.26% 12.207 160.609 0.17% 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.171ms; 4.173ms] 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 9e85c64 1772711815 yannham/process-context-fork-support
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 91.083µs 91.334µs ± 0.182µs 91.305µs ± 0.049µs 91.360µs 91.543µs 92.040µs 93.009µs 1.87% 5.790 44.834 0.20% 0.013µ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 [91.309µs; 91.359µs] or [-0.028%; +0.028%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.339µs 185.830µs ± 0.224µs 185.846µs ± 0.191µs 186.031µs 186.167µs 186.232µs 186.261µs 0.22% -0.148 -1.027 0.12% 0.016µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5368806.830op/s 5381273.457op/s ± 6481.421op/s 5380809.655op/s ± 5511.729op/s 5387265.064op/s 5391649.741op/s 5393719.846op/s 5395533.038op/s 0.27% 0.151 -1.026 0.12% 458.306op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.933µs 18.030µs ± 0.055µs 18.026µs ± 0.027µs 18.053µs 18.101µs 18.139µs 18.546µs 2.89% 4.237 37.643 0.30% 0.004µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 53920275.927op/s 55462741.375op/s ± 166281.435op/s 55475941.862op/s ± 82744.822op/s 55557001.551op/s 55668780.000op/s 55747413.850op/s 55763771.543op/s 0.52% -4.045 35.306 0.30% 11757.873op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 10.257µs 10.359µs ± 0.039µs 10.356µs ± 0.026µs 10.383µs 10.427µs 10.469µs 10.533µs 1.70% 0.837 2.277 0.38% 0.003µs 1 200
normalization/normalize_name/normalize_name/good throughput 94942035.011op/s 96532995.643op/s ± 365375.156op/s 96558388.383op/s ± 238833.561op/s 96794152.028op/s 97032282.350op/s 97303656.114op/s 97490145.740op/s 0.96% -0.796 2.143 0.38% 25835.925op/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.799µs; 185.861µs] or [-0.017%; +0.017%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5380375.195op/s; 5382171.720op/s] or [-0.017%; +0.017%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [18.023µs; 18.038µs] or [-0.042%; +0.042%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55439696.367op/s; 55485786.383op/s] or [-0.042%; +0.042%] None None None
normalization/normalize_name/normalize_name/good execution_time [10.354µs; 10.365µs] or [-0.053%; +0.053%] None None None
normalization/normalize_name/normalize_name/good throughput [96482358.161op/s; 96583633.126op/s] or [-0.052%; +0.052%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.755µs 534.661µs ± 0.574µs 534.583µs ± 0.238µs 534.859µs 535.238µs 535.517µs 541.220µs 1.24% 7.515 83.372 0.11% 0.041µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 1847676.265op/s 1870346.814op/s ± 1992.563op/s 1870615.985op/s ± 833.532op/s 1871239.050op/s 1872139.254op/s 1872726.121op/s 1873518.336op/s 0.16% -7.423 81.972 0.11% 140.896op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 380.191µs 380.800µs ± 0.256µs 380.782µs ± 0.159µs 380.959µs 381.225µs 381.426µs 381.501µs 0.19% 0.232 -0.218 0.07% 0.018µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2621227.498op/s 2626051.800op/s ± 1761.758op/s 2626175.456op/s ± 1097.043op/s 2627213.459op/s 2628670.657op/s 2630092.996op/s 2630257.499op/s 0.16% -0.229 -0.220 0.07% 124.575op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 189.961µs 190.478µs ± 0.203µs 190.440µs ± 0.113µs 190.579µs 190.823µs 191.064µs 191.480µs 0.55% 1.071 3.013 0.11% 0.014µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5222488.733op/s 5249962.197op/s ± 5597.376op/s 5250989.913op/s ± 3124.129op/s 5253166.422op/s 5257791.045op/s 5261323.305op/s 5264251.950op/s 0.25% -1.059 2.965 0.11% 395.794op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 37.357µs 37.521µs ± 0.062µs 37.515µs ± 0.043µs 37.565µs 37.618µs 37.691µs 37.794µs 0.74% 0.536 1.253 0.16% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 26459447.196op/s 26652115.680op/s ± 43921.288op/s 26656317.246op/s ± 30326.283op/s 26684766.775op/s 26716223.565op/s 26738624.124op/s 26768685.100op/s 0.42% -0.522 1.209 0.16% 3105.704op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.791µs 45.894µs ± 0.046µs 45.892µs ± 0.026µs 45.919µs 45.969µs 46.000µs 46.191µs 0.65% 1.406 7.283 0.10% 0.003µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21649025.517op/s 21789138.453op/s ± 22036.835op/s 21790271.782op/s ± 12153.781op/s 21800974.905op/s 21821177.801op/s 21829531.217op/s 21838432.001op/s 0.22% -1.384 7.129 0.10% 1558.240op/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.581µs; 534.740µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [1870070.664op/s; 1870622.964op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [380.765µs; 380.835µs] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2625807.638op/s; 2626295.963op/s] or [-0.009%; +0.009%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [190.450µs; 190.506µs] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5249186.455op/s; 5250737.940op/s] or [-0.015%; +0.015%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [37.512µs; 37.529µs] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [26646028.612op/s; 26658202.748op/s] or [-0.023%; +0.023%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.888µs; 45.901µs] or [-0.014%; +0.014%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21786084.360op/s; 21792192.547op/s] or [-0.014%; +0.014%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 241.421ns 251.771ns ± 12.829ns 245.446ns ± 2.566ns 256.587ns 280.467ns 288.895ns 290.324ns 18.28% 1.584 1.323 5.08% 0.907ns 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.993ns; 253.549ns] or [-0.706%; +0.706%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.611µs 34.180µs ± 0.787µs 33.832µs ± 0.128µs 34.037µs 35.818µs 35.873µs 37.547µs 10.98% 1.739 1.727 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.071µs; 34.289µs] or [-0.319%; +0.319%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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 3.258ms 3.286ms ± 0.019ms 3.282ms ± 0.007ms 3.290ms 3.322ms 3.356ms 3.389ms 3.26% 2.281 7.388 0.56% 0.001ms 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 [3.284ms; 3.289ms] or [-0.078%; +0.078%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.977ms 14.030ms ± 0.031ms 14.025ms ± 0.011ms 14.036ms 14.107ms 14.136ms 14.198ms 1.23% 2.266 6.760 0.22% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.026ms; 14.034ms] or [-0.031%; +0.031%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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 47.716ms 48.074ms ± 1.386ms 47.900ms ± 0.042ms 47.939ms 48.061ms 55.497ms 63.710ms 33.01% 9.183 90.211 2.88% 0.098ms 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 [47.882ms; 48.266ms] or [-0.400%; +0.400%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.349µs 2.399µs ± 0.013µs 2.401µs ± 0.006µs 2.407µs 2.413µs 2.418µs 2.422µs 0.88% -1.825 4.084 0.55% 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.397µs; 2.401µs] or [-0.076%; +0.076%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.646ms 10.677ms ± 0.014ms 10.676ms ± 0.009ms 10.684ms 10.695ms 10.715ms 10.768ms 0.86% 1.583 8.106 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.675ms; 10.679ms] or [-0.018%; +0.018%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.893µs 3.912µs ± 0.003µs 3.912µs ± 0.001µs 3.914µs 3.916µs 3.918µs 3.927µs 0.39% -0.650 15.724 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 254620460.173op/s 255596867.021op/s ± 182350.158op/s 255618879.350op/s ± 89118.974op/s 255691798.686op/s 255793498.919op/s 255880705.003op/s 256899747.511op/s 0.50% 0.688 15.878 0.07% 12894.103op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 79.048µs 79.481µs ± 0.276µs 79.388µs ± 0.150µs 79.631µs 80.012µs 80.301µs 80.495µs 1.39% 1.113 1.052 0.35% 0.020µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12423149.020op/s 12581710.703op/s ± 43508.782op/s 12596377.282op/s ± 23830.046op/s 12612445.022op/s 12633545.031op/s 12643679.183op/s 12650530.012op/s 0.43% -1.095 0.993 0.34% 3076.535op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 72.393µs 72.801µs ± 0.280µs 72.746µs ± 0.173µs 72.934µs 73.291µs 73.750µs 74.033µs 1.77% 1.361 2.719 0.38% 0.020µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13507470.071op/s 13736187.223op/s ± 52557.862op/s 13746387.059op/s ± 32626.606op/s 13774180.300op/s 13800484.556op/s 13810255.387op/s 13813566.303op/s 0.49% -1.329 2.575 0.38% 3716.402op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.889µs 3.911µs ± 0.003µs 3.911µs ± 0.002µs 3.913µs 3.916µs 3.917µs 3.918µs 0.18% -1.741 14.008 0.08% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 255228923.975op/s 255690353.291op/s ± 192613.051op/s 255700255.721op/s ± 109686.823op/s 255805903.645op/s 255929535.525op/s 256020908.384op/s 257128192.834op/s 0.56% 1.770 14.256 0.08% 13619.799op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 69.070µs 69.466µs ± 0.209µs 69.419µs ± 0.121µs 69.565µs 69.852µs 70.003µs 70.162µs 1.07% 0.917 0.456 0.30% 0.015µs 1 200
credit_card/is_card_number/378282246310005 throughput 14252633.471op/s 14395715.668op/s ± 43181.700op/s 14405298.314op/s ± 25165.838op/s 14426940.870op/s 14449474.568op/s 14464985.398op/s 14478049.718op/s 0.51% -0.903 0.423 0.30% 3053.407op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.151µs 52.209µs ± 0.033µs 52.202µs ± 0.021µs 52.229µs 52.271µs 52.288µs 52.339µs 0.26% 0.799 0.611 0.06% 0.002µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19106234.245op/s 19153835.153op/s ± 12175.517op/s 19156378.054op/s ± 7859.803op/s 19162733.753op/s 19170431.527op/s 19173679.868op/s 19175258.164op/s 0.10% -0.796 0.600 0.06% 860.939op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.028µs 6.037µs ± 0.009µs 6.036µs ± 0.003µs 6.039µs 6.047µs 6.076µs 6.077µs 0.69% 3.068 9.889 0.15% 0.001µs 1 200
credit_card/is_card_number/x371413321323331 throughput 164546556.491op/s 165634421.550op/s ± 245391.141op/s 165683380.165op/s ± 84986.470op/s 165759468.908op/s 165848036.519op/s 165873305.963op/s 165902888.904op/s 0.13% -3.057 9.834 0.15% 17351.774op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.896µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.918µs 3.920µs 3.934µs 0.51% 0.341 9.508 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254204038.522op/s 255499695.404op/s ± 214223.382op/s 255488760.194op/s ± 134654.913op/s 255638799.579op/s 255798787.635op/s 255856435.954op/s 256678949.966op/s 0.47% -0.312 9.468 0.08% 15147.881op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.041µs 64.331µs ± 0.114µs 64.313µs ± 0.068µs 64.396µs 64.540µs 64.662µs 64.722µs 0.64% 0.672 0.917 0.18% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15450635.615op/s 15544735.682op/s ± 27518.511op/s 15549065.927op/s ± 16378.189op/s 15562709.026op/s 15584979.275op/s 15594935.143op/s 15614884.108op/s 0.42% -0.659 0.893 0.18% 1945.853op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.167µs 58.425µs ± 0.156µs 58.383µs ± 0.096µs 58.521µs 58.717µs 58.892µs 58.978µs 1.02% 0.938 0.601 0.27% 0.011µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 16955403.051op/s 17116043.181op/s ± 45564.598op/s 17128340.164op/s ± 28203.170op/s 17152492.741op/s 17170433.116op/s 17185311.888op/s 17191849.344op/s 0.37% -0.924 0.560 0.27% 3221.904op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.896µs 3.912µs ± 0.002µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.918µs 3.918µs 0.16% -1.026 6.910 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 255223421.305op/s 255622148.379op/s ± 163332.470op/s 255621715.859op/s ± 106495.922op/s 255731493.340op/s 255841194.918op/s 255939339.370op/s 256661582.619op/s 0.41% 1.041 7.011 0.06% 11549.350op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.591µs 54.921µs ± 0.241µs 54.892µs ± 0.173µs 55.066µs 55.303µs 55.583µs 56.009µs 2.03% 1.101 1.902 0.44% 0.017µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17854130.582op/s 18208186.672op/s ± 79587.507op/s 18217461.241op/s ± 57409.551op/s 18274656.709op/s 18304551.885op/s 18315912.553op/s 18318101.948op/s 0.55% -1.067 1.747 0.44% 5627.687op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.148µs 52.224µs ± 0.042µs 52.222µs ± 0.026µs 52.246µs 52.289µs 52.358µs 52.390µs 0.32% 0.894 1.610 0.08% 0.003µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19087477.412op/s 19148134.177op/s ± 15210.669op/s 19148864.871op/s ± 9442.834op/s 19158610.695op/s 19168835.403op/s 19173375.870op/s 19176311.502op/s 0.14% -0.888 1.588 0.08% 1075.557op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.028µs 6.038µs ± 0.010µs 6.035µs ± 0.003µs 6.039µs 6.050µs 6.073µs 6.105µs 1.16% 3.460 14.967 0.16% 0.001µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 163812195.497op/s 165631541.560op/s ± 265705.689op/s 165704333.169op/s ± 80084.259op/s 165769465.695op/s 165840938.266op/s 165881952.772op/s 165905174.930op/s 0.12% -3.436 14.743 0.16% 18788.229op/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.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255571595.043op/s; 255622138.999op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [79.443µs; 79.520µs] or [-0.048%; +0.048%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12575680.805op/s; 12587740.602op/s] or [-0.048%; +0.048%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [72.763µs; 72.840µs] or [-0.053%; +0.053%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13728903.209op/s; 13743471.237op/s] or [-0.053%; +0.053%] None None None
credit_card/is_card_number/37828224631 execution_time [3.911µs; 3.911µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255663658.974op/s; 255717047.607op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [69.437µs; 69.495µs] or [-0.042%; +0.042%] None None None
credit_card/is_card_number/378282246310005 throughput [14389731.099op/s; 14401700.236op/s] or [-0.042%; +0.042%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.204µs; 52.213µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19152147.744op/s; 19155522.563op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.036µs; 6.039µs] or [-0.021%; +0.021%] None None None
credit_card/is_card_number/x371413321323331 throughput [165600412.698op/s; 165668430.402op/s] or [-0.021%; +0.021%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.913µs; 3.914µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ throughput [255470006.104op/s; 255529384.705op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.315µs; 64.346µs] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15540921.881op/s; 15548549.483op/s] or [-0.025%; +0.025%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.404µs; 58.447µs] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17109728.366op/s; 17122357.996op/s] or [-0.037%; +0.037%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.912µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255599512.070op/s; 255644784.689op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.888µs; 54.955µs] or [-0.061%; +0.061%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18197156.609op/s; 18219216.735op/s] or [-0.061%; +0.061%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.219µs; 52.230µs] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19146026.124op/s; 19150242.229op/s] or [-0.011%; +0.011%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.036µs; 6.039µs] or [-0.022%; +0.022%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165594717.307op/s; 165668365.813op/s] or [-0.022%; +0.022%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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 18.415µs 26.773µs ± 10.065µs 18.772µs ± 0.180µs 35.269µs 44.816µs 50.803µs 74.102µs 294.74% 1.002 1.017 37.50% 0.712µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [25.378µs; 28.168µs] or [-5.210%; +5.210%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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 162.180µs 162.615µs ± 0.359µs 162.560µs ± 0.122µs 162.678µs 163.081µs 163.474µs 166.105µs 2.18% 5.385 45.534 0.22% 0.025µ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 [162.566µs; 162.665µs] or [-0.031%; +0.031%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz 9e85c64 1772711815 yannham/process-context-fork-support
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.179µs 3.143µs ± 1.405µs 2.974µs ± 0.028µs 3.001µs 3.326µs 13.560µs 14.904µs 401.15% 7.493 56.836 44.57% 0.099µ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.949µs; 3.338µs] or [-6.193%; +6.193%] None None None

Baseline

Omitted due to size.

@yannham yannham changed the title feat: handle fork in otel process ctx fix: handle fork in otel process ctx Mar 4, 2026
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 4, 2026

Codecov Report

❌ Patch coverage is 54.54545% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 71.25%. Comparing base (19ae2be) to head (9e85c64).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1650      +/-   ##
==========================================
+ Coverage   71.22%   71.25%   +0.02%     
==========================================
  Files         425      425              
  Lines       62695    62704       +9     
==========================================
+ Hits        44657    44677      +20     
+ Misses      18038    18027      -11     
Components Coverage Δ
libdd-crashtracker 62.92% <ø> (+0.03%) ⬆️
libdd-crashtracker-ffi 15.63% <ø> (ø)
libdd-alloc 98.77% <ø> (ø)
libdd-data-pipeline 87.38% <ø> (ø)
libdd-data-pipeline-ffi 72.83% <ø> (ø)
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.74% <ø> (ø)
libdd-profiling 81.60% <ø> (ø)
libdd-profiling-ffi 63.65% <ø> (ø)
datadog-sidecar 33.45% <ø> (ø)
datdog-sidecar-ffi 12.41% <ø> (ø)
spawn-worker 54.69% <ø> (ø)
libdd-tinybytes 93.16% <ø> (ø)
libdd-trace-normalization 81.71% <ø> (ø)
libdd-trace-obfuscation 94.67% <ø> (ø)
libdd-trace-protobuf 68.00% <ø> (ø)
libdd-trace-utils 88.97% <ø> (ø)
datadog-tracer-flare 90.45% <ø> (ø)
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.

@dd-octo-sts
Copy link
Copy Markdown
Contributor

dd-octo-sts bot commented Mar 4, 2026

Artifact Size Benchmark Report

aarch64-alpine-linux-musl
Artifact Baseline Commit Change
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.a 97.30 MB 97.30 MB 0% (0 B) 👌
/aarch64-alpine-linux-musl/lib/libdatadog_profiling.so 8.51 MB 8.51 MB 0% (0 B) 👌
aarch64-unknown-linux-gnu
Artifact Baseline Commit Change
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.a 112.92 MB 112.92 MB 0% (0 B) 👌
/aarch64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.12 MB 11.12 MB 0% (0 B) 👌
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 185.96 MB 185.95 MB -0% (-8.00 KB) 👌
/libdatadog-x64-windows/debug/static/datadog_profiling_ffi.lib 916.65 MB 916.65 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.76 MB 24.76 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.14 MB 190.13 MB -0% (-8.00 KB) 👌
/libdatadog-x86-windows/debug/static/datadog_profiling_ffi.lib 900.31 MB 900.31 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.52 MB 26.52 MB 0% (0 B) 👌
/libdatadog-x86-windows/release/static/datadog_profiling_ffi.lib 47.06 MB 47.06 MB 0% (0 B) 👌
x86_64-alpine-linux-musl
Artifact Baseline Commit Change
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.a 85.27 MB 85.27 MB 0% (0 B) 👌
/x86_64-alpine-linux-musl/lib/libdatadog_profiling.so 10.04 MB 10.04 MB 0% (0 B) 👌
x86_64-unknown-linux-gnu
Artifact Baseline Commit Change
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.a 105.90 MB 105.90 MB 0% (0 B) 👌
/x86_64-unknown-linux-gnu/lib/libdatadog_profiling.so 11.79 MB 11.79 MB 0% (0 B) 👌

Base automatically changed from yannham/process-context-update to main March 4, 2026 16:16
@yannham yannham force-pushed the yannham/process-context-fork-support branch from dffff99 to 16cc9c4 Compare March 4, 2026 16:23
Copy link
Copy Markdown
Member

@ivoanjo ivoanjo left a comment

Choose a reason for hiding this comment

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

However, two follow-up PRs are coming with an FFI and libdatadog-side protobuf encoding of the payload, which will make it possible to test the fork behavior e.g. from Ruby, once they land.

👍 Agreed on this one -- no need to boil the ocean as we can test this trivially on the Ruby side

@yannham yannham force-pushed the yannham/process-context-fork-support branch from de3ea26 to 2f163e6 Compare March 5, 2026 10:25
@yannham yannham marked this pull request as ready for review March 5, 2026 10:28
@yannham yannham requested a review from a team as a code owner March 5, 2026 10:28
@yannham yannham requested review from genesor and removed request for a team March 5, 2026 10:28
Copy link
Copy Markdown
Member

@genesor genesor left a comment

Choose a reason for hiding this comment

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

My main tracer (go) is not a client a libdatadog, I wouldn't really know what to look for here.

The changes make sense, I was able to understand everything thanks to the extensive comments.

I will share the PR in my team channel if a user of libdatadog wants to get another pair of eyes on it.

@yannham yannham force-pushed the yannham/process-context-fork-support branch from 2f163e6 to 9e85c64 Compare March 5, 2026 11:57
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit eed7965 into main Mar 5, 2026
76 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the yannham/process-context-fork-support branch March 5, 2026 14:55
gh-worker-dd-mergequeue-cf854d bot pushed a commit that referenced this pull request Mar 5, 2026
Depends #1650

# What does this PR do?

Follow-up of #1585 #1640 #1650

Adds the protobuf definition for the OTel process context and associated messages, and make the interface of the publisher higher-level by taking the new structured `ProcessContext` value instead of a raw bytes payload.

# Motivation

Since libdatadog is already taking care of some protobuf encoding, and it's supposedly faster and simpler to do here rather than on the side of each language runtime, it makes sense to offer an interface with a struct that is encoded by libdatadog. The process context will be a `ProcessContext`-based opaque pointer on the FFI side, with proper setters/getters.

# Additional Notes

I was not sure where to put the protobuf definition, as there are a bunch of protobuf-dedicated crates in libdatadog. I feel like the OTel process context is about tracing metadata, but I'm happy to move it elsewhere if it makes more sense.

# How to test the change?

Once the FFI lands, we'll be able to publish the context from a language runtime and check the whole process end-to-end. For now, I feel like an additional test would mostly test `prost`, which isn't very valuable.

Co-authored-by: yann.hamdaoui <[email protected]>
iunanua pushed a commit that referenced this pull request Mar 13, 2026
# Release proposal for libdd-library-config and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-trace-protobuf
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-trace-protobuf-v2.0.0`

### Commits

- feat(trace-protobuf)!: Add two fields to ClientGroupedStats
[SVLS-8627] (#1630)
- feat: otel process ctxt protobuf encoding (#1651)
## libdd-library-config
**Next version:** `1.1.0`

**Semver bump:** `minor`
**Tag:** `libdd-library-config-v1.1.0`

### Commits

- chore: update otel process ctx protocol (#1713)
- feat: publish tracer metadata as OTel process ctx (#1658)
- feat: otel process ctxt protobuf encoding (#1651)
- fix: handle fork in otel process ctx (#1650)
- chore: implement otel process ctx update (#1640)
- feat: process context publication (#1585)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(stable_config): [APMAPI-1690] add >100mb check for stable config
files (#1432)
- chore: add changelog for every published crate (#1396)

[SVLS-8627]:
https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[APMAPI-1690]:
https://datadoghq.atlassian.net/browse/APMAPI-1690?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 13, 2026
# Release proposal for libdd-library-config and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-trace-protobuf
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-trace-protobuf-v2.0.0`

### Commits

- feat(trace-protobuf)!: Add two fields to ClientGroupedStats
[SVLS-8627] (#1630)
- feat: otel process ctxt protobuf encoding (#1651)
## libdd-library-config
**Next version:** `1.1.0`

**Semver bump:** `minor`
**Tag:** `libdd-library-config-v1.1.0`

### Commits

- chore: update otel process ctx protocol (#1713)
- feat: publish tracer metadata as OTel process ctx (#1658)
- feat: otel process ctxt protobuf encoding (#1651)
- fix: handle fork in otel process ctx (#1650)
- chore: implement otel process ctx update (#1640)
- feat: process context publication (#1585)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(stable_config): [APMAPI-1690] add >100mb check for stable config
files (#1432)
- chore: add changelog for every published crate (#1396)

[SVLS-8627]:
https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[APMAPI-1690]:
https://datadoghq.atlassian.net/browse/APMAPI-1690?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh added a commit that referenced this pull request Mar 15, 2026
# Release proposal for libdd-library-config and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-trace-protobuf
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-trace-protobuf-v2.0.0`

### Commits

- feat(trace-protobuf)!: Add two fields to ClientGroupedStats
[SVLS-8627] (#1630)
- feat: otel process ctxt protobuf encoding (#1651) ##
libdd-library-config
**Next version:** `1.1.0`

**Semver bump:** `minor`
**Tag:** `libdd-library-config-v1.1.0`

### Commits

- chore: update otel process ctx protocol (#1713)
- feat: publish tracer metadata as OTel process ctx (#1658)
- feat: otel process ctxt protobuf encoding (#1651)
- fix: handle fork in otel process ctx (#1650)
- chore: implement otel process ctx update (#1640)
- feat: process context publication (#1585)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(stable_config): [APMAPI-1690] add >100mb check for stable config
files (#1432)
- chore: add changelog for every published crate (#1396)

[SVLS-8627]:

https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[APMAPI-1690]:

https://datadoghq.atlassian.net/browse/APMAPI-1690?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

# What does this PR do?

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

# Motivation

What inspired you to submit this pull request?

# Additional Notes

Anything else we should know when reviewing?

# How to test the change?

Describe here in detail how the change can be validated.


[SVLS-8627]:
https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[APMAPI-1690]:
https://datadoghq.atlassian.net/browse/APMAPI-1690?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[SVLS-8627]:
https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
hoolioh pushed a commit that referenced this pull request Mar 15, 2026
# Release proposal for libdd-library-config and its dependencies

This PR contains version bumps based on public API changes and commits
since last release.

## libdd-trace-protobuf
**Next version:** `2.0.0`

**Semver bump:** `major`
**Tag:** `libdd-trace-protobuf-v2.0.0`

### Commits

- feat(trace-protobuf)!: Add two fields to ClientGroupedStats
[SVLS-8627] (#1630)
- feat: otel process ctxt protobuf encoding (#1651)
## libdd-library-config
**Next version:** `1.1.0`

**Semver bump:** `minor`
**Tag:** `libdd-library-config-v1.1.0`

### Commits

- chore: update otel process ctx protocol (#1713)
- feat: publish tracer metadata as OTel process ctx (#1658)
- feat: otel process ctxt protobuf encoding (#1651)
- fix: handle fork in otel process ctx (#1650)
- chore: implement otel process ctx update (#1640)
- feat: process context publication (#1585)
- ci: update nightly in CI to 2026-02-08 (#1539)
- fix(stable_config): [APMAPI-1690] add >100mb check for stable config
files (#1432)
- chore: add changelog for every published crate (#1396)

[SVLS-8627]:
https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ
[APMAPI-1690]:
https://datadoghq.atlassian.net/browse/APMAPI-1690?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

---------

Co-authored-by: dd-octo-sts[bot] <200755185+dd-octo-sts[bot]@users.noreply.github.com>
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.

4 participants