Skip to content

Add process tags to client-side stats#7791

Merged
andrewlock merged 10 commits intomasterfrom
vandonr/process4
Nov 21, 2025
Merged

Add process tags to client-side stats#7791
andrewlock merged 10 commits intomasterfrom
vandonr/process4

Conversation

@vandonr
Copy link
Contributor

@vandonr vandonr commented Nov 6, 2025

Summary of changes

adding process tags at the ClientStatsPayload level.
See proto in the agent

Reason for change

AIDM-195

Implementation details

Test coverage

piggybacked on existing tests

Other details

I realized that dotnet doesn't write the service name at the top level, but only in the buckets. Doesn't seem to be a big issue, but there could be a win here by writing the service in the buckets only when there is an override.

@vandonr vandonr requested review from a team as code owners November 6, 2025 16:48
chatgpt-codex-connector[bot]

This comment was marked as resolved.

@dd-trace-dotnet-ci-bot
Copy link

dd-trace-dotnet-ci-bot bot commented Nov 6, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7791) and master.

✅ No regressions detected - check the details below

Full Metrics Comparison

FakeDbCommand

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration76.05 ± (76.14 - 76.84) ms76.03 ± (76.02 - 76.87) ms-0.0%
.NET Framework 4.8 - Bailout
duration80.46 ± (80.86 - 81.83) ms79.71 ± (79.67 - 80.53) ms-0.9%
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1077.87 ± (1082.31 - 1095.42) ms1063.31 ± (1069.78 - 1081.92) ms-1.4%
.NET Core 3.1 - Baseline
process.internal_duration_ms22.91 ± (22.81 - 23.00) ms23.22 ± (23.12 - 23.32) ms+1.4%✅⬆️
process.time_to_main_ms88.17 ± (87.64 - 88.69) ms88.79 ± (88.25 - 89.33) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.91 ± (10.91 - 10.91) MB10.90 ± (10.90 - 10.91) MB-0.0%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.98 ± (22.92 - 23.04) ms23.01 ± (22.93 - 23.08) ms+0.1%✅⬆️
process.time_to_main_ms89.25 ± (88.88 - 89.63) ms89.69 ± (89.26 - 90.12) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.95 ± (10.94 - 10.95) MB10.94 ± (10.94 - 10.94) MB-0.0%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms221.20 ± (219.93 - 222.47) ms220.59 ± (219.25 - 221.93) ms-0.3%
process.time_to_main_ms502.36 ± (501.17 - 503.55) ms503.86 ± (502.41 - 505.31) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.70 ± (47.69 - 47.72) MB47.71 ± (47.69 - 47.73) MB+0.0%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.1%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms22.00 ± (21.93 - 22.07) ms22.17 ± (22.09 - 22.25) ms+0.8%✅⬆️
process.time_to_main_ms78.34 ± (77.98 - 78.70) ms77.49 ± (77.13 - 77.84) ms-1.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.60 ± (10.60 - 10.61) MB10.63 ± (10.63 - 10.63) MB+0.2%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms22.10 ± (22.02 - 22.18) ms21.86 ± (21.78 - 21.94) ms-1.1%
process.time_to_main_ms79.34 ± (78.94 - 79.74) ms78.08 ± (77.68 - 78.49) ms-1.6%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.67 ± (10.67 - 10.68) MB10.67 ± (10.66 - 10.67) MB-0.0%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms210.31 ± (208.44 - 212.18) ms211.28 ± (209.67 - 212.89) ms+0.5%✅⬆️
process.time_to_main_ms467.96 ± (466.87 - 469.05) ms470.83 ± (469.53 - 472.12) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.09 ± (48.06 - 48.11) MB48.04 ± (48.01 - 48.07) MB-0.1%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 8 - Baseline
process.internal_duration_ms19.87 ± (19.81 - 19.94) ms20.09 ± (20.02 - 20.17) ms+1.1%✅⬆️
process.time_to_main_ms75.00 ± (74.65 - 75.36) ms75.72 ± (75.36 - 76.09) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.64 ± (7.64 - 7.65) MB7.65 ± (7.64 - 7.66) MB+0.1%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.95 ± (19.88 - 20.01) ms20.11 ± (20.04 - 20.18) ms+0.8%✅⬆️
process.time_to_main_ms76.23 ± (75.92 - 76.54) ms77.73 ± (77.31 - 78.16) ms+2.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.70 ± (7.69 - 7.70) MB7.71 ± (7.70 - 7.72) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms193.75 ± (192.86 - 194.65) ms193.63 ± (192.70 - 194.56) ms-0.1%
process.time_to_main_ms458.48 ± (457.28 - 459.68) ms461.55 ± (460.16 - 462.93) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.43 ± (36.39 - 36.47) MB36.39 ± (36.36 - 36.43) MB-0.1%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.0%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration192.31 ± (192.03 - 192.81) ms193.80 ± (193.47 - 194.27) ms+0.8%✅⬆️
.NET Framework 4.8 - Bailout
duration195.84 ± (195.64 - 196.32) ms197.17 ± (197.10 - 197.95) ms+0.7%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1114.62 ± (1119.54 - 1130.19) ms1121.94 ± (1125.41 - 1136.38) ms+0.7%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms188.17 ± (187.86 - 188.49) ms191.55 ± (191.13 - 191.97) ms+1.8%✅⬆️
process.time_to_main_ms80.35 ± (80.16 - 80.54) ms81.83 ± (81.55 - 82.10) ms+1.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.12 ± (16.09 - 16.15) MB16.15 ± (16.12 - 16.17) MB+0.1%✅⬆️
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)+0.2%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms188.16 ± (187.73 - 188.59) ms189.43 ± (189.04 - 189.81) ms+0.7%✅⬆️
process.time_to_main_ms81.86 ± (81.66 - 82.07) ms82.74 ± (82.54 - 82.94) ms+1.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.23 ± (16.20 - 16.26) MB16.20 ± (16.17 - 16.23) MB-0.2%
runtime.dotnet.threads.count21 ± (21 - 21)21 ± (21 - 21)-0.1%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms404.06 ± (401.15 - 406.97) ms406.57 ± (403.36 - 409.77) ms+0.6%✅⬆️
process.time_to_main_ms472.10 ± (471.41 - 472.80) ms475.80 ± (474.93 - 476.67) ms+0.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.60 ± (58.48 - 58.72) MB58.64 ± (58.51 - 58.77) MB+0.1%✅⬆️
runtime.dotnet.threads.count30 ± (29 - 30)29 ± (29 - 30)-0.1%
.NET 6 - Baseline
process.internal_duration_ms192.09 ± (191.73 - 192.46) ms193.34 ± (192.88 - 193.80) ms+0.6%✅⬆️
process.time_to_main_ms69.82 ± (69.67 - 69.97) ms70.31 ± (70.13 - 70.49) ms+0.7%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.13 ± (15.99 - 16.26) MB16.38 ± (16.33 - 16.43) MB+1.6%✅⬆️
runtime.dotnet.threads.count19 ± (18 - 19)19 ± (19 - 19)+1.9%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms193.00 ± (192.62 - 193.37) ms191.51 ± (191.22 - 191.80) ms-0.8%
process.time_to_main_ms71.23 ± (71.10 - 71.36) ms70.84 ± (70.75 - 70.93) ms-0.6%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.39 ± (16.30 - 16.49) MB16.34 ± (16.24 - 16.45) MB-0.3%
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (20 - 20)-0.5%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms414.04 ± (411.47 - 416.61) ms414.69 ± (411.90 - 417.47) ms+0.2%✅⬆️
process.time_to_main_ms442.30 ± (441.62 - 442.99) ms441.68 ± (441.12 - 442.24) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.82 ± (58.68 - 58.95) MB58.89 ± (58.76 - 59.03) MB+0.1%✅⬆️
runtime.dotnet.threads.count30 ± (29 - 30)30 ± (29 - 30)-0.0%
.NET 8 - Baseline
process.internal_duration_ms190.38 ± (190.01 - 190.74) ms190.14 ± (189.82 - 190.46) ms-0.1%
process.time_to_main_ms69.52 ± (69.30 - 69.74) ms69.45 ± (69.28 - 69.62) ms-0.1%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.73 ± (11.70 - 11.76) MB11.79 ± (11.76 - 11.82) MB+0.5%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.0%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms189.95 ± (189.61 - 190.28) ms190.75 ± (190.40 - 191.11) ms+0.4%✅⬆️
process.time_to_main_ms70.27 ± (70.13 - 70.42) ms70.66 ± (70.53 - 70.79) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.83 ± (11.80 - 11.86) MB11.82 ± (11.79 - 11.85) MB-0.1%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.2%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms365.50 ± (364.06 - 366.95) ms367.85 ± (366.42 - 369.27) ms+0.6%✅⬆️
process.time_to_main_ms428.71 ± (428.16 - 429.25) ms431.25 ± (430.44 - 432.05) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.90 ± (47.87 - 47.92) MB47.92 ± (47.89 - 47.95) MB+0.0%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)-0.0%
Comparison explanation

Execution-time benchmarks measure the whole time it takes to execute a program, and are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are highlighted in **red**. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

Duration charts
FakeDbCommand (.NET Framework 4.8)
gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (76ms)  : 70, 82
    master - mean (76ms)  : 71, 82

    section Bailout
    This PR (7791) - mean (80ms)  : 74, 86
    master - mean (81ms)  : 74, 88

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (1,076ms)  : 989, 1163
    master - mean (1,089ms)  : 987, 1190

Loading
FakeDbCommand (.NET Core 3.1)
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (120ms)  : 110, 130
    master - mean (119ms)  : 109, 129

    section Bailout
    This PR (7791) - mean (120ms)  : 112, 128
    master - mean (120ms)  : 113, 126

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (758ms)  : 713, 804
    master - mean (760ms)  : 716, 804

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (107ms)  : 98, 116
    master - mean (108ms)  : 101, 114

    section Bailout
    This PR (7791) - mean (107ms)  : 99, 115
    master - mean (109ms)  : 100, 117

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (715ms)  : 664, 767
    master - mean (710ms)  : 666, 754

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (104ms)  : 96, 112
    master - mean (104ms)  : 96, 111

    section Bailout
    This PR (7791) - mean (106ms)  : 98, 115
    master - mean (105ms)  : 98, 112

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (689ms)  : 661, 717
    master - mean (689ms)  : 660, 718

Loading
HttpMessageHandler (.NET Framework 4.8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (194ms)  : 190, 198
    master - mean (192ms)  : 188, 196

    section Bailout
    This PR (7791) - mean (198ms)  : 193, 202
    master - mean (196ms)  : 193, 199

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (1,131ms)  : 1046, 1216
    master - mean (1,125ms)  : 1041, 1208

Loading
HttpMessageHandler (.NET Core 3.1)
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (282ms)  : 274, 290
    master - mean (277ms)  : 272, 282

    section Bailout
    This PR (7791) - mean (281ms)  : 275, 286
    master - mean (278ms)  : 271, 286

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (915ms)  : 856, 973
    master - mean (905ms)  : 849, 962

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (272ms)  : 266, 279
    master - mean (270ms)  : 266, 275

    section Bailout
    This PR (7791) - mean (270ms)  : 267, 274
    master - mean (272ms)  : 268, 277

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (887ms)  : 845, 930
    master - mean (889ms)  : 839, 939

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7791) - mean (269ms)  : 266, 273
    master - mean (269ms)  : 265, 274

    section Bailout
    This PR (7791) - mean (271ms)  : 266, 276
    master - mean (270ms)  : 265, 275

    section CallTarget+Inlining+NGEN
    This PR (7791) - mean (831ms)  : 808, 854
    master - mean (825ms)  : 804, 846

Loading

@vandonr
Copy link
Contributor Author

vandonr commented Nov 17, 2025

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Keep it up!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@pr-commenter
Copy link

pr-commenter bot commented Nov 17, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7791 compared to master:

  • 1 benchmarks are faster, with geometric mean 2.092
  • 5 benchmarks have fewer allocations
  • 5 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.8 KB 5.71 KB -95 B -1.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.8μs 38.2ns 143ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 12.9μs 66.6ns 312ns 0 0 0 5.8 KB
master StartStopWithChild net472 22.2μs 119ns 618ns 1 0.334 0.111 6.02 KB
#7791 StartStopWithChild net6.0 10.8μs 59ns 344ns 0 0 0 5.52 KB
#7791 StartStopWithChild netcoreapp3.1 13μs 68ns 326ns 0 0 0 5.71 KB
#7791 StartStopWithChild net472 22.1μs 125ns 877ns 0.968 0.43 0.108 6 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 936μs 150ns 540ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 75.5ns 272ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.21ms 101ns 393ns 0 0 0 3.31 KB
#7791 WriteAndFlushEnrichedTraces net6.0 946μs 176ns 680ns 0 0 0 2.71 KB
#7791 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 807ns 3.13μs 0 0 0 2.7 KB
#7791 WriteAndFlushEnrichedTraces net472 1.19ms 245ns 848ns 0 0 0 3.31 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 1.07μs 1.57ns 6.1ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.42μs 7.68ns 40.6ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.01μs 0.12ns 0.432ns 0.193 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.08μs 38.7ns 232ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 8.95μs 44.8ns 210ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.73μs 3.52ns 13.2ns 0.731 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 334ns 1.69ns 7.57ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 394ns 2.18ns 13.4ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 297ns 0.0547ns 0.212ns 0.0434 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.31μs 30.6ns 122ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 33.8ns 131ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.78μs 5.76ns 21.6ns 0.574 0 0 3.8 KB
#7791 AllCycleSimpleBody net6.0 1.04μs 6.5ns 65ns 0 0 0 1.22 KB
#7791 AllCycleSimpleBody netcoreapp3.1 1.41μs 7.49ns 40.3ns 0 0 0 1.2 KB
#7791 AllCycleSimpleBody net472 1.03μs 0.367ns 1.32ns 0.192 0 0 1.23 KB
#7791 AllCycleMoreComplexBody net6.0 6.94μs 35.3ns 183ns 0 0 0 4.72 KB
#7791 AllCycleMoreComplexBody netcoreapp3.1 9.1μs 4.42ns 15.9ns 0 0 0 4.62 KB
#7791 AllCycleMoreComplexBody net472 7.67μs 9.52ns 36.9ns 0.73 0 0 4.74 KB
#7791 ObjectExtractorSimpleBody net6.0 320ns 0.101ns 0.377ns 0 0 0 280 B
#7791 ObjectExtractorSimpleBody netcoreapp3.1 402ns 2.28ns 14.8ns 0 0 0 272 B
#7791 ObjectExtractorSimpleBody net472 302ns 0.163ns 0.61ns 0.044 0 0 281 B
#7791 ObjectExtractorMoreComplexBody net6.0 6.3μs 31.5ns 134ns 0 0 0 3.78 KB
#7791 ObjectExtractorMoreComplexBody netcoreapp3.1 7.78μs 32.2ns 125ns 0 0 0 3.69 KB
#7791 ObjectExtractorMoreComplexBody net472 6.73μs 4.69ns 18.2ns 0.571 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 76.5μs 238ns 922ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.9μs 317ns 1.23μs 0 0 0 32.4 KB
master EncodeArgs net472 109μs 83ns 321ns 4.92 0 0 32.5 KB
master EncodeLegacyArgs net6.0 145μs 14.4ns 53.8ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 200μs 120ns 449ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 260μs 29ns 108ns 0 0 0 2.16 KB
#7791 EncodeArgs net6.0 76.5μs 257ns 993ns 0 0 0 32.4 KB
#7791 EncodeArgs netcoreapp3.1 98.1μs 198ns 765ns 0 0 0 32.4 KB
#7791 EncodeArgs net472 109μs 115ns 445ns 4.89 0 0 32.51 KB
#7791 EncodeLegacyArgs net6.0 146μs 29.1ns 109ns 0 0 0 2.15 KB
#7791 EncodeLegacyArgs netcoreapp3.1 198μs 199ns 770ns 0 0 0 2.14 KB
#7791 EncodeLegacyArgs net472 262μs 29.5ns 114ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster 🎉 Fewer allocations 🎉

Faster 🎉 in #7791

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.092 858,393.44 410,241.25

Fewer allocations 🎉 in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 4.55 KB 4.48 KB -72 B -1.58%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 398μs 84.4ns 316ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 856μs 2.52μs 9.42μs 0 0 0 4.55 KB
master RunWafRealisticBenchmark net472 430μs 48ns 173ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 284μs 106ns 412ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 695μs 9.03μs 90.3μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 310μs 27.9ns 108ns 0 0 0 2.29 KB
#7791 RunWafRealisticBenchmark net6.0 394μs 64.3ns 241ns 0 0 0 4.55 KB
#7791 RunWafRealisticBenchmark netcoreapp3.1 411μs 548ns 2.12μs 0 0 0 4.48 KB
#7791 RunWafRealisticBenchmark net472 428μs 57.3ns 222ns 0 0 0 4.66 KB
#7791 RunWafRealisticBenchmarkWithAttack net6.0 287μs 44.6ns 167ns 0 0 0 2.24 KB
#7791 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 673μs 13μs 130μs 0 0 0 2.22 KB
#7791 RunWafRealisticBenchmarkWithAttack net472 310μs 34.7ns 135ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.1μs 47.5ns 178ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71μs 170ns 614ns 0 0 0 17.42 KB
master SendRequest net472 0.00376ns 0.00182ns 0.00706ns 0 0 0 0 b
#7791 SendRequest net6.0 62.1μs 79ns 306ns 0 0 0 14.52 KB
#7791 SendRequest netcoreapp3.1 71.5μs 144ns 519ns 0 0 0 17.49 KB
#7791 SendRequest net472 0.00214ns 0.00166ns 0.00643ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 0 b 1 B 1 B

Fewer allocations 🎉 in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 5 B 4 B -1 B -20.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.9ms 5.18μs 20μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.14ms 7.97μs 30.9μs 0 0 0 640 KB
master OriginalCharSlice net472 2.65ms 904ns 3.5μs 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.37ms 158ns 614ns 0 0 0 2 B
master OptimizedCharSlice netcoreapp3.1 1.71ms 506ns 1.96μs 0 0 0 1 B
master OptimizedCharSlice net472 2.02ms 308ns 1.19μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 799μs 91.3ns 354ns 0 0 0 5 B
master OptimizedCharSliceWithPool netcoreapp3.1 846μs 174ns 673ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.13ms 71.1ns 266ns 0 0 0 0 b
#7791 OriginalCharSlice net6.0 1.95ms 497ns 1.93μs 0 0 0 640.01 KB
#7791 OriginalCharSlice netcoreapp3.1 2.07ms 2.71μs 10.5μs 0 0 0 640 KB
#7791 OriginalCharSlice net472 2.64ms 188ns 702ns 100 0 0 641.95 KB
#7791 OptimizedCharSlice net6.0 1.49ms 103ns 401ns 0 0 0 2 B
#7791 OptimizedCharSlice netcoreapp3.1 1.69ms 379ns 1.47μs 0 0 0 1 B
#7791 OptimizedCharSlice net472 1.97ms 661ns 2.56μs 0 0 0 0 b
#7791 OptimizedCharSliceWithPool net6.0 801μs 45.6ns 177ns 0 0 0 4 B
#7791 OptimizedCharSliceWithPool netcoreapp3.1 833μs 90.7ns 351ns 0 0 0 1 B
#7791 OptimizedCharSliceWithPool net472 1.15ms 116ns 450ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.68 KB 42.49 KB 812 B 1.95%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 663μs 2.87μs 11.1μs 0 0 0 41.68 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 717μs 3.35μs 13.4μs 0 0 0 41.89 KB
master WriteAndFlushEnrichedTraces net472 937μs 3.83μs 14.8μs 4.46 0 0 55.84 KB
#7791 WriteAndFlushEnrichedTraces net6.0 724μs 994ns 3.72μs 0 0 0 42.49 KB
#7791 WriteAndFlushEnrichedTraces netcoreapp3.1 745μs 3.92μs 20.4μs 0 0 0 41.9 KB
#7791 WriteAndFlushEnrichedTraces net472 855μs 2.68μs 10.4μs 8.33 0 0 55.77 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.93μs 2.26ns 8.76ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.65μs 11.3ns 43.8ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.87μs 2.65ns 10.3ns 0.143 0.0143 0 987 B
#7791 ExecuteNonQuery net6.0 1.91μs 3.69ns 14.3ns 0 0 0 1.02 KB
#7791 ExecuteNonQuery netcoreapp3.1 2.58μs 10.8ns 41.8ns 0 0 0 1.02 KB
#7791 ExecuteNonQuery net472 2.92μs 3.23ns 12.5ns 0.145 0.0145 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.73μs 8.37ns 32.4ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.25μs 10.9ns 43.7ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.61μs 2.65ns 10.3ns 0.163 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.78μs 9.24ns 43.3ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.34μs 10.7ns 43ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.79μs 4.41ns 17.1ns 0.169 0 0 1.1 KB
#7791 CallElasticsearch net6.0 1.76μs 8.36ns 33.4ns 0 0 0 1.03 KB
#7791 CallElasticsearch netcoreapp3.1 2.24μs 8.84ns 34.2ns 0 0 0 1.03 KB
#7791 CallElasticsearch net472 3.61μs 3.06ns 11.9ns 0.163 0 0 1.04 KB
#7791 CallElasticsearchAsync net6.0 1.79μs 5.19ns 20.1ns 0 0 0 1.01 KB
#7791 CallElasticsearchAsync netcoreapp3.1 2.34μs 11ns 45.5ns 0 0 0 1.08 KB
#7791 CallElasticsearchAsync net472 3.73μs 4.35ns 16.3ns 0.166 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.82μs 1.53ns 5.93ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.44μs 11ns 42.5ns 0 0 0 952 B
master ExecuteAsync net472 2.54μs 4.87ns 18.9ns 0.139 0 0 915 B
#7791 ExecuteAsync net6.0 1.8μs 4.81ns 18.6ns 0 0 0 952 B
#7791 ExecuteAsync netcoreapp3.1 2.49μs 11.5ns 45.9ns 0 0 0 952 B
#7791 ExecuteAsync net472 2.69μs 2.86ns 11.1ns 0.133 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 7.09μs 8.69ns 33.7ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.7μs 30.7ns 119ns 0 0 0 2.9 KB
master SendAsync net472 12.1μs 8.79ns 34ns 0.481 0 0 3.18 KB
#7791 SendAsync net6.0 6.76μs 7.57ns 28.3ns 0 0 0 2.36 KB
#7791 SendAsync netcoreapp3.1 8.75μs 23.8ns 92ns 0 0 0 2.9 KB
#7791 SendAsync net472 12μs 11.2ns 43.3ns 0.478 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 57.34 KB 65.54 KB 8.19 KB 14.29%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 257.13 KB 271.94 KB 14.81 KB 5.76%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.44 KB 43.93 KB 488 B 1.12%

Fewer allocations 🎉 in #7791

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 45.53 KB 42.64 KB -2.89 KB -6.34%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 275.24 KB 256.99 KB -18.25 KB -6.63%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.1μs 235ns 1.27μs 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 51.4μs 336ns 3.24μs 0 0 0 45.53 KB
master StringConcatBenchmark net472 56.5μs 220ns 795ns 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 471μs 1.45μs 6.81μs 0 0 0 275.24 KB
master StringConcatAspectBenchmark netcoreapp3.1 489μs 2.34μs 9.34μs 0 0 0 257.13 KB
master StringConcatAspectBenchmark net472 407μs 2.22μs 12.5μs 0 0 0 278.53 KB
#7791 StringConcatBenchmark net6.0 46.2μs 281ns 2.64μs 0 0 0 43.93 KB
#7791 StringConcatBenchmark netcoreapp3.1 49.8μs 257ns 1.18μs 0 0 0 42.64 KB
#7791 StringConcatBenchmark net472 57.7μs 183ns 708ns 0 0 0 65.54 KB
#7791 StringConcatAspectBenchmark net6.0 468μs 2.23μs 8.63μs 0 0 0 256.99 KB
#7791 StringConcatAspectBenchmark netcoreapp3.1 506μs 527ns 1.9μs 0 0 0 271.94 KB
#7791 StringConcatAspectBenchmark net472 410μs 2.16μs 14.1μs 0 0 0 278.53 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.65μs 13.6ns 65.4ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.67μs 11.8ns 45.6ns 0 0 0 1.7 KB
master EnrichedLog net472 3.78μs 2.75ns 10.7ns 0.247 0 0 1.64 KB
#7791 EnrichedLog net6.0 2.62μs 7.08ns 26.5ns 0 0 0 1.7 KB
#7791 EnrichedLog netcoreapp3.1 3.57μs 16.9ns 71.5ns 0 0 0 1.7 KB
#7791 EnrichedLog net472 3.98μs 5.02ns 19.4ns 0.258 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 124μs 200ns 747ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 175ns 605ns 0 0 0 4.31 KB
master EnrichedLog net472 165μs 75.2ns 291ns 0 0 0 4.51 KB
#7791 EnrichedLog net6.0 122μs 77.8ns 302ns 0 0 0 4.31 KB
#7791 EnrichedLog netcoreapp3.1 128μs 243ns 843ns 0 0 0 4.31 KB
#7791 EnrichedLog net472 168μs 68.2ns 264ns 0 0 0 4.52 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.94μs 2.16ns 8.35ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.74μs 29.2ns 113ns 0 0 0 2.26 KB
master EnrichedLog net472 7.58μs 8.17ns 30.6ns 0.301 0 0 2.08 KB
#7791 EnrichedLog net6.0 4.99μs 7.08ns 27.4ns 0 0 0 2.26 KB
#7791 EnrichedLog netcoreapp3.1 6.77μs 26.6ns 103ns 0 0 0 2.26 KB
#7791 EnrichedLog net472 7.74μs 2.04ns 7.34ns 0.307 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 1.92μs 9.92ns 46.5ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.56μs 12ns 46.4ns 0 0 0 1.2 KB
master SendReceive net472 3.14μs 1.36ns 5.28ns 0.188 0 0 1.2 KB
#7791 SendReceive net6.0 1.99μs 8.37ns 32.4ns 0 0 0 1.2 KB
#7791 SendReceive netcoreapp3.1 2.62μs 13.5ns 62ns 0 0 0 1.2 KB
#7791 SendReceive net472 3.11μs 2.74ns 10.3ns 0.186 0 0 1.2 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.29μs 1.73ns 6.48ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.62μs 16ns 61.9ns 0 0 0 1.63 KB
master EnrichedLog net472 6.86μs 6.29ns 24.4ns 0.307 0 0 2.03 KB
#7791 EnrichedLog net6.0 4.14μs 8.56ns 33.2ns 0 0 0 1.58 KB
#7791 EnrichedLog netcoreapp3.1 5.62μs 14.1ns 54.5ns 0 0 0 1.63 KB
#7791 EnrichedLog net472 6.43μs 5.84ns 21.9ns 0.321 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 778ns 0.251ns 0.938ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 996ns 5.22ns 26.1ns 0 0 0 576 B
master StartFinishSpan net472 948ns 0.106ns 0.411ns 0.0903 0 0 578 B
master StartFinishScope net6.0 932ns 2.79ns 10.1ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.18μs 0.875ns 3.39ns 0 0 0 696 B
master StartFinishScope net472 1.15μs 0.221ns 0.854ns 0.104 0 0 658 B
#7791 StartFinishSpan net6.0 762ns 3.55ns 14.6ns 0 0 0 576 B
#7791 StartFinishSpan netcoreapp3.1 958ns 4.63ns 18.5ns 0 0 0 576 B
#7791 StartFinishSpan net472 921ns 0.813ns 3.15ns 0.088 0 0 578 B
#7791 StartFinishScope net6.0 922ns 0.296ns 1.11ns 0 0 0 696 B
#7791 StartFinishScope netcoreapp3.1 1.21μs 0.647ns 2.51ns 0 0 0 696 B
#7791 StartFinishScope net472 1.11μs 0.576ns 2.23ns 0.0991 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.08μs 0.608ns 2.36ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.48μs 7.47ns 32.6ns 0 0 0 696 B
master RunOnMethodBegin net472 1.44μs 1.74ns 6.72ns 0.101 0 0 658 B
#7791 RunOnMethodBegin net6.0 1.08μs 1.86ns 7.2ns 0 0 0 696 B
#7791 RunOnMethodBegin netcoreapp3.1 1.43μs 3.54ns 13.3ns 0 0 0 696 B
#7791 RunOnMethodBegin net472 1.42μs 0.728ns 2.72ns 0.0994 0 0 658 B

Copy link
Member

@andrewlock andrewlock left a comment

Choose a reason for hiding this comment

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

LGTM in general, though I would prefer we injected these in instead of accessing global state, because it hampers testing. Also, you need to add support to the trace-exporter before we can merge this

@datadog-datadog-prod-us1

This comment has been minimized.

Copy link
Member

@andrewlock andrewlock left a comment

Choose a reason for hiding this comment

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

Thanks, LGTM if we remove the libdatadog bits (I know I asked for them, but that was because I assumed they existed 😅)

vandonr and others added 2 commits November 21, 2025 15:32
Co-authored-by: Andrew Lock <andrew.lock@datadoghq.com>
Co-authored-by: Andrew Lock <andrew.lock@datadoghq.com>
@andrewlock andrewlock merged commit c068213 into master Nov 21, 2025
153 checks passed
@andrewlock andrewlock deleted the vandonr/process4 branch November 21, 2025 18:37
@github-actions github-actions bot added this to the vNext-v3 milestone Nov 21, 2025
@andrewlock andrewlock added the area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations) label Nov 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:tracer The core tracer library (Datadog.Trace, does not include OpenTracing, native code, or integrations)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants