Skip to content

Conversation

@dd-octo-sts
Copy link
Contributor

@dd-octo-sts dd-octo-sts bot commented Dec 3, 2025

Updates the package versions for integration tests.

@dd-octo-sts dd-octo-sts bot requested a review from a team as a code owner December 3, 2025 16:52
@dd-octo-sts dd-octo-sts bot added area:dependabot dependabot updates area:test-apps apps used to test integrations dependencies Pull requests that update a dependency file labels Dec 3, 2025
@dd-octo-sts dd-octo-sts bot requested a review from a team as a code owner December 3, 2025 16:52
<!-- Integration: ServiceStack.Redis -->
<!-- Assembly: ServiceStack.Redis -->
<!-- Latest package https://www.nuget.org/packages/ServiceStack.Redis/8.10.0 -->
<!-- Latest package https://www.nuget.org/packages/ServiceStack.Redis/10.0.0 -->
Copy link
Member

Choose a reason for hiding this comment

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

Needs major version bump

Copy link
Member

Choose a reason for hiding this comment

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

#7903 🤞

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

dd-trace-dotnet-ci-bot bot commented Dec 3, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7902) 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
duration74.92 ± (75.01 - 75.59) ms74.94 ± (74.94 - 75.60) ms+0.0%✅⬆️
.NET Framework 4.8 - Bailout
duration79.46 ± (79.29 - 79.94) ms79.51 ± (79.65 - 80.30) ms+0.1%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1060.41 ± (1058.76 - 1066.71) ms1059.48 ± (1059.44 - 1068.36) ms-0.1%
.NET Core 3.1 - Baseline
process.internal_duration_ms22.96 ± (22.89 - 23.02) ms22.96 ± (22.87 - 23.05) ms+0.0%✅⬆️
process.time_to_main_ms87.36 ± (87.02 - 87.71) ms87.33 ± (87.04 - 87.63) ms-0.0%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.92 ± (10.92 - 10.93) MB10.93 ± (10.92 - 10.93) MB+0.0%✅⬆️
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.80 ± (22.74 - 22.85) ms22.73 ± (22.66 - 22.81) ms-0.3%
process.time_to_main_ms89.36 ± (88.98 - 89.73) ms88.55 ± (88.23 - 88.87) ms-0.9%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.96 ± (10.96 - 10.97) MB10.98 ± (10.97 - 10.98) MB+0.1%✅⬆️
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms221.53 ± (220.10 - 222.97) ms222.28 ± (221.01 - 223.55) ms+0.3%✅⬆️
process.time_to_main_ms501.23 ± (500.22 - 502.23) ms500.19 ± (499.07 - 501.31) ms-0.2%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.90 ± (47.88 - 47.93) MB47.97 ± (47.95 - 47.99) MB+0.1%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms21.86 ± (21.79 - 21.92) ms21.77 ± (21.70 - 21.83) ms-0.4%
process.time_to_main_ms77.19 ± (76.86 - 77.52) ms76.58 ± (76.26 - 76.90) ms-0.8%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.60 ± (10.60 - 10.61) MB10.62 ± (10.62 - 10.62) MB+0.2%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.82 ± (21.75 - 21.88) ms21.81 ± (21.74 - 21.87) ms-0.0%
process.time_to_main_ms77.93 ± (77.61 - 78.25) ms78.39 ± (78.07 - 78.71) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.65 ± (10.65 - 10.66) MB10.66 ± (10.66 - 10.66) MB+0.1%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms212.56 ± (211.69 - 213.43) ms211.06 ± (209.96 - 212.16) ms-0.7%
process.time_to_main_ms466.76 ± (465.75 - 467.77) ms464.49 ± (463.49 - 465.48) ms-0.5%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.09 ± (48.07 - 48.11) MB48.09 ± (48.07 - 48.12) MB+0.0%✅⬆️
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)+0.0%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms19.98 ± (19.92 - 20.04) ms19.85 ± (19.78 - 19.92) ms-0.7%
process.time_to_main_ms76.18 ± (75.85 - 76.51) ms74.59 ± (74.30 - 74.89) ms-2.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.65 ± (7.65 - 7.66) MB7.64 ± (7.64 - 7.65) MB-0.1%
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 8 - Bailout
process.internal_duration_ms19.82 ± (19.76 - 19.87) ms19.76 ± (19.71 - 19.82) ms-0.3%
process.time_to_main_ms76.71 ± (76.40 - 77.02) ms76.32 ± (75.99 - 76.65) ms-0.5%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.71 ± (7.71 - 7.72) MB7.70 ± (7.69 - 7.71) MB-0.2%
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms193.61 ± (192.73 - 194.49) ms194.55 ± (193.69 - 195.42) ms+0.5%✅⬆️
process.time_to_main_ms455.05 ± (454.07 - 456.03) ms456.99 ± (456.10 - 457.87) ms+0.4%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.45 ± (36.41 - 36.49) MB36.44 ± (36.40 - 36.48) MB-0.0%
runtime.dotnet.threads.count27 ± (27 - 27)27 ± (27 - 27)-0.6%

HttpMessageHandler

Metric Master (Mean ± 95% CI) Current (Mean ± 95% CI) Change Status
.NET Framework 4.8 - Baseline
duration192.04 ± (191.76 - 192.42) ms192.52 ± (192.71 - 193.57) ms+0.3%✅⬆️
.NET Framework 4.8 - Bailout
duration196.38 ± (195.95 - 196.55) ms196.49 ± (196.16 - 196.82) ms+0.1%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1106.85 ± (1108.21 - 1114.69) ms1108.94 ± (1111.33 - 1118.73) ms+0.2%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms188.40 ± (187.99 - 188.82) ms191.15 ± (190.68 - 191.62) ms+1.5%✅⬆️
process.time_to_main_ms80.82 ± (80.59 - 81.04) ms81.58 ± (81.35 - 81.81) ms+0.9%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.08 ± (16.05 - 16.11) MB16.13 ± (16.10 - 16.15) MB+0.3%✅⬆️
runtime.dotnet.threads.count20 ± (20 - 20)20 ± (19 - 20)-0.3%
.NET Core 3.1 - Bailout
process.internal_duration_ms188.41 ± (187.97 - 188.84) ms191.07 ± (190.62 - 191.52) ms+1.4%✅⬆️
process.time_to_main_ms82.19 ± (82.03 - 82.34) ms83.28 ± (83.03 - 83.53) ms+1.3%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.09 ± (16.07 - 16.12) MB16.15 ± (16.12 - 16.17) MB+0.4%✅⬆️
runtime.dotnet.threads.count21 ± (21 - 21)20 ± (20 - 21)-0.6%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms402.75 ± (400.02 - 405.49) ms399.11 ± (396.72 - 401.50) ms-0.9%
process.time_to_main_ms474.28 ± (473.67 - 474.90) ms474.05 ± (473.50 - 474.60) ms-0.0%
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.69 ± (58.57 - 58.80) MB58.77 ± (58.64 - 58.91) MB+0.2%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 30)29 ± (29 - 29)-0.1%
.NET 6 - Baseline
process.internal_duration_ms192.56 ± (192.20 - 192.93) ms192.80 ± (192.48 - 193.13) ms+0.1%✅⬆️
process.time_to_main_ms70.29 ± (70.12 - 70.47) ms69.85 ± (69.64 - 70.07) ms-0.6%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.33 ± (16.24 - 16.42) MB16.21 ± (16.09 - 16.34) MB-0.7%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)-0.0%
.NET 6 - Bailout
process.internal_duration_ms193.10 ± (192.83 - 193.37) ms191.50 ± (191.21 - 191.79) ms-0.8%
process.time_to_main_ms71.41 ± (71.31 - 71.51) ms70.49 ± (70.36 - 70.62) ms-1.3%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.39 ± (16.31 - 16.46) MB16.05 ± (15.89 - 16.21) MB-2.1%
runtime.dotnet.threads.count20 ± (20 - 20)19 ± (19 - 19)-2.6%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms408.84 ± (406.82 - 410.86) ms408.03 ± (405.71 - 410.34) ms-0.2%
process.time_to_main_ms442.45 ± (441.87 - 443.03) ms442.69 ± (441.98 - 443.40) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed59.25 ± (59.14 - 59.37) MB58.96 ± (58.81 - 59.10) MB-0.5%
runtime.dotnet.threads.count30 ± (30 - 30)30 ± (29 - 30)-0.1%
.NET 8 - Baseline
process.internal_duration_ms190.92 ± (190.55 - 191.29) ms189.69 ± (189.39 - 189.98) ms-0.6%
process.time_to_main_ms69.59 ± (69.44 - 69.75) ms68.79 ± (68.63 - 68.94) ms-1.2%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.71 ± (11.68 - 11.74) MB11.74 ± (11.72 - 11.76) MB+0.2%✅⬆️
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.2%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms189.74 ± (189.46 - 190.02) ms189.59 ± (189.32 - 189.86) ms-0.1%
process.time_to_main_ms70.43 ± (70.35 - 70.52) ms69.94 ± (69.83 - 70.05) ms-0.7%
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.80 ± (11.77 - 11.83) MB11.77 ± (11.74 - 11.80) MB-0.2%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)-0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms366.58 ± (365.30 - 367.86) ms366.71 ± (365.30 - 368.12) ms+0.0%✅⬆️
process.time_to_main_ms428.41 ± (427.68 - 429.14) ms428.97 ± (428.31 - 429.64) ms+0.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.84 ± (47.80 - 47.88) MB47.93 ± (47.89 - 47.96) MB+0.2%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.1%✅⬆️
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 (7902) - mean (75ms)  : 70, 80
    master - mean (75ms)  : 71, 80

    section Bailout
    This PR (7902) - mean (80ms)  : 75, 85
    master - mean (80ms)  : 75, 84

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (1,064ms)  : 999, 1128
    master - mean (1,063ms)  : 1005, 1120

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 (7902) - mean (118ms)  : 111, 125
    master - mean (118ms)  : 110, 125

    section Bailout
    This PR (7902) - mean (119ms)  : 112, 125
    master - mean (120ms)  : 113, 127

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (758ms)  : 722, 795
    master - mean (762ms)  : 728, 796

Loading
FakeDbCommand (.NET 6)
gantt
    title Execution time (ms) FakeDbCommand (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7902) - mean (105ms)  : 99, 112
    master - mean (106ms)  : 101, 112

    section Bailout
    This PR (7902) - mean (108ms)  : 102, 113
    master - mean (107ms)  : 100, 114

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (705ms)  : 678, 732
    master - mean (708ms)  : 681, 735

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7902) - mean (103ms)  : 98, 109
    master - mean (105ms)  : 99, 110

    section Bailout
    This PR (7902) - mean (105ms)  : 98, 111
    master - mean (105ms)  : 100, 111

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (685ms)  : 657, 713
    master - mean (686ms)  : 660, 713

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 (7902) - mean (193ms)  : 187, 200
    master - mean (192ms)  : 189, 195

    section Bailout
    This PR (7902) - mean (196ms)  : 193, 200
    master - mean (196ms)  : 193, 199

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (1,115ms)  : 1062, 1168
    master - mean (1,111ms)  : 1065, 1158

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 (7902) - mean (282ms)  : 272, 291
    master - mean (278ms)  : 271, 284

    section Bailout
    This PR (7902) - mean (283ms)  : 277, 289
    master - mean (279ms)  : 272, 285

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (915ms)  : 872, 957
    master - mean (915ms)  : 869, 962

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7902) - mean (271ms)  : 267, 275
    master - mean (271ms)  : 266, 276

    section Bailout
    This PR (7902) - mean (270ms)  : 267, 273
    master - mean (272ms)  : 269, 276

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (885ms)  : 843, 927
    master - mean (884ms)  : 852, 917

Loading
HttpMessageHandler (.NET 8)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7902) - mean (268ms)  : 263, 272
    master - mean (270ms)  : 264, 276

    section Bailout
    This PR (7902) - mean (269ms)  : 265, 272
    master - mean (270ms)  : 266, 273

    section CallTarget+Inlining+NGEN
    This PR (7902) - mean (826ms)  : 798, 854
    master - mean (826ms)  : 802, 851

Loading

@pr-commenter
Copy link

pr-commenter bot commented Dec 3, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7902 compared to master:

  • 2 benchmarks are slower, with geometric mean 1.463
  • 6 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 ✔️ More allocations ⚠️

More allocations ⚠️ in #7902

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 5.93 KB 5.97 KB 35 B 0.59%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.7μs 59.6ns 381ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.6μs 66.3ns 265ns 0 0 0 5.71 KB
master StartStopWithChild net472 22.2μs 113ns 554ns 0.982 0.436 0.109 5.93 KB
#7902 StartStopWithChild net6.0 10.8μs 58.9ns 338ns 0 0 0 5.49 KB
#7902 StartStopWithChild netcoreapp3.1 13.7μs 71.6ns 358ns 0 0 0 5.7 KB
#7902 StartStopWithChild net472 21.8μs 121ns 766ns 0.859 0.215 0 5.97 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 1.27ms 271ns 1.01μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.39ms 113ns 424ns 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.71ms 1.94μs 7.53μs 0 0 0 3.39 KB
#7902 WriteAndFlushEnrichedTraces net6.0 1.27ms 120ns 464ns 0 0 0 2.7 KB
#7902 WriteAndFlushEnrichedTraces netcoreapp3.1 1.38ms 231ns 864ns 0 0 0 2.7 KB
#7902 WriteAndFlushEnrichedTraces net472 1.75ms 2.68μs 10.4μs 0 0 0 3.39 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.11μs 6.4ns 42.4ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.39μs 7.92ns 57.1ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 993ns 0.763ns 2.96ns 0.193 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.46μs 37.7ns 185ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 8.84μs 46.1ns 221ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.67μs 3.84ns 14.4ns 0.727 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 323ns 0.166ns 0.644ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 402ns 1.95ns 8.28ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 295ns 0.0329ns 0.128ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.29μs 33.3ns 173ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.88μs 33.2ns 129ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.68μs 2.06ns 7.43ns 0.571 0 0 3.8 KB
#7902 AllCycleSimpleBody net6.0 1.03μs 5.99ns 53.2ns 0 0 0 1.22 KB
#7902 AllCycleSimpleBody netcoreapp3.1 1.41μs 7.89ns 50.5ns 0 0 0 1.2 KB
#7902 AllCycleSimpleBody net472 998ns 0.331ns 1.15ns 0.194 0 0 1.23 KB
#7902 AllCycleMoreComplexBody net6.0 7.34μs 36.3ns 154ns 0 0 0 4.72 KB
#7902 AllCycleMoreComplexBody netcoreapp3.1 8.85μs 44.9ns 196ns 0 0 0 4.62 KB
#7902 AllCycleMoreComplexBody net472 7.74μs 8.8ns 34.1ns 0.736 0 0 4.74 KB
#7902 ObjectExtractorSimpleBody net6.0 326ns 1.84ns 12.1ns 0 0 0 280 B
#7902 ObjectExtractorSimpleBody netcoreapp3.1 395ns 2.05ns 10.8ns 0 0 0 272 B
#7902 ObjectExtractorSimpleBody net472 301ns 0.0138ns 0.0496ns 0.044 0 0 281 B
#7902 ObjectExtractorMoreComplexBody net6.0 6.28μs 31.1ns 135ns 0 0 0 3.78 KB
#7902 ObjectExtractorMoreComplexBody netcoreapp3.1 7.9μs 28.7ns 111ns 0 0 0 3.69 KB
#7902 ObjectExtractorMoreComplexBody net472 6.74μs 3.07ns 11.9ns 0.572 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 75.2μs 376ns 1.64μs 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 98.3μs 141ns 546ns 0 0 0 32.4 KB
master EncodeArgs net472 112μs 18.2ns 68ns 5.02 0 0 32.5 KB
master EncodeLegacyArgs net6.0 144μs 17.8ns 66.7ns 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 205μs 174ns 673ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 263μs 23.2ns 83.8ns 0 0 0 2.14 KB
#7902 EncodeArgs net6.0 75.5μs 293ns 1.09μs 0 0 0 32.4 KB
#7902 EncodeArgs netcoreapp3.1 97.3μs 256ns 959ns 0 0 0 32.4 KB
#7902 EncodeArgs net472 109μs 29.5ns 114ns 4.89 0 0 32.5 KB
#7902 EncodeLegacyArgs net6.0 144μs 9.61ns 35.9ns 0 0 0 2.14 KB
#7902 EncodeLegacyArgs netcoreapp3.1 197μs 38.4ns 149ns 0 0 0 2.14 KB
#7902 EncodeLegacyArgs net472 261μs 63.7ns 247ns 0 0 0 2.14 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 430μs 1.68μs 7.51μs 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 629μs 18.3μs 183μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 496μs 352ns 1.27μs 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 317μs 1.58μs 7.07μs 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 378μs 4.66μs 45.9μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 372μs 303ns 1.09μs 0 0 0 0 b
#7902 RunWafRealisticBenchmark net6.0 429μs 1.21μs 4.37μs 0 0 0 4.55 KB
#7902 RunWafRealisticBenchmark netcoreapp3.1 469μs 2.63μs 17.3μs 0 0 0 4.48 KB
#7902 RunWafRealisticBenchmark net472 504μs 2.41μs 9.62μs 0 0 0 0 b
#7902 RunWafRealisticBenchmarkWithAttack net6.0 317μs 1.61μs 9.68μs 0 0 0 2.24 KB
#7902 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 356μs 2.49μs 23.8μs 0 0 0 2.22 KB
#7902 RunWafRealisticBenchmarkWithAttack net472 371μs 509ns 1.84μs 0 0 0 0 b
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 84.1μs 97.5ns 378ns 0 0 0 18.97 KB
master SendRequest netcoreapp3.1 98.1μs 436ns 2.39μs 0 0 0 21.19 KB
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#7902 SendRequest net6.0 84.5μs 337ns 1.58μs 0 0 0 18.97 KB
#7902 SendRequest netcoreapp3.1 97.2μs 539ns 3.19μs 0 0 0 21.18 KB
#7902 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7902

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OriginalCharSlice‑netcoreapp3.1 1.900 2,106,300.00 4,001,800.00

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.96ms 999ns 3.87μs 0 0 0 640 KB
master OriginalCharSlice netcoreapp3.1 2.11ms 6.95μs 45μs 0 0 0 640 KB
master OriginalCharSlice net472 2.61ms 657ns 2.55μs 0 0 0 638.98 KB
master OptimizedCharSlice net6.0 1.45ms 497ns 1.79μs 0 0 0 0 b
master OptimizedCharSlice netcoreapp3.1 2.85ms 582ns 2.25μs 0 0 0 0 b
master OptimizedCharSlice net472 1.9ms 1.12μs 4.2μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.01ms 765ns 2.96μs 0 0 0 0 b
master OptimizedCharSliceWithPool netcoreapp3.1 1.87ms 989ns 3.7μs 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.16ms 1.27μs 4.91μs 0 0 0 0 b
#7902 OriginalCharSlice net6.0 1.95ms 693ns 2.5μs 0 0 0 640 KB
#7902 OriginalCharSlice netcoreapp3.1 4ms 994ns 3.72μs 0 0 0 640.05 KB
#7902 OriginalCharSlice net472 2.61ms 810ns 3.14μs 0 0 0 638.98 KB
#7902 OptimizedCharSlice net6.0 1.45ms 1.26μs 4.89μs 0 0 0 0 b
#7902 OptimizedCharSlice netcoreapp3.1 2.74ms 658ns 2.37μs 0 0 0 0 b
#7902 OptimizedCharSlice net472 1.9ms 671ns 2.6μs 0 0 0 0 b
#7902 OptimizedCharSliceWithPool net6.0 1.06ms 598ns 2.24μs 0 0 0 0 b
#7902 OptimizedCharSliceWithPool netcoreapp3.1 1.93ms 1.32μs 5.11μs 0 0 0 0 b
#7902 OptimizedCharSliceWithPool net472 1.15ms 684ns 2.65μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7902

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 1.126 832,957.81 937,907.50

More allocations ⚠️ in #7902

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 42.02 KB 43.14 KB 1.12 KB 2.67%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.54 KB 56.25 KB 708 B 1.27%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 732μs 472ns 1.77μs 0 0 0 41.68 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 790μs 4μs 19.2μs 0 0 0 42.02 KB
master WriteAndFlushEnrichedTraces net472 832μs 1.31μs 4.71μs 4.46 0 0 55.54 KB
#7902 WriteAndFlushEnrichedTraces net6.0 761μs 1.46μs 5.65μs 0 0 0 41.63 KB
#7902 WriteAndFlushEnrichedTraces netcoreapp3.1 717μs 3.79μs 19μs 0 0 0 43.14 KB
#7902 WriteAndFlushEnrichedTraces net472 936μs 3.53μs 12.7μs 8.33 4.17 0 56.25 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.98μs 4.27ns 16ns 0 0 0 968 B
master ExecuteNonQuery netcoreapp3.1 2.68μs 11.3ns 43.9ns 0 0 0 960 B
master ExecuteNonQuery net472 2.64μs 0.787ns 2.94ns 0.145 0 0 931 B
#7902 ExecuteNonQuery net6.0 2.04μs 1.42ns 5.3ns 0 0 0 968 B
#7902 ExecuteNonQuery netcoreapp3.1 2.52μs 7.05ns 27.3ns 0 0 0 960 B
#7902 ExecuteNonQuery net472 2.69μs 1.17ns 4.53ns 0.146 0 0 931 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.72μs 8.9ns 40.8ns 0 0 0 952 B
master CallElasticsearch netcoreapp3.1 2.27μs 9.56ns 37ns 0 0 0 968 B
master CallElasticsearch net472 3.32μs 3.52ns 13.6ns 0.149 0 0 955 B
master CallElasticsearchAsync net6.0 1.76μs 3.79ns 14.7ns 0 0 0 928 B
master CallElasticsearchAsync netcoreapp3.1 2.44μs 9.88ns 38.2ns 0 0 0 1.02 KB
master CallElasticsearchAsync net472 3.59μs 9.83ns 38.1ns 0.143 0 0 1.01 KB
#7902 CallElasticsearch net6.0 1.66μs 8.16ns 35.5ns 0 0 0 952 B
#7902 CallElasticsearch netcoreapp3.1 2.31μs 11.7ns 52.1ns 0 0 0 968 B
#7902 CallElasticsearch net472 3.44μs 5.2ns 20.1ns 0.137 0 0 955 B
#7902 CallElasticsearchAsync net6.0 1.68μs 6.69ns 25.9ns 0 0 0 928 B
#7902 CallElasticsearchAsync netcoreapp3.1 2.48μs 11.5ns 45.9ns 0 0 0 1.02 KB
#7902 CallElasticsearchAsync net472 3.54μs 2.25ns 8.4ns 0.159 0 0 1.01 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.84μs 8.92ns 35.7ns 0 0 0 896 B
master ExecuteAsync netcoreapp3.1 2.38μs 8.92ns 33.4ns 0 0 0 896 B
master ExecuteAsync net472 2.49μs 1.23ns 4.61ns 0.124 0 0 858 B
#7902 ExecuteAsync net6.0 1.79μs 9.46ns 47.3ns 0 0 0 896 B
#7902 ExecuteAsync netcoreapp3.1 2.44μs 6.97ns 27ns 0 0 0 896 B
#7902 ExecuteAsync net472 2.53μs 1.58ns 6.1ns 0.125 0 0 858 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 6.69μs 12.5ns 43.4ns 0 0 0 2.29 KB
master SendAsync netcoreapp3.1 8.51μs 16.2ns 62.6ns 0 0 0 2.83 KB
master SendAsync net472 12.1μs 8.08ns 31.3ns 0.48 0 0 3.08 KB
#7902 SendAsync net6.0 7.23μs 13.7ns 53ns 0 0 0 2.29 KB
#7902 SendAsync netcoreapp3.1 8.51μs 16ns 62ns 0 0 0 2.83 KB
#7902 SendAsync net472 12.1μs 8.3ns 32.1ns 0.484 0 0 3.08 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7902

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 49.15 KB 57.34 KB 8.19 KB 16.67%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 256.08 KB 259.02 KB 2.94 KB 1.15%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 256.79 KB 259.65 KB 2.86 KB 1.11%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.1μs 206ns 799ns 0 0 0 42.51 KB
master StringConcatBenchmark netcoreapp3.1 49.1μs 276ns 1.85μs 0 0 0 42.54 KB
master StringConcatBenchmark net472 57.5μs 144ns 498ns 0 0 0 49.15 KB
master StringConcatAspectBenchmark net6.0 466μs 2.37μs 11.6μs 0 0 0 256.79 KB
master StringConcatAspectBenchmark netcoreapp3.1 500μs 1.98μs 8.4μs 0 0 0 256.08 KB
master StringConcatAspectBenchmark net472 403μs 2.06μs 10.1μs 0 0 0 270.34 KB
#7902 StringConcatBenchmark net6.0 46.3μs 363ns 3.45μs 0 0 0 42.51 KB
#7902 StringConcatBenchmark netcoreapp3.1 57.7μs 813ns 8.05μs 0 0 0 42.54 KB
#7902 StringConcatBenchmark net472 57.3μs 229ns 857ns 0 0 0 57.34 KB
#7902 StringConcatAspectBenchmark net6.0 518μs 1.29μs 4.46μs 0 0 0 259.65 KB
#7902 StringConcatAspectBenchmark netcoreapp3.1 539μs 2.47μs 9.58μs 0 0 0 259.02 KB
#7902 StringConcatAspectBenchmark net472 396μs 1.87μs 7.24μs 0 0 0 270.34 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.64μs 1.89ns 7.3ns 0 0 0 1.69 KB
master EnrichedLog netcoreapp3.1 3.54μs 17ns 74.1ns 0 0 0 1.7 KB
master EnrichedLog net472 3.96μs 5.05ns 19.6ns 0.239 0 0 1.6 KB
#7902 EnrichedLog net6.0 2.63μs 13.2ns 60.6ns 0 0 0 1.69 KB
#7902 EnrichedLog netcoreapp3.1 3.55μs 16.7ns 66.6ns 0 0 0 1.7 KB
#7902 EnrichedLog net472 3.92μs 3.02ns 11.3ns 0.235 0 0 1.6 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 611ns 3.06μs 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 130μs 543ns 2.49μs 0 0 0 4.31 KB
master EnrichedLog net472 176μs 902ns 4.14μs 0 0 0 4.51 KB
#7902 EnrichedLog net6.0 126μs 319ns 1.24μs 0 0 0 4.31 KB
#7902 EnrichedLog netcoreapp3.1 129μs 41.1ns 142ns 0 0 0 4.31 KB
#7902 EnrichedLog net472 168μs 122ns 473ns 0 0 0 4.51 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 5.01μs 21.1ns 79.1ns 0 0 0 2.24 KB
master EnrichedLog netcoreapp3.1 6.97μs 26.8ns 104ns 0 0 0 2.26 KB
master EnrichedLog net472 7.48μs 7.87ns 30.5ns 0.299 0 0 2.05 KB
#7902 EnrichedLog net6.0 5.16μs 19ns 71ns 0 0 0 2.24 KB
#7902 EnrichedLog netcoreapp3.1 6.85μs 9.55ns 37ns 0 0 0 2.26 KB
#7902 EnrichedLog net472 7.58μs 2.95ns 11.4ns 0.303 0 0 2.05 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.95μs 9.26ns 35.8ns 0 0 0 1.12 KB
master SendReceive netcoreapp3.1 2.59μs 3.62ns 14ns 0 0 0 1.14 KB
master SendReceive net472 2.99μs 1.82ns 6.31ns 0.163 0 0 1.12 KB
#7902 SendReceive net6.0 1.91μs 0.68ns 2.45ns 0 0 0 1.12 KB
#7902 SendReceive netcoreapp3.1 2.56μs 12.3ns 47.4ns 0 0 0 1.14 KB
#7902 SendReceive net472 3.04μs 2.67ns 10.3ns 0.166 0 0 1.12 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.58μs 11.8ns 44.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.64μs 15.1ns 58.4ns 0 0 0 1.63 KB
master EnrichedLog net472 6.58μs 6.48ns 25.1ns 0.293 0 0 2.03 KB
#7902 EnrichedLog net6.0 4.36μs 17.4ns 62.9ns 0 0 0 1.58 KB
#7902 EnrichedLog netcoreapp3.1 5.76μs 4.95ns 19.2ns 0 0 0 1.63 KB
#7902 EnrichedLog net472 6.51μs 7.9ns 30.6ns 0.292 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 760ns 0.588ns 2.28ns 0 0 0 520 B
master StartFinishSpan netcoreapp3.1 953ns 4.7ns 19.9ns 0 0 0 520 B
master StartFinishSpan net472 885ns 0.0458ns 0.172ns 0.0799 0 0 522 B
master StartFinishScope net6.0 895ns 4.58ns 21.5ns 0 0 0 640 B
master StartFinishScope netcoreapp3.1 1.14μs 5.79ns 25.2ns 0 0 0 640 B
master StartFinishScope net472 1.07μs 0.486ns 1.82ns 0.0911 0 0 602 B
master StartFinishTwoScopes net6.0 1.77μs 2.24ns 8.66ns 0 0 0 1.19 KB
master StartFinishTwoScopes netcoreapp3.1 2.15μs 11.2ns 55.9ns 0 0 0 1.19 KB
master StartFinishTwoScopes net472 2.1μs 1.35ns 5.23ns 0.168 0 0 1.08 KB
#7902 StartFinishSpan net6.0 756ns 3.51ns 13.6ns 0 0 0 520 B
#7902 StartFinishSpan netcoreapp3.1 949ns 4.97ns 25.8ns 0 0 0 520 B
#7902 StartFinishSpan net472 916ns 0.0656ns 0.237ns 0.0827 0 0 522 B
#7902 StartFinishScope net6.0 908ns 2.82ns 10.9ns 0 0 0 640 B
#7902 StartFinishScope netcoreapp3.1 1.14μs 1.43ns 5.35ns 0 0 0 640 B
#7902 StartFinishScope net472 1.09μs 0.921ns 3.57ns 0.0924 0 0 602 B
#7902 StartFinishTwoScopes net6.0 1.77μs 8.46ns 32.8ns 0 0 0 1.19 KB
#7902 StartFinishTwoScopes netcoreapp3.1 2.22μs 10.5ns 40.6ns 0 0 0 1.19 KB
#7902 StartFinishTwoScopes net472 2.17μs 0.259ns 1ns 0.163 0 0 1.08 KB
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.06μs 2.94ns 11.4ns 0 0 0 640 B
master RunOnMethodBegin netcoreapp3.1 1.41μs 7.12ns 31ns 0 0 0 640 B
master RunOnMethodBegin net472 1.43μs 0.432ns 1.56ns 0.0931 0 0 602 B
#7902 RunOnMethodBegin net6.0 1.07μs 5.06ns 19.6ns 0 0 0 640 B
#7902 RunOnMethodBegin netcoreapp3.1 1.41μs 7.18ns 31.3ns 0 0 0 640 B
#7902 RunOnMethodBegin net472 1.41μs 0.484ns 1.68ns 0.092 0 0 602 B

@dd-octo-sts dd-octo-sts bot force-pushed the bot/test-package-versions-bump branch from 47c7bc2 to c3b8a77 Compare December 7, 2025 00:28
@datadog-datadog-prod-us1

This comment has been minimized.

@dd-octo-sts dd-octo-sts bot force-pushed the bot/test-package-versions-bump branch from c3b8a77 to 03f5afe Compare December 9, 2025 10:01
@dd-octo-sts dd-octo-sts bot force-pushed the bot/test-package-versions-bump branch from 03f5afe to cf05dfe Compare December 9, 2025 11:43
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

@andrewlock andrewlock enabled auto-merge (squash) December 9, 2025 12:24
@andrewlock andrewlock merged commit 2f49826 into master Dec 9, 2025
149 of 150 checks passed
@andrewlock andrewlock deleted the bot/test-package-versions-bump branch December 9, 2025 13:11
@github-actions github-actions bot added this to the vNext-v3 milestone Dec 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:dependabot dependabot updates area:test-apps apps used to test integrations dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants