feat: publish tracer metadata as OTel process ctx#1658
feat: publish tracer metadata as OTel process ctx#1658gh-worker-dd-mergequeue-cf854d[bot] merged 4 commits intomainfrom
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1658 +/- ##
==========================================
- Coverage 71.33% 71.30% -0.03%
==========================================
Files 427 427
Lines 62960 63003 +43
==========================================
+ Hits 44914 44926 +12
- Misses 18046 18077 +31
🚀 New features to boost your workflow:
|
BenchmarksComparisonBenchmark execution time: 2026-03-09 10:34:46 Comparing candidate commit 68ed2a3 in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 56 metrics, 2 unstable metrics.
|
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.648ns | 248.517ns ± 11.130ns | 243.563ns ± 2.005ns | 249.305ns | 276.582ns | 288.457ns | 290.655ns | 19.33% | 2.296 | 4.638 | 4.47% | 0.787ns | 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.974ns; 250.059ns] or [-0.621%; +0.621%] | None | None | None |
Group 2
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.357µs | 146.520µs ± 1.652µs | 146.304µs ± 0.605µs | 146.927µs | 148.040µs | 152.889µs | 162.167µs | 10.84% | 5.279 | 42.188 | 1.12% | 0.117µ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.291µs; 146.749µs] or [-0.156%; +0.156%] | None | None | None |
Group 3
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.214ms | 4.220ms ± 0.003ms | 4.219ms ± 0.001ms | 4.221ms | 4.224ms | 4.226ms | 4.243ms | 0.55% | 3.178 | 22.884 | 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.220ms; 4.220ms] or [-0.009%; +0.009%] | None | None | None |
Group 4
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.759µs | 34.320µs ± 0.907µs | 33.926µs ± 0.104µs | 34.054µs | 36.233µs | 36.267µs | 37.689µs | 11.09% | 1.739 | 1.309 | 2.64% | 0.064µ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.194µs; 34.445µs] or [-0.366%; +0.366%] | None | None | None |
Group 5
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.623ms | 10.659ms ± 0.015ms | 10.659ms ± 0.009ms | 10.667ms | 10.679ms | 10.702ms | 10.729ms | 0.66% | 0.709 | 2.767 | 0.14% | 0.001ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| concentrator/add_spans_to_concentrator | execution_time | [10.657ms; 10.661ms] or [-0.020%; +0.020%] | None | None | None |
Group 6
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.103µs | 185.644µs ± 0.269µs | 185.621µs ± 0.183µs | 185.823µs | 186.077µs | 186.203µs | 186.994µs | 0.74% | 0.766 | 2.003 | 0.14% | 0.019µs | 1 | 200 |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | 5347761.594op/s | 5386672.258op/s ± 7796.108op/s | 5387312.772op/s ± 5312.477op/s | 5392498.569op/s | 5397562.237op/s | 5400674.159op/s | 5402395.395op/s | 0.28% | -0.751 | 1.933 | 0.14% | 551.268op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | execution_time | 17.878µs | 18.015µs ± 0.061µs | 18.014µs ± 0.034µs | 18.048µs | 18.094µs | 18.151µs | 18.458µs | 2.47% | 1.827 | 12.535 | 0.34% | 0.004µs | 1 | 200 |
| normalization/normalize_name/normalize_name/bad-name | throughput | 54176507.974op/s | 55509814.797op/s ± 187860.311op/s | 55513065.516op/s ± 104907.624op/s | 55616462.350op/s | 55804046.413op/s | 55928636.376op/s | 55935719.987op/s | 0.76% | -1.716 | 11.629 | 0.34% | 13283.730op/s | 1 | 200 |
| normalization/normalize_name/normalize_name/good | execution_time | 10.283µs | 10.385µs ± 0.051µs | 10.377µs ± 0.033µs | 10.417µs | 10.484µs | 10.531µs | 10.567µs | 1.83% | 0.839 | 0.742 | 0.49% | 0.004µs | 1 | 200 |
| normalization/normalize_name/normalize_name/good | throughput | 94635742.692op/s | 96299253.898op/s ± 471510.255op/s | 96365547.648op/s ± 307093.673op/s | 96645622.288op/s | 96909948.613op/s | 97013237.536op/s | 97250772.624op/s | 0.92% | -0.809 | 0.666 | 0.49% | 33340.810op/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.606µs; 185.681µs] or [-0.020%; +0.020%] | None | None | None |
| normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... | throughput | [5385591.792op/s; 5387752.724op/s] or [-0.020%; +0.020%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | execution_time | [18.007µs; 18.024µs] or [-0.047%; +0.047%] | None | None | None |
| normalization/normalize_name/normalize_name/bad-name | throughput | [55483779.164op/s; 55535850.429op/s] or [-0.047%; +0.047%] | None | None | None |
| normalization/normalize_name/normalize_name/good | execution_time | [10.377µs; 10.392µs] or [-0.068%; +0.068%] | None | None | None |
| normalization/normalize_name/normalize_name/good | throughput | [96233907.111op/s; 96364600.684op/s] or [-0.068%; +0.068%] | None | None | None |
Group 7
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 173.344µs | 173.925µs ± 0.471µs | 173.804µs ± 0.193µs | 174.077µs | 174.647µs | 175.381µs | 178.005µs | 2.42% | 3.974 | 27.913 | 0.27% | 0.033µ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 | [173.859µs; 173.990µs] or [-0.037%; +0.037%] | None | None | None |
Group 8
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 2.111µs | 3.882µs ± 1.751µs | 3.679µs ± 0.027µs | 3.706µs | 4.418µs | 6.070µs | 21.218µs | 476.75% | 9.061 | 85.105 | 45.00% | 0.124µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| write only interface | execution_time | [3.640µs; 4.125µs] or [-6.252%; +6.252%] | None | None | None |
Group 9
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| scenario | metric | min | mean ± sd | median ± mad | p75 | p95 | p99 | max | peak_to_median_ratio | skewness | kurtosis | cv | sem | runs | sample_size |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| benching deserializing traces from msgpack to their internal representation | execution_time | 49.128ms | 49.546ms ± 1.610ms | 49.322ms ± 0.055ms | 49.380ms | 49.573ms | 54.205ms | 65.179ms | 32.15% | 8.825 | 80.014 | 3.24% | 0.114ms | 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 | [49.323ms; 49.769ms] or [-0.450%; +0.450%] | None | None | None |
Group 10
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 4.398ms | 4.428ms ± 0.016ms | 4.425ms ± 0.007ms | 4.433ms | 4.461ms | 4.485ms | 4.494ms | 1.56% | 1.485 | 2.904 | 0.36% | 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 | [4.426ms; 4.430ms] or [-0.050%; +0.050%] | None | None | None |
Group 11
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 25.055µs | 28.659µs ± 7.293µs | 25.989µs ± 0.354µs | 26.333µs | 43.221µs | 44.276µs | 89.078µs | 242.76% | 3.838 | 22.806 | 25.38% | 0.516µs | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| two way interface | execution_time | [27.648µs; 29.669µs] or [-3.527%; +3.527%] | None | None | None |
Group 12
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 534.431µs | 536.518µs ± 1.593µs | 535.933µs ± 0.723µs | 537.380µs | 539.331µs | 543.191µs | 543.585µs | 1.43% | 1.746 | 3.927 | 0.30% | 0.113µs | 1 | 200 |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | 1839638.098op/s | 1863885.408op/s ± 5504.675op/s | 1865906.212op/s ± 2518.038op/s | 1867764.883op/s | 1869241.910op/s | 1870090.254op/s | 1871150.589op/s | 0.28% | -1.721 | 3.792 | 0.29% | 389.239op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | 385.231µs | 386.154µs ± 0.489µs | 386.116µs ± 0.371µs | 386.499µs | 386.898µs | 387.570µs | 387.860µs | 0.45% | 0.636 | 0.432 | 0.13% | 0.035µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | 2578251.697op/s | 2589643.419op/s ± 3276.326op/s | 2589893.435op/s ± 2492.421op/s | 2592226.332op/s | 2594267.072op/s | 2594955.622op/s | 2595842.334op/s | 0.23% | -0.629 | 0.412 | 0.13% | 231.671op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | 189.692µs | 190.165µs ± 0.229µs | 190.148µs ± 0.112µs | 190.250µs | 190.538µs | 190.901µs | 191.577µs | 0.75% | 1.881 | 8.441 | 0.12% | 0.016µs | 1 | 200 |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | 5219844.457op/s | 5258590.029op/s ± 6331.214op/s | 5259060.299op/s ± 3095.939op/s | 5262309.605op/s | 5267065.795op/s | 5270568.143op/s | 5271696.478op/s | 0.24% | -1.856 | 8.280 | 0.12% | 447.684op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | 37.427µs | 37.587µs ± 0.061µs | 37.589µs ± 0.040µs | 37.630µs | 37.683µs | 37.705µs | 37.746µs | 0.42% | -0.169 | -0.296 | 0.16% | 0.004µs | 1 | 200 |
| normalization/normalize_service/normalize_service/[empty string] | throughput | 26493211.824op/s | 26604997.136op/s ± 42899.906op/s | 26603660.342op/s ± 28572.272op/s | 26631769.537op/s | 26673211.558op/s | 26712104.470op/s | 26718356.083op/s | 0.43% | 0.177 | -0.292 | 0.16% | 3033.481op/s | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | 45.846µs | 45.949µs ± 0.051µs | 45.936µs ± 0.027µs | 45.976µs | 46.046µs | 46.103µs | 46.183µs | 0.54% | 1.172 | 2.089 | 0.11% | 0.004µs | 1 | 200 |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | 21652879.797op/s | 21763283.304op/s ± 24065.475op/s | 21769436.751op/s ± 12621.724op/s | 21779648.999op/s | 21793353.246op/s | 21799238.488op/s | 21812238.314op/s | 0.20% | -1.163 | 2.052 | 0.11% | 1701.686op/s | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | execution_time | [536.298µs; 536.739µs] or [-0.041%; +0.041%] | None | None | None |
| normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... | throughput | [1863122.513op/s; 1864648.303op/s] or [-0.041%; +0.041%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | execution_time | [386.086µs; 386.222µs] or [-0.018%; +0.018%] | None | None | None |
| normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて | throughput | [2589189.352op/s; 2590097.486op/s] or [-0.018%; +0.018%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | execution_time | [190.134µs; 190.197µs] or [-0.017%; +0.017%] | None | None | None |
| normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters | throughput | [5257712.584op/s; 5259467.475op/s] or [-0.017%; +0.017%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | execution_time | [37.579µs; 37.595µs] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_service/normalize_service/[empty string] | throughput | [26599051.621op/s; 26610942.650op/s] or [-0.022%; +0.022%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | execution_time | [45.942µs; 45.956µs] or [-0.015%; +0.015%] | None | None | None |
| normalization/normalize_service/normalize_service/test_ASCII | throughput | [21759948.061op/s; 21766618.548op/s] or [-0.015%; +0.015%] | None | None | None |
Group 13
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.319µs | 2.384µs ± 0.018µs | 2.382µs ± 0.006µs | 2.394µs | 2.418µs | 2.425µs | 2.444µs | 2.58% | -0.582 | 2.986 | 0.76% | 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.381µs; 2.386µs] or [-0.105%; +0.105%] | None | None | None |
Group 14
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.877µs | 3.916µs ± 0.004µs | 3.916µs ± 0.002µs | 3.917µs | 3.920µs | 3.922µs | 3.922µs | 0.16% | -6.363 | 69.288 | 0.09% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/ | throughput | 254968796.771op/s | 255378093.636op/s ± 232624.388op/s | 255378918.475op/s ± 99627.776op/s | 255475390.792op/s | 255576071.468op/s | 255627783.789op/s | 257928655.157op/s | 1.00% | 6.447 | 70.450 | 0.09% | 16449.028op/s | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | 78.567µs | 79.300µs ± 0.273µs | 79.234µs ± 0.077µs | 79.372µs | 79.937µs | 80.303µs | 80.458µs | 1.54% | 1.651 | 4.940 | 0.34% | 0.019µs | 1 | 200 |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | 12428876.488op/s | 12610415.305op/s ± 43242.210op/s | 12620850.861op/s ± 12292.021op/s | 12630177.229op/s | 12656601.211op/s | 12709159.425op/s | 12728032.218op/s | 0.85% | -1.608 | 4.836 | 0.34% | 3057.686op/s | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | execution_time | 72.256µs | 73.053µs ± 0.364µs | 72.973µs ± 0.186µs | 73.228µs | 73.686µs | 74.391µs | 74.660µs | 2.31% | 1.287 | 3.390 | 0.50% | 0.026µs | 1 | 200 |
| credit_card/is_card_number/ 378282246310005 | throughput | 13393969.233op/s | 13689102.049op/s ± 67748.271op/s | 13703730.853op/s ± 34943.631op/s | 13729724.513op/s | 13788139.267op/s | 13819074.546op/s | 13839730.067op/s | 0.99% | -1.232 | 3.193 | 0.49% | 4790.526op/s | 1 | 200 |
| credit_card/is_card_number/37828224631 | execution_time | 3.890µs | 3.916µs ± 0.003µs | 3.916µs ± 0.002µs | 3.917µs | 3.921µs | 3.922µs | 3.924µs | 0.20% | -2.929 | 27.319 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/37828224631 | throughput | 254861833.752op/s | 255366647.408op/s ± 195060.755op/s | 255371692.053op/s ± 102928.679op/s | 255474751.914op/s | 255578705.757op/s | 255616760.969op/s | 257072177.392op/s | 0.67% | 2.977 | 27.809 | 0.08% | 13792.878op/s | 1 | 200 |
| credit_card/is_card_number/378282246310005 | execution_time | 69.115µs | 69.584µs ± 0.364µs | 69.540µs ± 0.279µs | 69.824µs | 70.299µs | 70.628µs | 70.808µs | 1.82% | 0.888 | 0.351 | 0.52% | 0.026µs | 1 | 200 |
| credit_card/is_card_number/378282246310005 | throughput | 14122634.287op/s | 14371459.441op/s ± 74902.467op/s | 14380305.460op/s ± 57619.976op/s | 14437093.238op/s | 14458409.597op/s | 14466033.494op/s | 14468543.277op/s | 0.61% | -0.864 | 0.279 | 0.52% | 5296.404op/s | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | execution_time | 52.215µs | 52.273µs ± 0.034µs | 52.267µs ± 0.018µs | 52.289µs | 52.339µs | 52.372µs | 52.380µs | 0.22% | 0.943 | 0.768 | 0.07% | 0.002µs | 1 | 200 |
| credit_card/is_card_number/37828224631000521389798 | throughput | 19091294.171op/s | 19130209.120op/s ± 12604.877op/s | 19132450.016op/s ± 6696.585op/s | 19138897.157op/s | 19147241.500op/s | 19150758.918op/s | 19151431.969op/s | 0.10% | -0.940 | 0.759 | 0.07% | 891.299op/s | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | execution_time | 6.035µs | 6.044µs ± 0.004µs | 6.044µs ± 0.003µs | 6.047µs | 6.051µs | 6.053µs | 6.054µs | 0.17% | -0.009 | -0.738 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number/x371413321323331 | throughput | 165166915.830op/s | 165456195.975op/s ± 117175.587op/s | 165449738.555op/s ± 86431.324op/s | 165552999.505op/s | 165634857.867op/s | 165691054.195op/s | 165699452.812op/s | 0.15% | 0.012 | -0.739 | 0.07% | 8285.565op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | execution_time | 3.876µs | 3.918µs ± 0.004µs | 3.918µs ± 0.002µs | 3.920µs | 3.923µs | 3.924µs | 3.925µs | 0.18% | -5.598 | 57.069 | 0.10% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ | throughput | 254747413.551op/s | 255240268.707op/s ± 260852.471op/s | 255214408.084op/s ± 129580.010op/s | 255367530.021op/s | 255513766.229op/s | 255582731.006op/s | 257971641.907op/s | 1.08% | 5.683 | 58.214 | 0.10% | 18445.055op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | 63.740µs | 64.403µs ± 0.233µs | 64.371µs ± 0.132µs | 64.541µs | 64.836µs | 65.000µs | 65.145µs | 1.20% | 0.318 | 1.015 | 0.36% | 0.016µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | 15350349.589op/s | 15527420.850op/s ± 56059.728op/s | 15534892.492op/s ± 31842.973op/s | 15562920.175op/s | 15600785.233op/s | 15675014.198op/s | 15688681.843op/s | 0.99% | -0.287 | 1.012 | 0.36% | 3964.021op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | 57.837µs | 58.111µs ± 0.203µs | 58.114µs ± 0.168µs | 58.212µs | 58.460µs | 58.766µs | 58.770µs | 1.13% | 0.781 | 0.317 | 0.35% | 0.014µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | 17015404.976op/s | 17208567.282op/s ± 59999.780op/s | 17207480.953op/s ± 50023.641op/s | 17262628.831op/s | 17281440.343op/s | 17286480.254op/s | 17289923.161op/s | 0.48% | -0.763 | 0.266 | 0.35% | 4242.625op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | 3.898µs | 3.917µs ± 0.003µs | 3.917µs ± 0.002µs | 3.919µs | 3.922µs | 3.924µs | 3.926µs | 0.23% | -0.641 | 5.813 | 0.08% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | 254740694.412op/s | 255317150.756op/s ± 198879.311op/s | 255322665.650op/s ± 127368.829op/s | 255445270.852op/s | 255574456.512op/s | 255650215.063op/s | 256522112.357op/s | 0.47% | 0.659 | 5.911 | 0.08% | 14062.891op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | 54.618µs | 54.820µs ± 0.209µs | 54.716µs ± 0.062µs | 54.917µs | 55.230µs | 55.411µs | 55.853µs | 2.08% | 1.615 | 2.880 | 0.38% | 0.015µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | 17904286.619op/s | 18241925.729op/s ± 69187.189op/s | 18276027.344op/s ± 20747.856op/s | 18291916.345op/s | 18300595.685op/s | 18303913.434op/s | 18309026.350op/s | 0.18% | -1.589 | 2.728 | 0.38% | 4892.273op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | 52.203µs | 52.280µs ± 0.038µs | 52.275µs ± 0.027µs | 52.307µs | 52.331µs | 52.358µs | 52.549µs | 0.52% | 1.837 | 10.816 | 0.07% | 0.003µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | 19029987.990op/s | 19127835.322op/s ± 13909.522op/s | 19129683.111op/s ± 9805.912op/s | 19137919.460op/s | 19145933.989op/s | 19148113.603op/s | 19156088.498op/s | 0.14% | -1.816 | 10.637 | 0.07% | 983.552op/s | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | 6.034µs | 6.042µs ± 0.004µs | 6.041µs ± 0.003µs | 6.044µs | 6.048µs | 6.054µs | 6.065µs | 0.40% | 1.540 | 4.880 | 0.07% | 0.000µs | 1 | 200 |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | 164887488.186op/s | 165519063.227op/s ± 119662.884op/s | 165540571.043op/s ± 74954.926op/s | 165605092.357op/s | 165666492.732op/s | 165685756.489op/s | 165729053.214op/s | 0.11% | -1.530 | 4.823 | 0.07% | 8461.444op/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.915µs; 3.916µs] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number/ | throughput | [255345854.133op/s; 255410333.139op/s] or [-0.013%; +0.013%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | execution_time | [79.263µs; 79.338µs] or [-0.048%; +0.048%] | None | None | None |
| credit_card/is_card_number/ 3782-8224-6310-005 | throughput | [12604422.351op/s; 12616408.259op/s] or [-0.048%; +0.048%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | execution_time | [73.002µs; 73.103µs] or [-0.069%; +0.069%] | None | None | None |
| credit_card/is_card_number/ 378282246310005 | throughput | [13679712.790op/s; 13698491.307op/s] or [-0.069%; +0.069%] | None | None | None |
| credit_card/is_card_number/37828224631 | execution_time | [3.916µs; 3.916µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/37828224631 | throughput | [255339613.863op/s; 255393680.953op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number/378282246310005 | execution_time | [69.534µs; 69.635µs] or [-0.073%; +0.073%] | None | None | None |
| credit_card/is_card_number/378282246310005 | throughput | [14361078.680op/s; 14381840.203op/s] or [-0.072%; +0.072%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | execution_time | [52.269µs; 52.278µs] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/37828224631000521389798 | throughput | [19128462.205op/s; 19131956.035op/s] or [-0.009%; +0.009%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | execution_time | [6.043µs; 6.044µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number/x371413321323331 | throughput | [165439956.566op/s; 165472435.385op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | execution_time | [3.917µs; 3.918µs] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/ | throughput | [255204117.064op/s; 255276420.351op/s] or [-0.014%; +0.014%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | execution_time | [64.371µs; 64.435µs] or [-0.050%; +0.050%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 | throughput | [15519651.511op/s; 15535190.189op/s] or [-0.050%; +0.050%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | execution_time | [58.083µs; 58.139µs] or [-0.048%; +0.048%] | None | None | None |
| credit_card/is_card_number_no_luhn/ 378282246310005 | throughput | [17200251.889op/s; 17216882.674op/s] or [-0.048%; +0.048%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | execution_time | [3.916µs; 3.917µs] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631 | throughput | [255289587.996op/s; 255344713.516op/s] or [-0.011%; +0.011%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | execution_time | [54.791µs; 54.849µs] or [-0.053%; +0.053%] | None | None | None |
| credit_card/is_card_number_no_luhn/378282246310005 | throughput | [18232337.050op/s; 18251514.408op/s] or [-0.053%; +0.053%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | execution_time | [52.275µs; 52.285µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/37828224631000521389798 | throughput | [19125907.596op/s; 19129763.048op/s] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | execution_time | [6.041µs; 6.042µs] or [-0.010%; +0.010%] | None | None | None |
| credit_card/is_card_number_no_luhn/x371413321323331 | throughput | [165502479.103op/s; 165535647.352op/s] or [-0.010%; +0.010%] | None | None | None |
Group 15
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.556ns | 190.786ns ± 1.923ns | 190.653ns ± 1.304ns | 191.691ns | 194.352ns | 196.712ns | 200.157ns | 4.98% | 1.418 | 3.116 | 1.01% | 0.136ns | 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.519ns; 191.052ns] or [-0.140%; +0.140%] | None | None | None |
Group 16
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.911ms | 14.002ms ± 0.037ms | 13.998ms ± 0.020ms | 14.019ms | 14.048ms | 14.144ms | 14.187ms | 1.35% | 1.814 | 6.466 | 0.26% | 0.003ms | 1 | 200 |
| scenario | metric | 95% CI mean | Shapiro-Wilk pvalue | Ljung-Box pvalue (lag=1) | Dip test pvalue |
|---|---|---|---|---|---|
| benching serializing traces from their internal representation to msgpack | execution_time | [13.997ms; 14.007ms] or [-0.037%; +0.037%] | None | None | None |
Group 17
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 725.749µs | 726.860µs ± 2.207µs | 726.646µs ± 0.311µs | 726.950µs | 727.689µs | 728.027µs | 757.104µs | 4.19% | 12.965 | 175.159 | 0.30% | 0.156µ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 | [726.554µs; 727.166µs] or [-0.042%; +0.042%] | None | None | None |
Group 18
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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 | 90.197µs | 90.595µs ± 0.155µs | 90.573µs ± 0.053µs | 90.631µs | 90.781µs | 91.224µs | 91.961µs | 1.53% | 4.791 | 35.552 | 0.17% | 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 | [90.573µs; 90.616µs] or [-0.024%; +0.024%] | None | None | None |
Group 19
| cpu_model | git_commit_sha | git_commit_date | git_branch |
|---|---|---|---|
| Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz | 68ed2a3 | 1773051448 | yannham/tracer-metadata-set-otel-ctxt |
| 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.915µs | 5.000µs ± 0.041µs | 5.007µs ± 0.036µs | 5.028µs | 5.061µs | 5.069µs | 5.070µs | 1.27% | -0.023 | -1.308 | 0.81% | 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 | [4.994µs; 5.006µs] or [-0.113%; +0.113%] | None | None | None |
Baseline
Omitted due to size.
Clippy Allow Annotation ReportComparing clippy allow annotations between branches:
Summary by Rule
Annotation Counts by File
Annotation Stats by Crate
About This ReportThis 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. |
Artifact Size Benchmark Reportaarch64-alpine-linux-musl
aarch64-unknown-linux-gnu
libdatadog-x64-windows
libdatadog-x86-windows
x86_64-alpine-linux-musl
x86_64-unknown-linux-gnu
|
ivoanjo
left a comment
There was a problem hiding this comment.
I've tried to build ruby with this branch and seems to be working fine!
sig-profiling/process-context/c-and-cpp$ sudo ./otel_process_ctx_dump.sh 113193
[sudo] password for ivo.anjo:
Found OTEL context for PID 113193
Start address: 72bb93fa9000
00000000 4f 54 45 4c 5f 43 54 58 02 00 00 00 51 01 00 00 |OTEL_CTX....Q...|
00000010 ec 8d 0f 97 02 f2 99 18 40 68 75 78 78 63 00 00 |........@huxxc..|
00000020
Parsed struct:
otel_process_ctx_signature : "OTEL_CTX"
otel_process_ctx_version : 2
otel_process_payload_size : 337
otel_process_ctx_published_at_ns : 1772714021285236204 (2026-03-05 12:33:41 GMT)
otel_process_payload : 0x0000637878756840
Payload dump (337 bytes):
00000000 0a ce 02 0a 20 0a 16 74 65 6c 65 6d 65 74 72 79 |.... ..telemetry|
00000010 2e 73 64 6b 2e 6c 61 6e 67 75 61 67 65 12 06 0a |.sdk.language...|
00000020 04 72 75 62 79 0a 21 0a 15 74 65 6c 65 6d 65 74 |.ruby.!..telemet|
00000030 72 79 2e 73 64 6b 2e 76 65 72 73 69 6f 6e 12 08 |ry.sdk.version..|
00000040 0a 06 32 2e 33 30 2e 30 0a 1d 0a 09 68 6f 73 74 |..2.30.0....host|
00000050 2e 6e 61 6d 65 12 10 0a 0e 72 75 62 79 74 68 69 |.name....rubythi|
00000060 6e 6b 73 68 61 64 65 0a 37 0a 0d 64 64 2e 72 75 |nkshade.7..dd.ru|
00000070 6e 74 69 6d 65 5f 69 64 12 26 0a 24 36 37 35 37 |ntime_id.&.$6757|
00000080 30 30 33 63 2d 66 62 31 39 2d 34 65 33 62 2d 61 |003c-fb19-4e3b-a|
00000090 34 37 37 2d 65 38 37 61 61 66 30 65 62 64 32 39 |477-e87aaf0ebd29|
000000a0 0a 14 0a 0c 73 65 72 76 69 63 65 2e 6e 61 6d 65 |....service.name|
000000b0 12 04 0a 02 2d 65 0a 1c 0a 16 64 65 70 6c 6f 79 |....-e....deploy|
000000c0 6d 65 6e 74 2e 65 6e 76 69 72 6f 6e 6d 65 6e 74 |ment.environment|
000000d0 12 02 0a 00 0a 15 0a 0f 73 65 72 76 69 63 65 2e |........service.|
000000e0 76 65 72 73 69 6f 6e 12 02 0a 00 0a 15 0a 0f 64 |version........d|
000000f0 64 2e 70 72 6f 63 65 73 73 5f 74 61 67 73 12 02 |d.process_tags..|
00000100 0a 00 0a 15 0a 0f 64 64 2e 70 72 6f 63 65 73 73 |......dd.process|
00000110 5f 74 61 67 73 12 02 0a 00 0a 36 0a 0c 63 6f 6e |_tags.....6..con|
00000120 74 61 69 6e 65 72 2e 69 64 12 26 0a 24 32 31 34 |tainer.id.&.$214|
00000130 32 37 61 30 38 2d 34 30 35 35 2d 34 35 64 64 2d |27a08-4055-45dd-|
00000140 39 31 66 37 2d 37 33 31 39 34 64 64 38 36 38 32 |91f7-73194dd8682|
00000150 66 |f|
00000151
Protobuf decode:
resource {
attributes {
key: "telemetry.sdk.language"
value {
string_value: "ruby"
}
}
attributes {
key: "telemetry.sdk.version"
value {
string_value: "2.30.0"
}
}
attributes {
key: "host.name"
value {
string_value: "rubythinkshade"
}
}
attributes {
key: "dd.runtime_id"
value {
string_value: "6757003c-fb19-4e3b-a477-e87aaf0ebd29"
}
}
attributes {
key: "service.name"
value {
string_value: "-e"
}
}
attributes {
key: "deployment.environment"
value {
string_value: ""
}
}
attributes {
key: "service.version"
value {
string_value: ""
}
}
attributes {
key: "dd.process_tags"
value {
string_value: ""
}
}
attributes {
key: "dd.process_tags"
value {
string_value: ""
}
}
attributes {
key: "container.id"
value {
string_value: "21427a08-4055-45dd-91f7-73194dd8682f"
}
}
}
So I think once we fix up some of the details we can add some integration tests on the Ruby side to parse the context + try with the fork :)
b48734e to
c90d209
Compare
c90d209 to
43edd33
Compare
071be97 to
c3785c8
Compare
43edd33 to
64c8d57
Compare
c3785c8 to
f8f7683
Compare
64c8d57 to
8d0fa3f
Compare
8d0fa3f to
af102f3
Compare
ivoanjo
left a comment
There was a problem hiding this comment.
👍 LGTM.
Re-tested with Ruby and looks great! All fields showing up as expected:
$ sudo ./otel_process_ctx_dump.sh `pidof ruby`
Found OTEL context for PID 216948
Start address: 768d8dca2000
00000000 4f 54 45 4c 5f 43 54 58 02 00 00 00 e7 01 00 00 |OTEL_CTX........|
00000010 46 c4 72 42 89 4a 9a 18 40 1b 93 ff 41 5d 00 00 |[email protected]]..|
00000020
Parsed struct:
otel_process_ctx_signature : "OTEL_CTX"
otel_process_ctx_version : 2
otel_process_payload_size : 487
otel_process_ctx_published_at_ns : 1772811356709504070 (2026-03-06 15:35:56 GMT)
otel_process_payload : 0x00005d41ff931b40
Payload dump (487 bytes):
00000000 0a e1 02 0a 20 0a 16 74 65 6c 65 6d 65 74 72 79 |.... ..telemetry|
00000010 2e 73 64 6b 2e 6c 61 6e 67 75 61 67 65 12 06 0a |.sdk.language...|
00000020 04 72 75 62 79 0a 21 0a 15 74 65 6c 65 6d 65 74 |.ruby.!..telemet|
00000030 72 79 2e 73 64 6b 2e 76 65 72 73 69 6f 6e 12 08 |ry.sdk.version..|
00000040 0a 06 32 2e 33 30 2e 30 0a 22 0a 12 74 65 6c 65 |..2.30.0."..tele|
00000050 6d 65 74 72 79 2e 73 64 6b 2e 6e 61 6d 65 12 0c |metry.sdk.name..|
00000060 0a 0a 6c 69 62 64 61 74 61 64 6f 67 0a 1d 0a 09 |..libdatadog....|
00000070 68 6f 73 74 2e 6e 61 6d 65 12 10 0a 0e 72 75 62 |host.name....rub|
00000080 79 74 68 69 6e 6b 73 68 61 64 65 0a 14 0a 0c 73 |ythinkshade....s|
00000090 65 72 76 69 63 65 2e 6e 61 6d 65 12 04 0a 02 2d |ervice.name....-|
000000a0 65 0a 3d 0a 13 73 65 72 76 69 63 65 2e 69 6e 73 |e.=..service.ins|
000000b0 74 61 6e 63 65 2e 69 64 12 26 0a 24 35 31 38 32 |tance.id.&.$5182|
000000c0 66 30 61 38 2d 66 63 31 62 2d 34 31 65 35 2d 61 |f0a8-fc1b-41e5-a|
000000d0 31 37 66 2d 38 62 63 38 38 36 36 31 31 36 34 64 |17f-8bc88661164d|
000000e0 0a 20 0a 0f 73 65 72 76 69 63 65 2e 76 65 72 73 |. ..service.vers|
000000f0 69 6f 6e 12 0d 0a 0b 74 65 73 74 76 65 72 73 69 |ion....testversi|
00000100 6f 6e 0a 28 0a 1b 64 65 70 6c 6f 79 6d 65 6e 74 |on.(..deployment|
00000110 2e 65 6e 76 69 72 6f 6e 6d 65 6e 74 2e 6e 61 6d |.environment.nam|
00000120 65 12 09 0a 07 74 65 73 74 65 6e 76 0a 36 0a 0c |e....testenv.6..|
00000130 63 6f 6e 74 61 69 6e 65 72 2e 69 64 12 26 0a 24 |container.id.&.$|
00000140 34 33 32 63 61 38 33 63 2d 37 35 39 64 2d 34 39 |432ca83c-759d-49|
00000150 61 66 2d 62 35 63 32 2d 33 32 38 38 33 32 38 30 |af-b5c2-32883280|
00000160 34 66 35 36 12 80 01 0a 14 64 61 74 61 64 6f 67 |4f56.....datadog|
00000170 2e 70 72 6f 63 65 73 73 5f 74 61 67 73 12 68 0a |.process_tags.h.|
00000180 66 65 6e 74 72 79 70 6f 69 6e 74 2e 77 6f 72 6b |fentrypoint.work|
00000190 64 69 72 3a 64 64 2d 74 72 61 63 65 2d 72 62 2c |dir:dd-trace-rb,|
000001a0 65 6e 74 72 79 70 6f 69 6e 74 2e 6e 61 6d 65 3a |entrypoint.name:|
000001b0 65 2c 65 6e 74 72 79 70 6f 69 6e 74 2e 62 61 73 |e,entrypoint.bas|
000001c0 65 64 69 72 3a 64 64 2d 74 72 61 63 65 2d 72 62 |edir:dd-trace-rb|
000001d0 2c 65 6e 74 72 79 70 6f 69 6e 74 2e 74 79 70 65 |,entrypoint.type|
000001e0 3a 73 63 72 69 70 74 |:script|
000001e7
Protobuf decode:
resource {
attributes {
key: "telemetry.sdk.language"
value {
string_value: "ruby"
}
}
attributes {
key: "telemetry.sdk.version"
value {
string_value: "2.30.0"
}
}
attributes {
key: "telemetry.sdk.name"
value {
string_value: "libdatadog"
}
}
attributes {
key: "host.name"
value {
string_value: "rubythinkshade"
}
}
attributes {
key: "service.name"
value {
string_value: "-e"
}
}
attributes {
key: "service.instance.id"
value {
string_value: "5182f0a8-fc1b-41e5-a17f-8bc88661164d"
}
}
attributes {
key: "service.version"
value {
string_value: "testversion"
}
}
attributes {
key: "deployment.environment.name"
value {
string_value: "testenv"
}
}
attributes {
key: "container.id"
value {
string_value: "432ca83c-759d-49af-b5c2-328832804f56"
}
}
}
extra_attributes {
key: "datadog.process_tags"
value {
string_value: "entrypoint.workdir:dd-trace-rb,entrypoint.name:e,entrypoint.basedir:dd-trace-rb,entrypoint.type:script"
}
}
ivoanjo
left a comment
There was a problem hiding this comment.
I thought I had pressed approve on Friday (I did do the 👍 comment anyway so I totally intended to) lol but I guess I picked comment :D
This commit hooks up the new OTel process context publication into the existing tracer metadata publication, so that both are done automatically at once.
68ed2a3 to
e2fc6d9
Compare
|
/merge |
|
View all feedbacks in Devflow UI.
This pull request is not mergeable according to GitHub. Common reasons include pending required checks, missing approvals, or merge conflicts — but it could also be blocked by other repository rules or settings.
The expected merge time in
Tests failed on this commit 2a74896: What to do next?
|
# What does this PR do? Bump to 29.0.0 [feat(profiling)!: add Tracepoint sample type](#1676) [feat(obfuscation/redis): Reach feature parity on redis obfuscation [APMSP-2668]](#1632) [fix(sidecar): Handle backpressure more gracefully](#1682) [feat(trace-protobuf)!: Add two fields to ClientGroupedStats [SVLS-8627]](#1630) [chore: exclude libdatadog from ADMS auto generated PRs for dependency updates](#1688) [chore(ci): run crashtracking ffi example tests in CI](#1687) [fix(crashtracking): use libunwind to unwind frames](#1663) [feat: publish tracer metadata as OTel process ctx](#1658) [ci: run thread count test in own process](#1693) [feat(obfuscation/json): Init json obfuscation [APMSP-2665]](#1635) [chore(ci): add final_status property on junit XML [APMSP-2610]](#1681) [refactor(data-pipeline-ffi): move macro definitions for better reuse](#1699) [fix(obfuscation/memcached): fuzzing fix](#1695) [ci: replace use of cargo cross for centos7 tests](#1675) #1702 (comment) [feat(stats_exporter)!: add process tags to CSS payloads](#1709) # Motivation I mainly am creating this to use the new unwinding from ucontext for crashtracking # Additional Notes Anything else we should know when reviewing? # How to test the change? Describe here in detail how the change can be validated. [APMSP-2668]: https://datadoghq.atlassian.net/browse/APMSP-2668?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [SVLS-8627]: https://datadoghq.atlassian.net/browse/SVLS-8627?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ [APMSP-2665]: https://datadoghq.atlassian.net/browse/APMSP-2665?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ Co-authored-by: gyuheon.oh <[email protected]>
# 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>
# 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>
# 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>
# 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>
**What does this PR do?** This PR adds integration tests for the [libdatadog](DataDog/libdatadog#1658) support for [OTel process context](open-telemetry/opentelemetry-specification#4719). **Motivation:** Starting in libdatadog v29, the process context is automatically published together with the process discovery feature, so we don't need to do anything from the Ruby side to turn it on. Yet, we want to make sure this is in good shape as this is a WIP effort so having a few Ruby-level integration tests seems nice. **Additional Notes:** For Datadog folks -- more details on this work can be found on #ebpf-context-propagation on our slack. The process context is stored as a protobuf message in a very special memory location, hence the new test using protobuf + the weird code to parse memory. **How to test the change?** Validate that new spec is passing!
Depends #1653
What does this PR do?
This is the final follow-up of #1585 (and sequels) for OTel process context publication. This hooks the OTel process context sharing in the existing
store_tracer_metadata, which now publishes using both "protocols".Motivation
This makes the OTel process context publication happen automatically for existing users of libdatadog that would publish tracer metadata already, in a transparent way.
Additional Notes
N/A
How to test the change?
Expected to be tested thereafter for Ruby.