Skip to content

Conversation

gleocadie
Copy link
Collaborator

@gleocadie gleocadie commented Oct 10, 2025

Summary of changes

Add library path to the crash report.

Reason for change

The goal is to help in tagging the report.

Implementation details

collect the path and save it to the report.

Test coverage

Other details

@github-actions github-actions bot added the area:profiler Issues related to the continous-profiler label Oct 10, 2025
@pr-commenter
Copy link

pr-commenter bot commented Oct 10, 2025

Benchmarks

Benchmarks Report for benchmark platform 🐌

Benchmarks for #7642 compared to master:

  • 1 benchmarks are faster, with geometric mean 2.117
  • 2 benchmarks are slower, with geometric mean 1.721
  • 3 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 #7642

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑netcoreapp3.1 5.7 KB 5.67 KB -36 B -0.63%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 10.1μs 18ns 62.4ns 0 0 0 5.51 KB
master StartStopWithChild netcoreapp3.1 13.6μs 71.3ns 349ns 0 0 0 5.7 KB
master StartStopWithChild net472 21.7μs 121ns 737ns 0.87 0.217 0 6.08 KB
#7642 StartStopWithChild net6.0 10.7μs 60ns 374ns 0 0 0 5.52 KB
#7642 StartStopWithChild netcoreapp3.1 13.3μs 71.3ns 370ns 0 0 0 5.67 KB
#7642 StartStopWithChild net472 21.6μs 117ns 700ns 0.96 0.213 0 6.09 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 929μs 217ns 841ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.01ms 588ns 2.04μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.21ms 292ns 1.05μs 0 0 0 3.31 KB
#7642 WriteAndFlushEnrichedTraces net6.0 939μs 45.2ns 163ns 0 0 0 2.71 KB
#7642 WriteAndFlushEnrichedTraces netcoreapp3.1 1.02ms 257ns 997ns 0 0 0 2.7 KB
#7642 WriteAndFlushEnrichedTraces net472 1.2ms 544ns 2.11μs 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 349μs 1.34μs 5.2μs 0 0 0 178.25 KB
master AllCycleSimpleBody netcoreapp3.1 525μs 1.9μs 7.37μs 0 0 0 184.01 KB
master AllCycleSimpleBody net472 460μs 107ns 413ns 31.2 0 0 203.96 KB
master AllCycleMoreComplexBody net6.0 361μs 1.36μs 5.26μs 0 0 0 181.77 KB
master AllCycleMoreComplexBody netcoreapp3.1 505μs 1.71μs 6.64μs 0 0 0 187.44 KB
master AllCycleMoreComplexBody net472 470μs 101ns 390ns 32.4 0 0 207.52 KB
master ObjectExtractorSimpleBody net6.0 318ns 1.82ns 12.9ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 404ns 2.19ns 12ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 296ns 0.0452ns 0.175ns 0.0433 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.18μs 32.2ns 168ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.86μs 37.2ns 144ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.7μs 2.41ns 9.35ns 0.603 0 0 3.8 KB
#7642 AllCycleSimpleBody net6.0 350μs 1.39μs 5.2μs 0 0 0 178.25 KB
#7642 AllCycleSimpleBody netcoreapp3.1 486μs 1.54μs 5.98μs 0 0 0 184.01 KB
#7642 AllCycleSimpleBody net472 463μs 143ns 554ns 32.4 0 0 203.97 KB
#7642 AllCycleMoreComplexBody net6.0 360μs 801ns 3.1μs 0 0 0 181.77 KB
#7642 AllCycleMoreComplexBody netcoreapp3.1 515μs 1.17μs 4.53μs 0 0 0 187.44 KB
#7642 AllCycleMoreComplexBody net472 471μs 126ns 473ns 32.4 0 0 207.5 KB
#7642 ObjectExtractorSimpleBody net6.0 327ns 0.702ns 2.72ns 0 0 0 280 B
#7642 ObjectExtractorSimpleBody netcoreapp3.1 394ns 2.13ns 11.2ns 0 0 0 272 B
#7642 ObjectExtractorSimpleBody net472 305ns 0.0187ns 0.0698ns 0.0446 0 0 281 B
#7642 ObjectExtractorMoreComplexBody net6.0 6.23μs 33ns 144ns 0 0 0 3.78 KB
#7642 ObjectExtractorMoreComplexBody netcoreapp3.1 7.74μs 29.7ns 111ns 0 0 0 3.69 KB
#7642 ObjectExtractorMoreComplexBody net472 6.65μs 3.08ns 11.9ns 0.597 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 77.9μs 187ns 724ns 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 96.5μs 135ns 525ns 0 0 0 32.4 KB
master EncodeArgs net472 111μs 10.4ns 40.2ns 5.03 0 0 32.51 KB
master EncodeLegacyArgs net6.0 142μs 18.3ns 71ns 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 197μs 149ns 576ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 262μs 57.1ns 221ns 0 0 0 2.16 KB
#7642 EncodeArgs net6.0 76.9μs 250ns 903ns 0 0 0 32.4 KB
#7642 EncodeArgs netcoreapp3.1 97.8μs 266ns 1.03μs 0 0 0 32.4 KB
#7642 EncodeArgs net472 110μs 21.4ns 82.8ns 4.95 0 0 32.51 KB
#7642 EncodeLegacyArgs net6.0 147μs 12.5ns 45ns 0 0 0 2.15 KB
#7642 EncodeLegacyArgs netcoreapp3.1 198μs 214ns 828ns 0 0 0 2.14 KB
#7642 EncodeLegacyArgs net472 263μs 33.6ns 130ns 0 0 0 2.17 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower ⚠️ Same allocations ✔️

Slower ⚠️ in #7642

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 2.478 297,351.49 736,761.46

Faster 🎉 in #7642

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.117 866,702.50 409,406.88

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 395μs 90.3ns 350ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 836μs 11.1μs 109μs 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 431μs 52ns 201ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 287μs 50.6ns 196ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 297μs 62.5ns 225ns 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 310μs 33.2ns 129ns 0 0 0 2.29 KB
#7642 RunWafRealisticBenchmark net6.0 393μs 44.6ns 173ns 0 0 0 4.55 KB
#7642 RunWafRealisticBenchmark netcoreapp3.1 409μs 69.4ns 269ns 0 0 0 4.48 KB
#7642 RunWafRealisticBenchmark net472 427μs 49ns 183ns 0 0 0 4.66 KB
#7642 RunWafRealisticBenchmarkWithAttack net6.0 286μs 33.3ns 129ns 0 0 0 2.24 KB
#7642 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 684μs 13.3μs 133μs 0 0 0 2.22 KB
#7642 RunWafRealisticBenchmarkWithAttack net472 327μs 28.2ns 102ns 0 0 0 2.28 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 27ns 97.5ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 71.2μs 40.9ns 153ns 0 0 0 17.42 KB
master SendRequest net472 0.00653ns 0.0025ns 0.00968ns 0 0 0 0 b
#7642 SendRequest net6.0 61.5μs 44.3ns 153ns 0 0 0 14.52 KB
#7642 SendRequest netcoreapp3.1 72.5μs 393ns 2.19μs 0 0 0 17.42 KB
#7642 SendRequest net472 0.00319ns 0.00132ns 0.00512ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7642

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 4 B 7 B 3 B 75.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 2 B 3 B 1 B 50.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.95ms 6.03μs 23.4μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.11ms 11.4μs 60.2μs 0 0 0 640 KB
master OriginalCharSlice net472 2.62ms 230ns 889ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.43ms 399ns 1.55μs 0 0 0 4 B
master OptimizedCharSlice netcoreapp3.1 1.67ms 594ns 2.3μs 0 0 0 1 B
master OptimizedCharSlice net472 1.93ms 260ns 1.01μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 838μs 32.7ns 127ns 0 0 0 2 B
master OptimizedCharSliceWithPool netcoreapp3.1 881μs 153ns 592ns 0 0 0 0 b
master OptimizedCharSliceWithPool net472 1.13ms 89.3ns 346ns 0 0 0 0 b
#7642 OriginalCharSlice net6.0 1.94ms 337ns 1.26μs 0 0 0 640.01 KB
#7642 OriginalCharSlice netcoreapp3.1 2.09ms 1.6μs 6μs 0 0 0 640 KB
#7642 OriginalCharSlice net472 2.69ms 549ns 2.12μs 100 0 0 641.95 KB
#7642 OptimizedCharSlice net6.0 1.43ms 79.2ns 296ns 0 0 0 7 B
#7642 OptimizedCharSlice netcoreapp3.1 1.66ms 390ns 1.51μs 0 0 0 1 B
#7642 OptimizedCharSlice net472 1.96ms 231ns 896ns 0 0 0 0 b
#7642 OptimizedCharSliceWithPool net6.0 823μs 27.1ns 105ns 0 0 0 3 B
#7642 OptimizedCharSliceWithPool netcoreapp3.1 819μs 47.5ns 184ns 0 0 0 0 b
#7642 OptimizedCharSliceWithPool net472 1.15ms 113ns 438ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #7642

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 1.195 654,366.49 782,157.59

More allocations ⚠️ in #7642

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 41.95 KB 42.75 KB 809 B 1.93%

Fewer allocations 🎉 in #7642

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.92 KB 41.65 KB -269 B -0.64%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 648μs 1.84μs 7.11μs 0 0 0 41.92 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 662μs 3.17μs 16.8μs 0 0 0 41.95 KB
master WriteAndFlushEnrichedTraces net472 905μs 2.19μs 8.18μs 4.46 0 0 56 KB
#7642 WriteAndFlushEnrichedTraces net6.0 624μs 1.07μs 4.13μs 0 0 0 41.65 KB
#7642 WriteAndFlushEnrichedTraces netcoreapp3.1 778μs 4.29μs 25μs 0 0 0 42.75 KB
#7642 WriteAndFlushEnrichedTraces net472 869μs 2.91μs 10.9μs 8.33 0 0 56.12 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.95μs 2.33ns 9.02ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.58μs 2.89ns 11.2ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.75μs 8.78ns 34ns 0.149 0.0136 0 987 B
#7642 ExecuteNonQuery net6.0 1.9μs 8.45ns 32.7ns 0 0 0 1.02 KB
#7642 ExecuteNonQuery netcoreapp3.1 2.55μs 11.8ns 45.9ns 0 0 0 1.02 KB
#7642 ExecuteNonQuery net472 2.79μs 3.28ns 12.7ns 0.152 0.0138 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.72μs 8.6ns 37.5ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.27μs 10.6ns 42.5ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.53μs 3.23ns 12.5ns 0.159 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.91μs 4.69ns 18.2ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.36μs 11.9ns 53.1ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.84μs 4.02ns 14.5ns 0.173 0 0 1.1 KB
#7642 CallElasticsearch net6.0 1.74μs 9.29ns 47.4ns 0 0 0 1.03 KB
#7642 CallElasticsearch netcoreapp3.1 2.38μs 11.7ns 46.7ns 0 0 0 1.03 KB
#7642 CallElasticsearch net472 3.65μs 2.65ns 9.55ns 0.164 0 0 1.04 KB
#7642 CallElasticsearchAsync net6.0 1.91μs 0.614ns 2.3ns 0 0 0 1.01 KB
#7642 CallElasticsearchAsync netcoreapp3.1 2.46μs 6.15ns 23.8ns 0 0 0 1.08 KB
#7642 CallElasticsearchAsync net472 3.89μs 4.24ns 15.9ns 0.174 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.88μs 0.695ns 2.41ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.28μs 10.6ns 41.2ns 0 0 0 952 B
master ExecuteAsync net472 2.47μs 1.08ns 3.75ns 0.137 0 0 915 B
#7642 ExecuteAsync net6.0 1.92μs 3.55ns 13.7ns 0 0 0 952 B
#7642 ExecuteAsync netcoreapp3.1 2.31μs 8.8ns 34.1ns 0 0 0 952 B
#7642 ExecuteAsync net472 2.5μs 0.793ns 3.07ns 0.137 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 6.99μs 5.15ns 18.6ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.45μs 23.6ns 91.6ns 0 0 0 2.9 KB
master SendAsync net472 12.3μs 10.6ns 41ns 0.493 0 0 3.18 KB
#7642 SendAsync net6.0 6.83μs 22.9ns 88.7ns 0 0 0 2.36 KB
#7642 SendAsync netcoreapp3.1 8.33μs 24.5ns 95ns 0 0 0 2.9 KB
#7642 SendAsync net472 12.2μs 11.3ns 43.6ns 0.488 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️

More allocations ⚠️ in #7642

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 43.44 KB 44.22 KB 784 B 1.80%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 274.56 KB 279.11 KB 4.55 KB 1.66%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 255.99 KB 259.56 KB 3.57 KB 1.39%

Fewer allocations 🎉 in #7642

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 286.72 KB 278.53 KB -8.19 KB -2.86%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 40.7μs 177ns 663ns 0 0 0 43.85 KB
master StringConcatBenchmark netcoreapp3.1 46.8μs 240ns 1.07μs 0 0 0 43.44 KB
master StringConcatBenchmark net472 57μs 281ns 1.23μs 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 462μs 959ns 3.46μs 0 0 0 274.56 KB
master StringConcatAspectBenchmark netcoreapp3.1 512μs 2.22μs 8.32μs 0 0 0 255.99 KB
master StringConcatAspectBenchmark net472 403μs 1.92μs 7.92μs 0 0 0 286.72 KB
#7642 StringConcatBenchmark net6.0 44μs 129ns 465ns 0 0 0 44.06 KB
#7642 StringConcatBenchmark netcoreapp3.1 58.3μs 905ns 9.01μs 0 0 0 44.22 KB
#7642 StringConcatBenchmark net472 57.9μs 142ns 511ns 0 0 0 57.34 KB
#7642 StringConcatAspectBenchmark net6.0 517μs 1.89μs 6.8μs 0 0 0 279.11 KB
#7642 StringConcatAspectBenchmark netcoreapp3.1 516μs 2.29μs 8.85μs 0 0 0 259.56 KB
#7642 StringConcatAspectBenchmark net472 410μs 2.36μs 18μ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.55μs 3.4ns 13.2ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.5μs 10.5ns 40.8ns 0 0 0 1.7 KB
master EnrichedLog net472 3.73μs 4.6ns 17.8ns 0.242 0 0 1.64 KB
#7642 EnrichedLog net6.0 2.52μs 13.6ns 71.8ns 0 0 0 1.7 KB
#7642 EnrichedLog netcoreapp3.1 3.45μs 17.4ns 73.9ns 0 0 0 1.7 KB
#7642 EnrichedLog net472 3.73μs 2.99ns 11.6ns 0.243 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 125μs 647ns 3.03μs 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 61.3ns 221ns 0 0 0 4.31 KB
master EnrichedLog net472 167μs 255ns 1.47μs 0 0 0 4.52 KB
#7642 EnrichedLog net6.0 126μs 331ns 1.24μs 0 0 0 4.31 KB
#7642 EnrichedLog netcoreapp3.1 128μs 204ns 707ns 0 0 0 4.31 KB
#7642 EnrichedLog net472 167μs 45.1ns 162ns 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.83μs 18.7ns 69.9ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.8μs 25ns 97ns 0 0 0 2.26 KB
master EnrichedLog net472 7.17μs 4.78ns 17.9ns 0.326 0 0 2.08 KB
#7642 EnrichedLog net6.0 4.93μs 20.5ns 79.2ns 0 0 0 2.26 KB
#7642 EnrichedLog netcoreapp3.1 6.54μs 15.6ns 60.3ns 0 0 0 2.26 KB
#7642 EnrichedLog net472 7.62μs 7.01ns 27.1ns 0.303 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.02μs 0.71ns 2.75ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.6μs 12.1ns 49.9ns 0 0 0 1.2 KB
master SendReceive net472 3.02μs 2.41ns 9.32ns 0.181 0 0 1.2 KB
#7642 SendReceive net6.0 2μs 0.896ns 3.35ns 0 0 0 1.2 KB
#7642 SendReceive netcoreapp3.1 2.51μs 13ns 59.4ns 0 0 0 1.2 KB
#7642 SendReceive net472 3.12μs 1.21ns 4.67ns 0.185 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.17μs 6.61ns 23.8ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.54μs 7.89ns 30.5ns 0 0 0 1.63 KB
master EnrichedLog net472 6.43μs 5.36ns 20.8ns 0.291 0 0 2.03 KB
#7642 EnrichedLog net6.0 4.14μs 4.12ns 14.9ns 0 0 0 1.58 KB
#7642 EnrichedLog netcoreapp3.1 5.32μs 20.4ns 79ns 0 0 0 1.63 KB
#7642 EnrichedLog net472 6.44μs 8.71ns 33.7ns 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 718ns 3.9ns 22ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 919ns 4.3ns 17.7ns 0 0 0 576 B
master StartFinishSpan net472 902ns 0.224ns 0.869ns 0.0906 0 0 578 B
master StartFinishScope net6.0 890ns 0.227ns 0.848ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.21μs 1.26ns 4.87ns 0 0 0 696 B
master StartFinishScope net472 1.12μs 0.785ns 3.04ns 0.1 0 0 658 B
#7642 StartFinishSpan net6.0 741ns 3.96ns 20.6ns 0 0 0 576 B
#7642 StartFinishSpan netcoreapp3.1 906ns 4.47ns 20.5ns 0 0 0 576 B
#7642 StartFinishSpan net472 872ns 0.313ns 1.21ns 0.0916 0 0 578 B
#7642 StartFinishScope net6.0 887ns 0.42ns 1.63ns 0 0 0 696 B
#7642 StartFinishScope netcoreapp3.1 1.15μs 5.82ns 25.4ns 0 0 0 696 B
#7642 StartFinishScope net472 1.06μs 0.513ns 1.99ns 0.101 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.03μs 5.47ns 28.4ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.39μs 6.96ns 31.9ns 0 0 0 696 B
master RunOnMethodBegin net472 1.43μs 2.43ns 9.43ns 0.101 0 0 658 B
#7642 RunOnMethodBegin net6.0 1.02μs 0.716ns 2.58ns 0 0 0 696 B
#7642 RunOnMethodBegin netcoreapp3.1 1.42μs 6.94ns 27.8ns 0 0 0 696 B
#7642 RunOnMethodBegin net472 1.44μs 2.24ns 8.67ns 0.1 0 0 658 B

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

dd-trace-dotnet-ci-bot bot commented Oct 10, 2025

Execution-Time Benchmarks Report ⏱️

Execution-time results for samples comparing the following branches/commits:

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 shown 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).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (73ms)  : 72, 74
     .   : milestone, 73,
    master - mean (72ms)  : 70, 73
     .   : milestone, 72,

    section Baseline
    This PR (7642) - mean (69ms)  : 67, 71
     .   : milestone, 69,
    master - mean (68ms)  : 66, 70
     .   : milestone, 68,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (1,057ms)  : 994, 1119
     .   : milestone, 1057,
    master - mean (1,052ms)  : 996, 1109
     .   : milestone, 1052,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (109ms)  : 107, 111
     .   : milestone, 109,
    master - mean (107ms)  : 106, 108
     .   : milestone, 107,

    section Baseline
    This PR (7642) - mean (108ms)  : 105, 111
     .   : milestone, 108,
    master - mean (106ms)  : 104, 109
     .   : milestone, 106,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (747ms)  : 724, 769
     .   : milestone, 747,
    master - mean (745ms)  : 723, 768
     .   : milestone, 745,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (103ms)  : 102, 105
     .   : milestone, 103,
    master - mean (101ms)  : 100, 102
     .   : milestone, 101,

    section Baseline
    This PR (7642) - mean (103ms)  : 100, 105
     .   : milestone, 103,
    master - mean (101ms)  : 98, 103
     .   : milestone, 101,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (781ms)  : 734, 828
     .   : milestone, 781,
    master - mean (778ms)  : 742, 814
     .   : milestone, 778,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (95ms)  : 94, 97
     .   : milestone, 95,
    master - mean (93ms)  : 92, 95
     .   : milestone, 93,

    section Baseline
    This PR (7642) - mean (95ms)  : 92, 97
     .   : milestone, 95,
    master - mean (93ms)  : 91, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (662ms)  : 648, 675
     .   : milestone, 662,
    master - mean (662ms)  : 648, 676
     .   : milestone, 662,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (202ms)  : 197, 208
     .   : milestone, 202,
    master - mean (196ms)  : 194, 197
     .   : milestone, 196,

    section Baseline
    This PR (7642) - mean (199ms)  : 193, 204
     .   : milestone, 199,
    master - mean (193ms)  : 189, 197
     .   : milestone, 193,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (1,189ms)  : 1125, 1253
     .   : milestone, 1189,
    master - mean (1,162ms)  : 1107, 1217
     .   : milestone, 1162,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (285ms)  : 280, 289
     .   : milestone, 285,
    master - mean (279ms)  : 273, 284
     .   : milestone, 279,

    section Baseline
    This PR (7642) - mean (285ms)  : 276, 294
     .   : milestone, 285,
    master - mean (278ms)  : 273, 283
     .   : milestone, 278,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (962ms)  : 916, 1008
     .   : milestone, 962,
    master - mean (939ms)  : 899, 979
     .   : milestone, 939,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (286ms)  : 279, 292
     .   : milestone, 286,
    master - mean (281ms)  : 275, 288
     .   : milestone, 281,

    section Baseline
    This PR (7642) - mean (287ms)  : 277, 297
     .   : milestone, 287,
    master - mean (282ms)  : 274, 290
     .   : milestone, 282,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (1,009ms)  : 956, 1062
     .   : milestone, 1009,
    master - mean (994ms)  : 957, 1031
     .   : milestone, 994,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7642) - mean (278ms)  : 268, 287
     .   : milestone, 278,
    master - mean (268ms)  : 264, 272
     .   : milestone, 268,

    section Baseline
    This PR (7642) - mean (275ms)  : 266, 285
     .   : milestone, 275,
    master - mean (268ms)  : 263, 273
     .   : milestone, 268,

    section CallTarget+Inlining+NGEN
    This PR (7642) - mean (863ms)  : 833, 892
     .   : milestone, 863,
    master - mean (849ms)  : 828, 869
     .   : milestone, 849,

Loading

@gleocadie gleocadie marked this pull request as ready for review October 14, 2025 09:43
@gleocadie gleocadie requested review from a team as code owners October 14, 2025 09:43
Copy link

datadog-official bot commented Oct 14, 2025

⚠️ Tests

⚠️ Warnings

🧪 1 Test failed

CheckMetrics from Datadog.Profiler.IntegrationTests.MetricsTest (Datadog) (✨ Fix with BitsAI)

Actual:   Falsemples.Computer01.exe" should be 0 instead of 255 (= 0xFF)

ℹ️ Info

❄️ No new flaky tests detected

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

@gleocadie gleocadie force-pushed the gleocadie/add-module-path-to-crash-report branch from 224f162 to ef42d0a Compare October 14, 2025 13:16
@gleocadie gleocadie force-pushed the gleocadie/add-module-path-to-crash-report branch from ef42d0a to 5e300de Compare October 14, 2025 16:11
link04 pushed a commit to link04/dd-trace-dotnet that referenced this pull request Oct 14, 2025
## Summary of changes

- Cleanup of some of the native loader code
- Add `createdump` to the exclude list

## Reason for change

Various minor things that have been bugging me for a while.

## Implementation details

- Remove `default_exclude_assemblies` from the native tracer as it's no
longer used (after DataDog#7642)
- Remove `default_exclude_assemblies` to `default_exclude_processes` as
it was named incorrectly!
- Move environment variables that were in `util.h` into the
`EnvironmentVariables` type that's designed for this (and remove
duplicates)
- Rename `EnvironmentVariables.h` to `environment.h` for consistency
with the majoring of the native loader code + native tracer. Use snake
casing instead of PascalCasing
- Move constants out of `util.h` into `constants.h` to avoid cluttering
it
- Add `createdump` to the process exclude list (I noticed we apparently
instrument the `createdump` calls themselves in our CI!)

## Test coverage

Covered by existing

## Other details

Commit-by-commit review is easiest, as they're all small self-contained
updates!


<!--  ⚠️ Note:

Where possible, please obtain 2 approvals prior to merging. Unless
CODEOWNERS specifies otherwise, for external teams it is typically best
to have one review from a team member, and one review from apm-dotnet.
Trivial changes do not require 2 reviews.

MergeQueue is NOT enabled in this repository. If you have write access
to the repo, the PR has 1-2 approvals (see above), and all of the
required checks have passed, you can use the Squash and Merge button to
merge the PR. If you don't have write access, or you need help, reach
out in the #apm-dotnet channel in Slack.
-->

---------

Co-authored-by: Lucas Pimentel <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:crashtracking area:profiler Issues related to the continous-profiler

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant