Skip to content

Conversation

@NachoEchevarria
Copy link
Collaborator

@NachoEchevarria NachoEchevarria commented Nov 28, 2025

Summary of changes

In some docker tests, we are not able to generate dumps:

2025-11-28T09:37:38.3389079Z 09:37:38 [DBG]   Failed Datadog.Trace.Security.IntegrationTests.Iast.WeakCipherTests.IntegrationDisabled(variableName: "DD_TRACE_SymmetricAlgorithm_ENABLED", variableValue: "false") [3 s]
2025-11-28T09:37:38.3401898Z 09:37:38 [DBG]   Error Message:
2025-11-28T09:37:38.3403074Z 09:37:38 [DBG]    Datadog.Trace.TestHelpers.ExitCodeException+SIGSEGVExitCodeException : Expected exit code: 0, actual exit code: 139. Message: [createdump] Problem suspending threads: ptrace(ATTACH, 32164) FAILED Operation not permitted (1)
2025-11-28T09:37:38.3403704Z 09:37:38 [DBG] [createdump] Failure took 0ms
2025-11-28T09:37:38.3407175Z 09:37:38 [DBG] [createdump] Problem suspending threads: ptrace(ATTACH, 32169) FAILED Operation not permitted (1)
2025-11-28T09:37:38.3407637Z 09:37:38 [DBG] [createdump] Failure took 1123ms
2025-11-28T09:37:38.3407809Z 09:37:38 [DBG] 
2025-11-28T09:37:38.3407968Z 09:37:38 [DBG]   Stack Trace:
2025-11-28T09:37:38.3410247Z 09:37:38 [DBG]      at Datadog.Trace.TestHelpers.ExitCodeException.Throw(Int32 actualExitCode, Int32 expectedExitCode, String message) in /project/tracer/test/Datadog.Trace.TestHelpers/ExitCodeException.cs:line 44
2025-11-28T09:37:38.3410558Z 09:37:38 [DBG]    at Datadog.Trace.TestHelpers.ExitCodeException.ThrowIfNonExpected(Int32 actualExitCode, Int32 expectedExitCode, String message) in /project/tracer/test/Datadog.Trace.TestHelpers/ExitCodeException.cs:line 26
2025-11-28T09:37:38.3410951Z 09:37:38 [DBG]    at Datadog.Trace.TestHelpers.TestHelper.WaitForProcessResult(ProcessHelper helper, Int32 expectedExitCode, Boolean dumpChildProcesses) in /project/tracer/test/Datadog.Trace.TestHelpers.AutoInstrumentation/TestHelper.cs:line 214
2025-11-28T09:37:38.3411325Z 09:37:38 [DBG]    at Datadog.Trace.TestHelpers.TestHelper.RunSampleAndWaitForExit(MockTracerAgent agent, String arguments, String packageVersion, String framework, Int32 aspNetCorePort, Boolean usePublishWithRID, String dotnetRuntimeArgs) in /project/tracer/test/Datadog.Trace.TestHelpers.AutoInstrumentation/TestHelper.cs:line 174
2025-11-28T09:37:38.3413036Z 09:37:38 [DBG]    at Datadog.Trace.Security.IntegrationTests.Iast.WeakCipherTests.IntegrationDisabled(String variableName, String variableValue) in /project/tracer/test/Datadog.Trace.Security.IntegrationTests/IAST/WeakCipher/WeakCipherTests.cs:line 73
2025-11-28T09:37:38.3413389Z 09:37:38 [DBG] --- End of stack trace from previous location ---
2025-11-28T09:37:38.3414486Z 09:37:38 [DBG]   Standard Output Messages:
2025-11-28T09:37:38.3415065Z 09:37:38 [DBG]  Platform: Arm64
2025-11-28T09:37:38.3415370Z 09:37:38 [DBG]  TargetPlatform: ARM64
2025-11-28T09:37:38.3415632Z 09:37:38 [DBG]  Configuration: Release
2025-11-28T09:37:38.3415920Z 09:37:38 [DBG]  TargetFramework: net7.0
2025-11-28T09:37:38.3416770Z 09:37:38 [DBG]  .NET Core: True
2025-11-28T09:37:38.3417492Z 09:37:38 [DBG]  Native Loader DLL: /project/shared/bin/monitoring-home/linux-musl-arm64/Datadog.Trace.ClrProfiler.Native.so
2025-11-28T09:37:38.3418963Z 09:37:38 [DBG]  Agent listener info: Traces at port 41605
2025-11-28T09:37:38.3419224Z 09:37:38 [DBG]  Starting Application: /project/artifacts/bin/Samples.WeakCipher/release_net7.0/Samples.WeakCipher.dll
2025-11-28T09:37:38.3419393Z 09:37:38 [DBG]  ProcessId: 32164
2025-11-28T09:37:38.3419650Z 09:37:38 [DBG]  StandardOutput:
2025-11-28T09:37:38.3419841Z 09:37:38 [DBG]  [createdump] Gathering state for process 32164 dotnet
2025-11-28T09:37:38.3420026Z 09:37:38 [DBG]  [createdump] Crashing thread 7da4 signal 11 (000b)
2025-11-28T09:37:38.3425455Z 09:37:38 [DBG]  [createdump] Gathering state for process 32164 dotnet
2025-11-28T09:37:38.3426504Z 09:37:38 [DBG]  [createdump] Crashing thread 7db9 signal 11 (000b)
2025-11-28T09:37:38.3426945Z 09:37:38 [DBG]  [createdump] Target process is alive
2025-11-28T09:37:38.3427216Z 09:37:38 [DBG]  [createdump] Target process is alive
2025-11-28T09:37:38.3428201Z 09:37:38 [DBG]  
2025-11-28T09:37:38.3429174Z 09:37:38 [DBG]  StandardError:
2025-11-28T09:37:38.3429870Z 09:37:38 [DBG]  [createdump] Problem suspending threads: ptrace(ATTACH, 32164) FAILED Operation not permitted (1)
2025-11-28T09:37:38.3430686Z 09:37:38 [DBG]  [createdump] Failure took 0ms
2025-11-28T09:37:38.3431037Z 09:37:38 [DBG]  [createdump] Problem suspending threads: ptrace(ATTACH, 32169) FAILED Operation not permitted (1)
2025-11-28T09:37:38.3431325Z 09:37:38 [DBG]  [createdump] Failure took 1123ms
2025-11-28T09:37:38.3431800Z 09:37:38 [DBG]  
2025-11-28T09:37:38.3432125Z 09:37:38 [DBG]  ProcessId: 32164
2025-11-28T09:37:38.3432392Z 09:37:38 [DBG]  Exit Code: 139

While other jobs already have SYS_PTRACE capabilities, others don't. This PR adds these capabilities to jobs that can potentially generate dumps. The .NET createdump utility requires the ptrace() system call to attach to crashing processes and collect crash dumps. Docker containers don't have this capability by default for security reasons but in CI environments, it's ok.

Reason for change

Implementation details

Test coverage

Other details

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

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

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing This PR (7877) 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.67 ± (76.43 - 77.46) ms76.62 ± (76.92 - 77.95) ms-0.1%
.NET Framework 4.8 - Bailout
duration79.31 ± (79.23 - 79.86) ms79.84 ± (79.82 - 80.58) ms+0.7%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1063.58 ± (1063.74 - 1071.29) ms1068.78 ± (1070.63 - 1081.48) ms+0.5%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms23.06 ± (22.99 - 23.12) ms23.25 ± (23.16 - 23.34) ms+0.8%✅⬆️
process.time_to_main_ms88.91 ± (88.56 - 89.26) ms89.12 ± (88.64 - 89.60) ms+0.2%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.92 ± (10.91 - 10.92) MB10.91 ± (10.91 - 10.92) MB-0.1%
runtime.dotnet.threads.count12 ± (12 - 12)12 ± (12 - 12)+0.0%
.NET Core 3.1 - Bailout
process.internal_duration_ms22.94 ± (22.87 - 23.01) ms22.92 ± (22.86 - 22.98) ms-0.1%
process.time_to_main_ms90.14 ± (89.72 - 90.56) ms89.34 ± (89.00 - 89.67) ms-0.9%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.96 ± (10.96 - 10.96) MB10.96 ± (10.95 - 10.96) MB-0.0%
runtime.dotnet.threads.count13 ± (13 - 13)13 ± (13 - 13)+0.0%
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms225.23 ± (223.66 - 226.80) ms225.72 ± (224.31 - 227.12) ms+0.2%✅⬆️
process.time_to_main_ms506.63 ± (505.42 - 507.84) ms505.92 ± (504.43 - 507.40) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed47.85 ± (47.83 - 47.87) MB47.81 ± (47.79 - 47.83) MB-0.1%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.6%
.NET 6 - Baseline
process.internal_duration_ms21.72 ± (21.66 - 21.78) ms21.90 ± (21.83 - 21.98) ms+0.9%✅⬆️
process.time_to_main_ms76.43 ± (76.14 - 76.72) ms76.23 ± (75.91 - 76.54) ms-0.3%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.59 ± (10.59 - 10.59) MB10.63 ± (10.62 - 10.63) MB+0.3%✅⬆️
runtime.dotnet.threads.count10 ± (10 - 10)10 ± (10 - 10)+0.0%
.NET 6 - Bailout
process.internal_duration_ms21.65 ± (21.59 - 21.71) ms21.87 ± (21.78 - 21.96) ms+1.0%✅⬆️
process.time_to_main_ms76.88 ± (76.55 - 77.21) ms78.41 ± (77.95 - 78.86) ms+2.0%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed10.64 ± (10.64 - 10.64) MB10.66 ± (10.66 - 10.67) MB+0.2%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms213.09 ± (212.04 - 214.14) ms213.02 ± (211.79 - 214.25) ms-0.0%
process.time_to_main_ms470.36 ± (469.32 - 471.39) ms472.57 ± (471.29 - 473.85) ms+0.5%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed48.08 ± (48.06 - 48.11) MB48.08 ± (48.05 - 48.11) MB-0.0%
runtime.dotnet.threads.count28 ± (28 - 28)28 ± (28 - 28)-0.0%
.NET 8 - Baseline
process.internal_duration_ms19.93 ± (19.87 - 20.00) ms20.12 ± (20.04 - 20.20) ms+0.9%✅⬆️
process.time_to_main_ms76.27 ± (75.91 - 76.63) ms76.48 ± (76.05 - 76.90) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.64 ± (7.63 - 7.65) MB7.65 ± (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.90 ± (19.85 - 19.96) ms19.85 ± (19.78 - 19.92) ms-0.3%
process.time_to_main_ms76.91 ± (76.61 - 77.20) ms76.84 ± (76.42 - 77.27) ms-0.1%
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed7.69 ± (7.68 - 7.69) MB7.70 ± (7.69 - 7.71) MB+0.1%✅⬆️
runtime.dotnet.threads.count11 ± (11 - 11)11 ± (11 - 11)+0.0%
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms194.14 ± (192.94 - 195.34) ms193.78 ± (192.58 - 194.97) ms-0.2%
process.time_to_main_ms457.75 ± (456.72 - 458.78) ms459.03 ± (457.69 - 460.38) ms+0.3%✅⬆️
runtime.dotnet.exceptions.count0 ± (0 - 0)0 ± (0 - 0)+0.0%
runtime.dotnet.mem.committed36.41 ± (36.37 - 36.45) MB36.44 ± (36.40 - 36.48) 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.40 ± (192.45 - 193.31) ms194.45 ± (194.69 - 195.60) ms+1.1%✅⬆️
.NET Framework 4.8 - Bailout
duration195.04 ± (194.82 - 195.27) ms197.82 ± (197.58 - 198.30) ms+1.4%✅⬆️
.NET Framework 4.8 - CallTarget+Inlining+NGEN
duration1104.03 ± (1110.09 - 1119.81) ms1112.54 ± (1112.19 - 1118.93) ms+0.8%✅⬆️
.NET Core 3.1 - Baseline
process.internal_duration_ms186.65 ± (186.33 - 186.96) ms188.84 ± (188.42 - 189.27) ms+1.2%✅⬆️
process.time_to_main_ms80.03 ± (79.85 - 80.21) ms81.50 ± (81.23 - 81.78) ms+1.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.19 ± (16.17 - 16.21) MB16.12 ± (16.08 - 16.15) MB-0.4%
runtime.dotnet.threads.count20 ± (19 - 20)20 ± (20 - 20)+0.1%✅⬆️
.NET Core 3.1 - Bailout
process.internal_duration_ms186.67 ± (186.35 - 187.00) ms188.14 ± (187.85 - 188.42) ms+0.8%✅⬆️
process.time_to_main_ms81.53 ± (81.35 - 81.70) ms82.41 ± (82.28 - 82.54) ms+1.1%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed16.18 ± (16.11 - 16.25) MB16.23 ± (16.21 - 16.26) MB+0.3%✅⬆️
runtime.dotnet.threads.count21 ± (20 - 21)21 ± (20 - 21)+0.1%✅⬆️
.NET Core 3.1 - CallTarget+Inlining+NGEN
process.internal_duration_ms396.58 ± (393.84 - 399.32) ms401.74 ± (399.10 - 404.38) ms+1.3%✅⬆️
process.time_to_main_ms470.63 ± (470.00 - 471.26) ms474.18 ± (473.63 - 474.72) ms+0.8%✅⬆️
runtime.dotnet.exceptions.count3 ± (3 - 3)3 ± (3 - 3)+0.0%
runtime.dotnet.mem.committed58.58 ± (58.43 - 58.72) MB58.76 ± (58.65 - 58.87) MB+0.3%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 29)29 ± (29 - 29)+0.0%✅⬆️
.NET 6 - Baseline
process.internal_duration_ms190.63 ± (190.38 - 190.88) ms193.35 ± (192.96 - 193.75) ms+1.4%✅⬆️
process.time_to_main_ms69.37 ± (69.26 - 69.49) ms70.46 ± (70.27 - 70.66) ms+1.6%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.26 ± (16.14 - 16.37) MB16.22 ± (16.10 - 16.34) MB-0.2%
runtime.dotnet.threads.count18 ± (18 - 18)19 ± (18 - 19)+2.2%✅⬆️
.NET 6 - Bailout
process.internal_duration_ms190.63 ± (190.25 - 191.01) ms192.14 ± (191.88 - 192.39) ms+0.8%✅⬆️
process.time_to_main_ms70.51 ± (70.39 - 70.64) ms71.23 ± (71.12 - 71.33) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed16.04 ± (15.88 - 16.20) MB16.16 ± (16.03 - 16.30) MB+0.8%✅⬆️
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 20)+1.4%✅⬆️
.NET 6 - CallTarget+Inlining+NGEN
process.internal_duration_ms405.02 ± (402.64 - 407.40) ms405.91 ± (403.81 - 408.01) ms+0.2%✅⬆️
process.time_to_main_ms438.30 ± (437.78 - 438.81) ms442.90 ± (442.30 - 443.50) ms+1.1%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed58.38 ± (58.22 - 58.54) MB58.94 ± (58.78 - 59.10) MB+1.0%✅⬆️
runtime.dotnet.threads.count29 ± (29 - 30)30 ± (29 - 30)+0.2%✅⬆️
.NET 8 - Baseline
process.internal_duration_ms190.33 ± (189.96 - 190.69) ms191.93 ± (191.53 - 192.34) ms+0.8%✅⬆️
process.time_to_main_ms69.35 ± (69.12 - 69.58) ms69.77 ± (69.59 - 69.94) ms+0.6%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.75 ± (11.72 - 11.77) MB11.74 ± (11.72 - 11.76) MB-0.0%
runtime.dotnet.threads.count18 ± (18 - 18)18 ± (18 - 18)+0.3%✅⬆️
.NET 8 - Bailout
process.internal_duration_ms188.05 ± (187.85 - 188.25) ms190.44 ± (190.22 - 190.66) ms+1.3%✅⬆️
process.time_to_main_ms70.00 ± (69.91 - 70.09) ms70.70 ± (70.61 - 70.80) ms+1.0%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed11.83 ± (11.80 - 11.86) MB11.81 ± (11.79 - 11.84) MB-0.1%
runtime.dotnet.threads.count19 ± (19 - 19)19 ± (19 - 19)+0.3%✅⬆️
.NET 8 - CallTarget+Inlining+NGEN
process.internal_duration_ms364.31 ± (362.97 - 365.64) ms367.54 ± (366.21 - 368.86) ms+0.9%✅⬆️
process.time_to_main_ms426.43 ± (425.83 - 427.03) ms432.03 ± (431.35 - 432.71) ms+1.3%✅⬆️
runtime.dotnet.exceptions.count4 ± (4 - 4)4 ± (4 - 4)+0.0%
runtime.dotnet.mem.committed47.83 ± (47.79 - 47.86) MB47.93 ± (47.90 - 47.95) 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 (7877) - mean (77ms)  : 70, 85
    master - mean (77ms)  : 70, 84

    section Bailout
    This PR (7877) - mean (80ms)  : 75, 86
    master - mean (80ms)  : 75, 84

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (1,076ms)  : 999, 1153
    master - mean (1,068ms)  : 1013, 1122

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 (7877) - mean (120ms)  : 109, 130
    master - mean (120ms)  : 112, 127

    section Bailout
    This PR (7877) - mean (120ms)  : 114, 125
    master - mean (121ms)  : 114, 127

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (769ms)  : 729, 809
    master - mean (773ms)  : 733, 813

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

    section Bailout
    This PR (7877) - mean (107ms)  : 99, 116
    master - mean (106ms)  : 100, 111

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (713ms)  : 676, 750
    master - mean (711ms)  : 682, 740

Loading
FakeDbCommand (.NET 8)
gantt
    title Execution time (ms) FakeDbCommand (.NET 8)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7877) - mean (105ms)  : 98, 113
    master - mean (105ms)  : 97, 113

    section Bailout
    This PR (7877) - mean (106ms)  : 96, 116
    master - mean (105ms)  : 100, 111

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (688ms)  : 656, 720
    master - mean (687ms)  : 650, 725

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 (7877) - mean (195ms)  : 190, 200
    master - mean (193ms)  : 188, 197

    section Bailout
    This PR (7877) - mean (198ms)  : 194, 202
    master - mean (195ms)  : 193, 197

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (1,116ms)  : 1066, 1165
    master - mean (1,115ms)  : 1043, 1187

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 (7877) - mean (279ms)  : 273, 285
    master - mean (275ms)  : 270, 280

    section Bailout
    This PR (7877) - mean (279ms)  : 275, 282
    master - mean (276ms)  : 272, 280

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (913ms)  : 862, 963
    master - mean (903ms)  : 854, 951

Loading
HttpMessageHandler (.NET 6)
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6)
    dateFormat  x
    axisFormat %Q
    todayMarker off
    section Baseline
    This PR (7877) - mean (272ms)  : 267, 277
    master - mean (268ms)  : 265, 272

    section Bailout
    This PR (7877) - mean (271ms)  : 267, 275
    master - mean (269ms)  : 264, 274

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (882ms)  : 851, 914
    master - mean (875ms)  : 834, 917

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

    section Bailout
    This PR (7877) - mean (271ms)  : 268, 274
    master - mean (267ms)  : 265, 270

    section CallTarget+Inlining+NGEN
    This PR (7877) - mean (830ms)  : 807, 854
    master - mean (822ms)  : 802, 841

Loading

@pr-commenter
Copy link

pr-commenter bot commented Nov 28, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7877 compared to master:

  • 1 benchmarks are slower, with geometric mean 2.636
  • 4 benchmarks have fewer allocations
  • 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 ✔️ Fewer allocations 🎉

Fewer allocations 🎉 in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 6.14 KB 6 KB -140 B -2.28%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.6μs 59.2ns 360ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 14.3μs 73ns 350ns 0 0 0 5.73 KB
master StartStopWithChild net472 22.9μs 118ns 728ns 0.896 0.336 0 6.14 KB
#7877 StartStopWithChild net6.0 10.7μs 59.6ns 382ns 0 0 0 5.53 KB
#7877 StartStopWithChild netcoreapp3.1 13.5μs 66.9ns 306ns 0 0 0 5.73 KB
#7877 StartStopWithChild net472 22.7μs 125ns 792ns 1.02 0.34 0.113 6 KB
Benchmarks.Trace.AgentWriterBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 N/A N/A N/A NaN NaN NaN 0 b
master WriteAndFlushEnrichedTraces netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
master WriteAndFlushEnrichedTraces net472 N/A N/A N/A NaN NaN NaN 0 b
#7877 WriteAndFlushEnrichedTraces net6.0 N/A N/A N/A NaN NaN NaN 0 b
#7877 WriteAndFlushEnrichedTraces netcoreapp3.1 N/A N/A N/A NaN NaN NaN 0 b
#7877 WriteAndFlushEnrichedTraces net472 N/A N/A N/A NaN NaN NaN 0 b
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.08μs 5.79ns 33.3ns 0 0 0 1.22 KB
master AllCycleSimpleBody netcoreapp3.1 1.39μs 7.9ns 55.9ns 0 0 0 1.2 KB
master AllCycleSimpleBody net472 1.11μs 1.11ns 4.3ns 0.194 0 0 1.23 KB
master AllCycleMoreComplexBody net6.0 7.22μs 4.09ns 15.8ns 0 0 0 4.72 KB
master AllCycleMoreComplexBody netcoreapp3.1 9.35μs 43.6ns 175ns 0 0 0 4.62 KB
master AllCycleMoreComplexBody net472 7.58μs 3.67ns 14.2ns 0.718 0 0 4.74 KB
master ObjectExtractorSimpleBody net6.0 321ns 1.78ns 11ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 405ns 1.99ns 8.42ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 299ns 0.178ns 0.667ns 0.0442 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.27μs 31.4ns 137ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.87μs 36.9ns 148ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.6μs 1.21ns 4.53ns 0.598 0 0 3.8 KB
#7877 AllCycleSimpleBody net6.0 1.07μs 6.01ns 40.8ns 0 0 0 1.22 KB
#7877 AllCycleSimpleBody netcoreapp3.1 1.38μs 7.82ns 57.5ns 0 0 0 1.2 KB
#7877 AllCycleSimpleBody net472 1.08μs 0.578ns 2ns 0.193 0 0 1.23 KB
#7877 AllCycleMoreComplexBody net6.0 7.09μs 33.4ns 134ns 0 0 0 4.72 KB
#7877 AllCycleMoreComplexBody netcoreapp3.1 9.13μs 29.4ns 110ns 0 0 0 4.62 KB
#7877 AllCycleMoreComplexBody net472 7.53μs 4.39ns 17ns 0.752 0 0 4.74 KB
#7877 ObjectExtractorSimpleBody net6.0 329ns 1.61ns 6.85ns 0 0 0 280 B
#7877 ObjectExtractorSimpleBody netcoreapp3.1 395ns 1.88ns 7.97ns 0 0 0 272 B
#7877 ObjectExtractorSimpleBody net472 301ns 0.36ns 1.3ns 0.0444 0 0 281 B
#7877 ObjectExtractorMoreComplexBody net6.0 6.4μs 29.4ns 114ns 0 0 0 3.78 KB
#7877 ObjectExtractorMoreComplexBody netcoreapp3.1 7.91μs 38.1ns 153ns 0 0 0 3.69 KB
#7877 ObjectExtractorMoreComplexBody net472 6.67μs 2.75ns 10.7ns 0.6 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.3μs 214ns 828ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.7μs 24.1ns 90.3ns 0 0 0 32.4 KB
master EncodeArgs net472 110μs 27ns 105ns 4.94 0 0 32.51 KB
master EncodeLegacyArgs net6.0 144μs 26ns 101ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 201μs 755ns 2.93μs 0 0 0 2.15 KB
master EncodeLegacyArgs net472 265μs 142ns 551ns 0 0 0 2.16 KB
#7877 EncodeArgs net6.0 77μs 30.8ns 111ns 0 0 0 32.4 KB
#7877 EncodeArgs netcoreapp3.1 96.2μs 254ns 879ns 0 0 0 32.4 KB
#7877 EncodeArgs net472 111μs 33ns 123ns 4.99 0 0 32.51 KB
#7877 EncodeLegacyArgs net6.0 147μs 94.4ns 353ns 0 0 0 2.14 KB
#7877 EncodeLegacyArgs netcoreapp3.1 196μs 309ns 1.11μs 0 0 0 2.14 KB
#7877 EncodeLegacyArgs net472 266μs 273ns 1.06μs 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑net6.0 5.48 KB 5.77 KB 288 B 5.26%

Fewer allocations 🎉 in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑net6.0 2.83 KB 2.54 KB -288 B -10.17%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 446μs 2.59μs 23.2μs 0 0 0 5.48 KB
master RunWafRealisticBenchmark netcoreapp3.1 473μs 2.77μs 25.8μs 0 0 0 4.58 KB
master RunWafRealisticBenchmark net472 492μs 356ns 1.28μs 0 0 0 0 b
master RunWafRealisticBenchmarkWithAttack net6.0 321μs 920ns 3.19μs 0 0 0 2.83 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 362μs 3.19μs 31.1μs 0 0 0 2.32 KB
master RunWafRealisticBenchmarkWithAttack net472 368μs 449ns 1.68μs 0 0 0 0 b
#7877 RunWafRealisticBenchmark net6.0 432μs 2.1μs 8.41μs 0 0 0 5.77 KB
#7877 RunWafRealisticBenchmark netcoreapp3.1 463μs 2.35μs 20.3μs 0 0 0 4.58 KB
#7877 RunWafRealisticBenchmark net472 499μs 733ns 2.84μs 0 0 0 0 b
#7877 RunWafRealisticBenchmarkWithAttack net6.0 317μs 1.74μs 10.7μs 0 0 0 2.54 KB
#7877 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 329μs 1.51μs 10.3μs 0 0 0 2.32 KB
#7877 RunWafRealisticBenchmarkWithAttack net472 372μs 291ns 1.09μs 0 0 0 0 b
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 60.6μs 36.8ns 133ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 72.2μs 334ns 1.34μs 0 0 0 17.42 KB
master SendRequest net472 0.161ns 0.00536ns 0.0208ns 0 0 0 0 b
#7877 SendRequest net6.0 61.6μs 105ns 392ns 0 0 0 14.52 KB
#7877 SendRequest netcoreapp3.1 72.1μs 188ns 752ns 0 0 0 17.42 KB
#7877 SendRequest net472 0.00386ns 0.00123ns 0.00477ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 640 B 976 B 336 B 52.50%

Fewer allocations 🎉 in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 976 B 640 B -336 B -34.43%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.89ms 1.31μs 4.9μs 0 0 0 640.3 KB
master OriginalCharSlice netcoreapp3.1 3.99ms 1.21μs 4.19μs 0 0 0 640.1 KB
master OriginalCharSlice net472 2.66ms 1.44μs 5.59μs 0 0 0 647.17 KB
master OptimizedCharSlice net6.0 1.42ms 502ns 1.74μs 0 0 0 976 B
master OptimizedCharSlice netcoreapp3.1 2.77ms 1.17μs 4.53μs 0 0 0 104 B
master OptimizedCharSlice net472 1.92ms 1.12μs 4.18μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 1.01ms 744ns 2.88μs 0 0 0 640 B
master OptimizedCharSliceWithPool netcoreapp3.1 1.92ms 1.72μs 6.64μs 0 0 0 104 B
master OptimizedCharSliceWithPool net472 1.14ms 273ns 946ns 0 0 0 0 b
#7877 OriginalCharSlice net6.0 1.9ms 891ns 3.33μs 0 0 0 640.64 KB
#7877 OriginalCharSlice netcoreapp3.1 3.92ms 1.33μs 4.97μs 0 0 0 640.1 KB
#7877 OriginalCharSlice net472 2.64ms 660ns 2.47μs 0 0 0 647.17 KB
#7877 OptimizedCharSlice net6.0 1.54ms 1.07μs 4.13μs 0 0 0 640 B
#7877 OptimizedCharSlice netcoreapp3.1 2.82ms 724ns 2.71μs 0 0 0 104 B
#7877 OptimizedCharSlice net472 1.94ms 553ns 2.14μs 0 0 0 0 b
#7877 OptimizedCharSliceWithPool net6.0 1.07ms 187ns 698ns 0 0 0 976 B
#7877 OptimizedCharSliceWithPool netcoreapp3.1 1.87ms 1.14μs 4.26μs 0 0 0 104 B
#7877 OptimizedCharSliceWithPool net472 1.13ms 471ns 1.7μs 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 55.79 KB 56.22 KB 432 B 0.77%

Fewer allocations 🎉 in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 42.23 KB 41.7 KB -531 B -1.26%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 714μs 3.63μs 16.6μs 0 0 0 42.23 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 746μs 4.1μs 24.9μs 0 0 0 41.86 KB
master WriteAndFlushEnrichedTraces net472 939μs 4.3μs 23.2μs 4.46 0 0 55.79 KB
#7877 WriteAndFlushEnrichedTraces net6.0 705μs 2.02μs 7.28μs 0 0 0 41.7 KB
#7877 WriteAndFlushEnrichedTraces netcoreapp3.1 771μs 4.06μs 21.5μs 0 0 0 41.79 KB
#7877 WriteAndFlushEnrichedTraces net472 1.02ms 5.01μs 22.4μs 8.33 0 0 56.22 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.91μs 8.67ns 33.6ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.53μs 5.29ns 20.5ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.74μs 3.2ns 12.4ns 0.151 0 0 987 B
#7877 ExecuteNonQuery net6.0 1.9μs 7.95ns 30.8ns 0 0 0 1.02 KB
#7877 ExecuteNonQuery netcoreapp3.1 2.55μs 11.5ns 44.6ns 0 0 0 1.02 KB
#7877 ExecuteNonQuery net472 2.75μs 3.46ns 13.4ns 0.154 0 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.75μs 9.2ns 44.1ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.26μs 10.9ns 45.1ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.48μs 1.22ns 4.56ns 0.157 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.87μs 7.73ns 30ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.41μs 7.48ns 25.9ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.69μs 4.57ns 17.7ns 0.167 0 0 1.1 KB
#7877 CallElasticsearch net6.0 1.72μs 8.17ns 31.6ns 0 0 0 1.03 KB
#7877 CallElasticsearch netcoreapp3.1 2.44μs 8.65ns 33.5ns 0 0 0 1.03 KB
#7877 CallElasticsearch net472 3.4μs 1.95ns 7.55ns 0.153 0 0 1.04 KB
#7877 CallElasticsearchAsync net6.0 1.89μs 2.33ns 9.02ns 0 0 0 1.01 KB
#7877 CallElasticsearchAsync netcoreapp3.1 2.42μs 12.1ns 52.6ns 0 0 0 1.08 KB
#7877 CallElasticsearchAsync net472 3.6μs 2.2ns 7.95ns 0.162 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.92μs 7.18ns 27.8ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.45μs 8.55ns 33.1ns 0 0 0 952 B
master ExecuteAsync net472 2.58μs 2.98ns 11.5ns 0.141 0 0 915 B
#7877 ExecuteAsync net6.0 1.85μs 8.87ns 34.3ns 0 0 0 952 B
#7877 ExecuteAsync netcoreapp3.1 2.41μs 10.4ns 40.2ns 0 0 0 952 B
#7877 ExecuteAsync net472 2.54μs 5.34ns 20.7ns 0.141 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μs 11.5ns 44.4ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.7μs 19.8ns 76.9ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 7.96ns 29.8ns 0.489 0 0 3.18 KB
#7877 SendAsync net6.0 7.1μs 4ns 15.5ns 0 0 0 2.36 KB
#7877 SendAsync netcoreapp3.1 8.37μs 29.7ns 115ns 0 0 0 2.9 KB
#7877 SendAsync net472 12.2μs 12.5ns 46.9ns 0.485 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7877

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 2.636 459,050.00 1,210,000.00

More allocations ⚠️ in #7877

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.78 KB 54.15 KB 10.38 KB 23.70%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 273.29 KB 320.41 KB 47.12 KB 17.24%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 278.53 KB 283.43 KB 4.9 KB 1.76%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 45μs 304ns 2.83μs 0 0 0 43.78 KB
master StringConcatBenchmark netcoreapp3.1 52.5μs 503ns 4.91μs 0 0 0 43.09 KB
master StringConcatBenchmark net472 57μs 278ns 1.15μs 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 460μs 1.51μs 8.01μs 0 0 0 273.29 KB
master StringConcatAspectBenchmark netcoreapp3.1 510μs 2.39μs 10.7μs 0 0 0 273.14 KB
master StringConcatAspectBenchmark net472 411μs 1.98μs 14.3μs 0 0 0 278.53 KB
#7877 StringConcatBenchmark net6.0 42.9μs 214ns 1.25μs 0 0 0 54.15 KB
#7877 StringConcatBenchmark netcoreapp3.1 49.6μs 282ns 2.54μs 0 0 0 42.94 KB
#7877 StringConcatBenchmark net472 57.2μs 95.8ns 345ns 0 0 0 57.34 KB
#7877 StringConcatAspectBenchmark net6.0 1.21ms 2.05μs 7.41μs 0 0 0 320.41 KB
#7877 StringConcatAspectBenchmark netcoreapp3.1 530μs 2.43μs 8.77μs 0 0 0 273.31 KB
#7877 StringConcatAspectBenchmark net472 424μs 2.22μs 11.5μs 0 0 0 283.43 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.71μs 13.2ns 54.3ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.62μs 12.5ns 48.5ns 0 0 0 1.7 KB
master EnrichedLog net472 3.95μs 6.07ns 23.5ns 0.254 0 0 1.64 KB
#7877 EnrichedLog net6.0 2.72μs 14.2ns 69.7ns 0 0 0 1.7 KB
#7877 EnrichedLog netcoreapp3.1 3.51μs 18.3ns 89.5ns 0 0 0 1.7 KB
#7877 EnrichedLog net472 3.97μs 4.37ns 16.9ns 0.257 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 123μs 78.6ns 305ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 126μs 43ns 161ns 0 0 0 4.31 KB
master EnrichedLog net472 165μs 56.7ns 204ns 0 0 0 4.51 KB
#7877 EnrichedLog net6.0 124μs 167ns 624ns 0 0 0 4.31 KB
#7877 EnrichedLog netcoreapp3.1 128μs 103ns 372ns 0 0 0 4.31 KB
#7877 EnrichedLog net472 169μs 166ns 643ns 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 5.17μs 21.3ns 82.6ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 7.06μs 15.3ns 57.1ns 0 0 0 2.26 KB
master EnrichedLog net472 7.73μs 5.53ns 21.4ns 0.307 0 0 2.08 KB
#7877 EnrichedLog net6.0 4.96μs 23.6ns 94.4ns 0 0 0 2.26 KB
#7877 EnrichedLog netcoreapp3.1 6.83μs 26.4ns 102ns 0 0 0 2.26 KB
#7877 EnrichedLog net472 7.59μs 8.54ns 31.9ns 0.305 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 2.15μs 1.92ns 7.2ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.65μs 12.6ns 52ns 0 0 0 1.2 KB
master SendReceive net472 3.11μs 5.92ns 22.9ns 0.185 0 0 1.2 KB
#7877 SendReceive net6.0 1.93μs 10ns 47ns 0 0 0 1.2 KB
#7877 SendReceive netcoreapp3.1 2.55μs 12.7ns 54.1ns 0 0 0 1.2 KB
#7877 SendReceive net472 3.15μs 3.87ns 15ns 0.188 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.36μs 11.4ns 44.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.82μs 16.5ns 64ns 0 0 0 1.63 KB
master EnrichedLog net472 6.56μs 9.44ns 36.5ns 0.299 0 0 2.03 KB
#7877 EnrichedLog net6.0 4.35μs 9.66ns 34.8ns 0 0 0 1.58 KB
#7877 EnrichedLog netcoreapp3.1 5.76μs 26.7ns 103ns 0 0 0 1.63 KB
#7877 EnrichedLog net472 6.44μs 6.03ns 23.4ns 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 782ns 3.87ns 16.4ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 984ns 4.62ns 17.9ns 0 0 0 576 B
master StartFinishSpan net472 917ns 0.137ns 0.514ns 0.0879 0 0 578 B
master StartFinishScope net6.0 932ns 4.67ns 20.9ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.17μs 5.15ns 19.3ns 0 0 0 696 B
master StartFinishScope net472 1.13μs 0.23ns 0.86ns 0.102 0 0 658 B
master StartFinishTwoScopes net6.0 1.73μs 9.05ns 43.4ns 0 0 0 1.19 KB
master StartFinishTwoScopes netcoreapp3.1 2.24μs 11.4ns 54.5ns 0 0 0 1.19 KB
master StartFinishTwoScopes net472 2.2μs 1.84ns 6.89ns 0.166 0 0 1.08 KB
#7877 StartFinishSpan net6.0 782ns 3.86ns 15.9ns 0 0 0 576 B
#7877 StartFinishSpan netcoreapp3.1 967ns 5.26ns 28.8ns 0 0 0 576 B
#7877 StartFinishSpan net472 892ns 0.139ns 0.521ns 0.0893 0 0 578 B
#7877 StartFinishScope net6.0 956ns 1.2ns 4.34ns 0 0 0 696 B
#7877 StartFinishScope netcoreapp3.1 1.15μs 5.22ns 20.9ns 0 0 0 696 B
#7877 StartFinishScope net472 1.1μs 0.171ns 0.64ns 0.101 0 0 658 B
#7877 StartFinishTwoScopes net6.0 1.78μs 6.97ns 26.1ns 0 0 0 1.19 KB
#7877 StartFinishTwoScopes netcoreapp3.1 2.17μs 10.6ns 46ns 0 0 0 1.19 KB
#7877 StartFinishTwoScopes net472 2.15μs 2.01ns 7.78ns 0.162 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.1μs 1.17ns 4.52ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.42μs 7.26ns 33.3ns 0 0 0 696 B
master RunOnMethodBegin net472 1.43μs 1.4ns 5.43ns 0.101 0 0 658 B
#7877 RunOnMethodBegin net6.0 1.09μs 5.84ns 30.4ns 0 0 0 696 B
#7877 RunOnMethodBegin netcoreapp3.1 1.43μs 4.57ns 17.1ns 0 0 0 696 B
#7877 RunOnMethodBegin net472 1.42μs 0.518ns 2.01ns 0.1 0 0 658 B

@NachoEchevarria NachoEchevarria changed the title add SYS_PTRACE capabilities Add SYS_PTRACE capabilities for core dumps Nov 28, 2025
@NachoEchevarria NachoEchevarria marked this pull request as ready for review November 28, 2025 16:28
@NachoEchevarria NachoEchevarria requested a review from a team as a code owner November 28, 2025 16:28
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.

Nice, thanks! We should probably add the capability to the docker-compose.serverless.yml file too? 🙂

@NachoEchevarria
Copy link
Collaborator Author

Nice, thanks! We should probably add the capability to the docker-compose.serverless.yml file too? 🙂

Good catch! I was checking and, for serverless, it will require more changes: env vars, volumes, the init flag... I have added the changes.

@NachoEchevarria NachoEchevarria requested review from a team as code owners December 1, 2025 14:03
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Dec 1, 2025

⚠️ Tests

⚠️ Warnings

❄️ 5 New flaky tests detected

SubmitTracesQuery from Datadog.Trace.ClrProfiler.IntegrationTests.CosmosVnextTests (Datadog)
Expected relevantSpans to contain at least 4 item(s) because we want to ensure that we don't timeout while waiting for spans from the mock tracer agent, but found 2: {{TraceId: 5492078580197380500, SpanId: 8457717984116586330, Name: http.client.request, Resource: GET cosmosdb-emulator:8081/, Service: Samples.CosmosDb.Vnext}, {TraceId: 17437461959196254116, SpanId: 11282110139155388816, Name: http.client.request, Resource: GET cosmosdb-emulator:8081/dbs/db, Service: Samples.CosmosDb.Vnext}}.
SubmitTracesQuery from Datadog.Trace.ClrProfiler.IntegrationTests.CosmosVnextTests (Datadog)
Expected relevantSpans to contain at least 4 item(s) because we want to ensure that we don't timeout while waiting for spans from the mock tracer agent, but found 2: {{TraceId: 16361953271275074713, SpanId: 2590681889475534642, Name: http.request, Resource: GET cosmosdb-emulator:8081/, Service: Samples.CosmosDb.Vnext-http-client}, {TraceId: 14897568302135055417, SpanId: 6727562026592867098, Name: http.request, Resource: GET cosmosdb-emulator:8081/dbs/db, Service: Samples.CosmosDb.Vnext-http-client}}.
SubmitTracesQuery from Datadog.Trace.ClrProfiler.IntegrationTests.CosmosVnextTests (Datadog)
Expected relevantSpans to contain at least 4 item(s) because we want to ensure that we don't timeout while waiting for spans from the mock tracer agent, but found 3: {{TraceId: 451982659702211434, SpanId: 472120209949536243, Name: http.client.request, Resource: GET cosmosdb-emulator:8081/, Service: Samples.CosmosDb.Vnext}, {TraceId: 16179263855615143328, SpanId: 14912883298776455314, Name: http.client.request, Resource: GET 169.254.169.254/metadata/instance, Service: Samples.CosmosDb.Vnext}, {TraceId: 10131895337182494823, SpanId: 6048056689448608484, Name: http.client.request, Resource: GET cosmosdb-emulator:8081/dbs/db, Service: Samples.CosmosDb.Vnext}}.
View all

ℹ️ Info

🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: fb2b634 | Docs | Datadog PR Page | Was this helpful? Give us feedback!

@NachoEchevarria NachoEchevarria merged commit a39e1a3 into master Dec 5, 2025
151 checks passed
@NachoEchevarria NachoEchevarria deleted the nacho/GenerateDockerCoreDump branch December 5, 2025 11:19
@github-actions github-actions bot added this to the vNext-v3 milestone Dec 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants