dd-trace-dotnet icon indicating copy to clipboard operation
dd-trace-dotnet copied to clipboard

[Test Optimization] Add git worktree support.

Open tonyredondo opened this issue 5 months ago • 2 comments

Summary of changes

This PR adds support to git worktrees.

Reason for change

Currently we don't support it.

Implementation details

Test coverage

I'm locally working in a worktree, and this solves the issue.

Other details

tonyredondo avatar Jun 20 '25 09:06 tonyredondo

Benchmarks

Benchmarks Report for benchmark platform :snail:

Benchmarks for #7123 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.122
  • 2 benchmarks are slower, with geometric mean 1.526
  • 4 benchmarks have fewer allocations
  • 5 benchmarks have more allocations

The following thresholds were used for comparing the benchmark speeds:

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

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.ActivityBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 11.2μs 58.4ns 303ns 0 0 0 5.5 KB
master StartStopWithChild netcoreapp3.1 13.3μs 52.8ns 204ns 0 0 0 5.72 KB
master StartStopWithChild net472 21.4μs 114ns 601ns 0.977 0.326 0.109 6.05 KB
#7123 StartStopWithChild net6.0 10.8μs 58.6ns 321ns 0 0 0 5.49 KB
#7123 StartStopWithChild netcoreapp3.1 13.6μs 70.7ns 332ns 0 0 0 5.72 KB
#7123 StartStopWithChild net472 21.6μs 105ns 556ns 0.877 0.219 0 6.07 KB
Benchmarks.Trace.AgentWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7123

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.AgentWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 3.31 KB 3.35 KB 46 B 1.39%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 938μs 164ns 635ns 0 0 0 2.71 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 478ns 1.85μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 1.2ms 87.4ns 315ns 0 0 0 3.31 KB
#7123 WriteAndFlushEnrichedTraces net6.0 931μs 93.9ns 351ns 0 0 0 2.71 KB
#7123 WriteAndFlushEnrichedTraces netcoreapp3.1 1.03ms 159ns 572ns 0 0 0 2.7 KB
#7123 WriteAndFlushEnrichedTraces net472 1.19ms 62.1ns 232ns 0 0 0 3.35 KB
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 334μs 273ns 1.06μs 0 0 0 197.24 KB
master AllCycleSimpleBody netcoreapp3.1 501μs 1.79μs 6.47μs 0 0 0 204.95 KB
master AllCycleSimpleBody net472 447μs 94.7ns 354ns 37.9 2.23 0 244.94 KB
master AllCycleMoreComplexBody net6.0 336μs 1.78μs 8.15μs 0 0 0 200.75 KB
master AllCycleMoreComplexBody netcoreapp3.1 497μs 2μs 7.73μs 0 0 0 208.37 KB
master AllCycleMoreComplexBody net472 456μs 73.3ns 284ns 37.9 2.23 0 248.45 KB
master ObjectExtractorSimpleBody net6.0 312ns 1.56ns 6.79ns 0 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 416ns 2.17ns 10.4ns 0 0 0 272 B
master ObjectExtractorSimpleBody net472 302ns 0.0569ns 0.213ns 0.044 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 6.38μs 28.3ns 110ns 0 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 7.81μs 34.3ns 133ns 0 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 6.8μs 2.73ns 10.6ns 0.578 0 0 3.8 KB
#7123 AllCycleSimpleBody net6.0 329μs 1.66μs 7.8μs 0 0 0 197.24 KB
#7123 AllCycleSimpleBody netcoreapp3.1 480μs 544ns 2.03μs 0 0 0 204.95 KB
#7123 AllCycleSimpleBody net472 450μs 119ns 462ns 37.9 2.23 0 244.94 KB
#7123 AllCycleMoreComplexBody net6.0 342μs 140ns 526ns 0 0 0 200.75 KB
#7123 AllCycleMoreComplexBody netcoreapp3.1 495μs 683ns 2.64μs 0 0 0 208.37 KB
#7123 AllCycleMoreComplexBody net472 455μs 116ns 450ns 37.9 2.23 0 248.45 KB
#7123 ObjectExtractorSimpleBody net6.0 307ns 1.72ns 10.9ns 0 0 0 280 B
#7123 ObjectExtractorSimpleBody netcoreapp3.1 414ns 0.088ns 0.341ns 0 0 0 272 B
#7123 ObjectExtractorSimpleBody net472 300ns 0.0397ns 0.154ns 0.0438 0 0 281 B
#7123 ObjectExtractorMoreComplexBody net6.0 6.4μs 15.5ns 58ns 0 0 0 3.78 KB
#7123 ObjectExtractorMoreComplexBody netcoreapp3.1 7.88μs 33.8ns 131ns 0 0 0 3.69 KB
#7123 ObjectExtractorMoreComplexBody net472 6.75μs 3.36ns 13ns 0.574 0 0 3.8 KB
Benchmarks.Trace.Asm.AppSecEncoderBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EncodeArgs net6.0 77.5μs 286ns 1.11μs 0 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 97.4μs 158ns 592ns 0 0 0 32.4 KB
master EncodeArgs net472 111μs 7.59ns 29.4ns 4.96 0 0 32.51 KB
master EncodeLegacyArgs net6.0 147μs 269ns 1.04μs 0 0 0 2.15 KB
master EncodeLegacyArgs netcoreapp3.1 199μs 568ns 2.2μs 0 0 0 2.14 KB
master EncodeLegacyArgs net472 261μs 16.8ns 58.3ns 0 0 0 2.16 KB
#7123 EncodeArgs net6.0 77.8μs 18.7ns 70ns 0 0 0 32.4 KB
#7123 EncodeArgs netcoreapp3.1 95.6μs 226ns 814ns 0 0 0 32.4 KB
#7123 EncodeArgs net472 110μs 11.6ns 41.7ns 4.95 0 0 32.51 KB
#7123 EncodeLegacyArgs net6.0 145μs 38ns 147ns 0 0 0 2.15 KB
#7123 EncodeLegacyArgs netcoreapp3.1 196μs 133ns 460ns 0 0 0 2.14 KB
#7123 EncodeLegacyArgs net472 261μs 27.8ns 104ns 0 0 0 2.16 KB
Benchmarks.Trace.Asm.AppSecWafBenchmark - Slower :warning: Same allocations :heavy_check_mark:

Slower :warning: in #7123

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmark‑netcoreapp3.1 2.065 413,093.23 853,214.17

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunWafRealisticBenchmark net6.0 392μs 83.1ns 322ns 0 0 0 4.55 KB
master RunWafRealisticBenchmark netcoreapp3.1 413μs 78ns 281ns 0 0 0 4.48 KB
master RunWafRealisticBenchmark net472 430μs 40.3ns 156ns 0 0 0 4.66 KB
master RunWafRealisticBenchmarkWithAttack net6.0 287μs 55.3ns 214ns 0 0 0 2.24 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 719μs 2.91μs 11.3μs 0 0 0 2.22 KB
master RunWafRealisticBenchmarkWithAttack net472 309μs 28.7ns 111ns 0 0 0 2.29 KB
#7123 RunWafRealisticBenchmark net6.0 397μs 61.9ns 231ns 0 0 0 4.55 KB
#7123 RunWafRealisticBenchmark netcoreapp3.1 818μs 9.69μs 91.4μs 0 0 0 4.48 KB
#7123 RunWafRealisticBenchmark net472 427μs 66ns 256ns 0 0 0 4.66 KB
#7123 RunWafRealisticBenchmarkWithAttack net6.0 284μs 33.8ns 117ns 0 0 0 2.24 KB
#7123 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 684μs 10μs 100μs 0 0 0 2.22 KB
#7123 RunWafRealisticBenchmarkWithAttack net472 313μs 36.2ns 140ns 0 0 0 2.29 KB
Benchmarks.Trace.AspNetCoreBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net6.0 61.5μs 46.9ns 182ns 0 0 0 14.52 KB
master SendRequest netcoreapp3.1 70.7μs 364ns 1.92μs 0 0 0 17.42 KB
master SendRequest net472 0.0127ns 0.00323ns 0.0125ns 0 0 0 0 b
#7123 SendRequest net6.0 60.3μs 45.2ns 175ns 0 0 0 14.52 KB
#7123 SendRequest netcoreapp3.1 71.2μs 273ns 1.31μs 0 0 0 17.42 KB
#7123 SendRequest net472 0.00594ns 0.00128ns 0.00496ns 0 0 0 0 b
Benchmarks.Trace.CharSliceBenchmark - Slower :warning: More allocations :warning:

Slower :warning: in #7123

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 1.128 802,283.65 904,908.20

Faster :tada: in #7123

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1.122 1,004,504.37 895,205.39

More allocations :warning: in #7123

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 4 B 6 B 2 B 50.00%

Fewer allocations :tada: in #7123

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 5 B 2 B -3 B -60.00%
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 1 B 0 b -1 B -100.00%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master OriginalCharSlice net6.0 1.9ms 792ns 2.96μs 0 0 0 640.01 KB
master OriginalCharSlice netcoreapp3.1 2.08ms 5.17μs 19.3μs 0 0 0 640 KB
master OriginalCharSlice net472 2.71ms 154ns 577ns 100 0 0 641.95 KB
master OptimizedCharSlice net6.0 1.36ms 442ns 1.71μs 0 0 0 4 B
master OptimizedCharSlice netcoreapp3.1 1.68ms 703ns 2.72μs 0 0 0 1 B
master OptimizedCharSlice net472 1.96ms 561ns 2.17μs 0 0 0 0 b
master OptimizedCharSliceWithPool net6.0 802μs 43.7ns 169ns 0 0 0 5 B
master OptimizedCharSliceWithPool netcoreapp3.1 1ms 1.8μs 6.95μs 0 0 0 1 B
master OptimizedCharSliceWithPool net472 1.17ms 78.8ns 305ns 0 0 0 0 b
#7123 OriginalCharSlice net6.0 2.06ms 234ns 812ns 0 0 0 640.01 KB
#7123 OriginalCharSlice netcoreapp3.1 2.18ms 5.88μs 20.4μs 0 0 0 640 KB
#7123 OriginalCharSlice net472 2.76ms 199ns 744ns 100 0 0 641.95 KB
#7123 OptimizedCharSlice net6.0 1.39ms 284ns 1.1μs 0 0 0 6 B
#7123 OptimizedCharSlice netcoreapp3.1 1.83ms 8.53μs 33μs 0 0 0 1 B
#7123 OptimizedCharSlice net472 2.12ms 137ns 532ns 0 0 0 0 b
#7123 OptimizedCharSliceWithPool net6.0 905μs 88.3ns 342ns 0 0 0 2 B
#7123 OptimizedCharSliceWithPool netcoreapp3.1 895μs 35.8ns 134ns 0 0 0 0 b
#7123 OptimizedCharSliceWithPool net472 1.16ms 60.9ns 228ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7123

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 41.83 KB 42.34 KB 511 B 1.22%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 723μs 4.41μs 43.6μs 0 0 0 41.83 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 748μs 3.71μs 17μs 0 0 0 41.93 KB
master WriteAndFlushEnrichedTraces net472 915μs 1.93μs 7.46μs 4.46 0 0 56.1 KB
#7123 WriteAndFlushEnrichedTraces net6.0 703μs 3.85μs 21.4μs 0 0 0 42.34 KB
#7123 WriteAndFlushEnrichedTraces netcoreapp3.1 687μs 2.4μs 8.64μs 0 0 0 41.84 KB
#7123 WriteAndFlushEnrichedTraces net472 875μs 4.37μs 18.6μs 8.33 0 0 56.36 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net6.0 1.93μs 0.82ns 3.07ns 0 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 2.48μs 12.1ns 52.6ns 0 0 0 1.02 KB
master ExecuteNonQuery net472 2.76μs 4.35ns 16.9ns 0.151 0.0137 0 987 B
#7123 ExecuteNonQuery net6.0 1.93μs 7.76ns 29ns 0 0 0 1.02 KB
#7123 ExecuteNonQuery netcoreapp3.1 2.53μs 10.3ns 40.1ns 0 0 0 1.02 KB
#7123 ExecuteNonQuery net472 2.89μs 6.12ns 23.7ns 0.15 0.015 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.75μs 4.71ns 17ns 0 0 0 1.03 KB
master CallElasticsearch netcoreapp3.1 2.39μs 7.69ns 29.8ns 0 0 0 1.03 KB
master CallElasticsearch net472 3.34μs 1.25ns 4.69ns 0.151 0 0 1.04 KB
master CallElasticsearchAsync net6.0 1.81μs 4.35ns 16.8ns 0 0 0 1.01 KB
master CallElasticsearchAsync netcoreapp3.1 2.53μs 2.47ns 9.25ns 0 0 0 1.08 KB
master CallElasticsearchAsync net472 3.72μs 3.05ns 11.8ns 0.166 0 0 1.1 KB
#7123 CallElasticsearch net6.0 1.73μs 8.26ns 33ns 0 0 0 1.03 KB
#7123 CallElasticsearch netcoreapp3.1 2.28μs 8.83ns 34.2ns 0 0 0 1.03 KB
#7123 CallElasticsearch net472 3.44μs 2.88ns 11.1ns 0.154 0 0 1.04 KB
#7123 CallElasticsearchAsync net6.0 1.8μs 8.96ns 37ns 0 0 0 1.01 KB
#7123 CallElasticsearchAsync netcoreapp3.1 2.44μs 4.25ns 15.3ns 0 0 0 1.08 KB
#7123 CallElasticsearchAsync net472 3.72μs 3.62ns 14ns 0.166 0 0 1.1 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net6.0 1.8μs 2.45ns 9.48ns 0 0 0 952 B
master ExecuteAsync netcoreapp3.1 2.38μs 7.41ns 28.7ns 0 0 0 952 B
master ExecuteAsync net472 2.68μs 3.99ns 15.5ns 0.134 0 0 915 B
#7123 ExecuteAsync net6.0 1.89μs 4.85ns 18.8ns 0 0 0 952 B
#7123 ExecuteAsync netcoreapp3.1 2.31μs 1.88ns 7.04ns 0 0 0 952 B
#7123 ExecuteAsync net472 2.59μs 1.15ns 4.46ns 0.142 0 0 915 B
Benchmarks.Trace.HttpClientBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net6.0 6.78μs 5.6ns 20.9ns 0 0 0 2.36 KB
master SendAsync netcoreapp3.1 8.61μs 22.8ns 85.2ns 0 0 0 2.9 KB
master SendAsync net472 12.7μs 9.73ns 37.7ns 0.504 0 0 3.18 KB
#7123 SendAsync net6.0 6.94μs 10ns 38.8ns 0 0 0 2.36 KB
#7123 SendAsync netcoreapp3.1 8.65μs 6.66ns 24ns 0 0 0 2.9 KB
#7123 SendAsync net472 12μs 12.5ns 48.5ns 0.479 0 0 3.18 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed :heavy_check_mark: More allocations :warning:

More allocations :warning: in #7123

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 257.1 KB 273.42 KB 16.31 KB 6.34%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 43.1 KB 44.05 KB 944 B 2.19%

Fewer allocations :tada: in #7123

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 276.44 KB 271.47 KB -4.97 KB -1.80%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 44.13 KB 42.68 KB -1.45 KB -3.28%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 44.9μs 250ns 1.48μs 0 0 0 43.1 KB
master StringConcatBenchmark netcoreapp3.1 49.5μs 275ns 1.72μs 0 0 0 44.13 KB
master StringConcatBenchmark net472 57.6μs 279ns 1.08μs 0 0 0 57.34 KB
master StringConcatAspectBenchmark net6.0 445μs 2.02μs 7.28μs 0 0 0 257.1 KB
master StringConcatAspectBenchmark netcoreapp3.1 531μs 1.95μs 7.31μs 0 0 0 276.44 KB
master StringConcatAspectBenchmark net472 413μs 2.23μs 11.8μs 0 0 0 278.53 KB
#7123 StringConcatBenchmark net6.0 44.2μs 242ns 1.6μs 0 0 0 44.05 KB
#7123 StringConcatBenchmark netcoreapp3.1 45.6μs 159ns 897ns 0 0 0 42.68 KB
#7123 StringConcatBenchmark net472 57.5μs 251ns 974ns 0 0 0 57.34 KB
#7123 StringConcatAspectBenchmark net6.0 483μs 1.9μs 6.58μs 0 0 0 273.42 KB
#7123 StringConcatAspectBenchmark netcoreapp3.1 495μs 2.59μs 12.9μs 0 0 0 271.47 KB
#7123 StringConcatAspectBenchmark net472 406μs 2.3μs 16.4μs 0 0 0 278.53 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 2.57μs 14.2ns 81.5ns 0 0 0 1.7 KB
master EnrichedLog netcoreapp3.1 3.44μs 15.1ns 58.6ns 0 0 0 1.7 KB
master EnrichedLog net472 3.85μs 2.84ns 11ns 0.25 0 0 1.64 KB
#7123 EnrichedLog net6.0 2.57μs 2.75ns 10.6ns 0 0 0 1.7 KB
#7123 EnrichedLog netcoreapp3.1 3.56μs 15.8ns 61.3ns 0 0 0 1.7 KB
#7123 EnrichedLog net472 3.95μs 3.96ns 15.3ns 0.257 0 0 1.64 KB
Benchmarks.Trace.Log4netBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 122μs 52.1ns 202ns 0 0 0 4.31 KB
master EnrichedLog netcoreapp3.1 128μs 294ns 1.02μs 0 0 0 4.31 KB
master EnrichedLog net472 167μs 67.6ns 253ns 0 0 0 4.52 KB
#7123 EnrichedLog net6.0 123μs 52ns 188ns 0 0 0 4.31 KB
#7123 EnrichedLog netcoreapp3.1 128μs 63.6ns 229ns 0 0 0 4.31 KB
#7123 EnrichedLog net472 169μs 166ns 643ns 0 0 0 4.52 KB
Benchmarks.Trace.NLogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.93μs 4.13ns 16ns 0 0 0 2.26 KB
master EnrichedLog netcoreapp3.1 6.7μs 17ns 65.9ns 0 0 0 2.26 KB
master EnrichedLog net472 7.55μs 6.77ns 26.2ns 0.302 0 0 2.08 KB
#7123 EnrichedLog net6.0 4.97μs 4.71ns 18.3ns 0 0 0 2.26 KB
#7123 EnrichedLog netcoreapp3.1 6.6μs 18.3ns 70.7ns 0 0 0 2.26 KB
#7123 EnrichedLog net472 7.49μs 5.81ns 22.5ns 0.3 0 0 2.08 KB
Benchmarks.Trace.RedisBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net6.0 2μs 8.96ns 34.7ns 0 0 0 1.2 KB
master SendReceive netcoreapp3.1 2.62μs 8.68ns 31.3ns 0 0 0 1.2 KB
master SendReceive net472 3.27μs 5.96ns 23.1ns 0.18 0 0 1.2 KB
#7123 SendReceive net6.0 2.01μs 6.88ns 26.7ns 0 0 0 1.2 KB
#7123 SendReceive netcoreapp3.1 2.68μs 12ns 45ns 0 0 0 1.2 KB
#7123 SendReceive net472 3.07μs 2.24ns 8.67ns 0.185 0 0 1.2 KB
Benchmarks.Trace.SerilogBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net6.0 4.32μs 9.06ns 35.1ns 0 0 0 1.58 KB
master EnrichedLog netcoreapp3.1 5.76μs 7.09ns 27.5ns 0 0 0 1.63 KB
master EnrichedLog net472 6.51μs 6.33ns 24.5ns 0.293 0 0 2.03 KB
#7123 EnrichedLog net6.0 4.2μs 3.82ns 14.8ns 0 0 0 1.58 KB
#7123 EnrichedLog netcoreapp3.1 5.45μs 14.4ns 55.9ns 0 0 0 1.63 KB
#7123 EnrichedLog net472 6.36μs 3.61ns 13.5ns 0.319 0 0 2.03 KB
Benchmarks.Trace.SpanBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net6.0 757ns 4.11ns 23.3ns 0 0 0 576 B
master StartFinishSpan netcoreapp3.1 951ns 5.07ns 28.2ns 0 0 0 576 B
master StartFinishSpan net472 965ns 0.298ns 1.15ns 0.0873 0 0 578 B
master StartFinishScope net6.0 916ns 4.49ns 19.6ns 0 0 0 696 B
master StartFinishScope netcoreapp3.1 1.15μs 5.67ns 21.2ns 0 0 0 696 B
master StartFinishScope net472 1.14μs 0.651ns 2.52ns 0.103 0 0 658 B
#7123 StartFinishSpan net6.0 751ns 3.87ns 17.7ns 0 0 0 576 B
#7123 StartFinishSpan netcoreapp3.1 943ns 0.493ns 1.84ns 0 0 0 576 B
#7123 StartFinishSpan net472 936ns 0.658ns 2.55ns 0.089 0 0 578 B
#7123 StartFinishScope net6.0 920ns 4.54ns 19.3ns 0 0 0 696 B
#7123 StartFinishScope netcoreapp3.1 1.14μs 5.36ns 23.4ns 0 0 0 696 B
#7123 StartFinishScope net472 1.13μs 0.648ns 2.51ns 0.102 0 0 658 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed :heavy_check_mark: Same allocations :heavy_check_mark:

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net6.0 1.05μs 4.87ns 20.1ns 0 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 1.4μs 7.05ns 29.9ns 0 0 0 696 B
master RunOnMethodBegin net472 1.43μs 2.47ns 9.56ns 0.102 0 0 658 B
#7123 RunOnMethodBegin net6.0 1.06μs 0.917ns 3.55ns 0 0 0 696 B
#7123 RunOnMethodBegin netcoreapp3.1 1.39μs 6.67ns 28.3ns 0 0 0 696 B
#7123 RunOnMethodBegin net472 1.39μs 0.953ns 3.69ns 0.0987 0 0 658 B

pr-commenter[bot] avatar Jun 25 '25 10:06 pr-commenter[bot]

Execution-Time Benchmarks Report :stopwatch:

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 (7123) - mean (72ms)  : 71, 72
     .   : milestone, 72,
    master - mean (73ms)  : 71, 74
     .   : milestone, 73,

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

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (1,056ms)  : 1028, 1083
     .   : milestone, 1056,
    master - mean (1,058ms)  : 1036, 1080
     .   : milestone, 1058,

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

    section Baseline
    This PR (7123) - mean (107ms)  : 104, 110
     .   : milestone, 107,
    master - mean (108ms)  : 105, 110
     .   : milestone, 108,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (730ms)  : 712, 748
     .   : milestone, 730,
    master - mean (737ms)  : 721, 752
     .   : milestone, 737,

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

    section Baseline
    This PR (7123) - mean (94ms)  : 92, 96
     .   : milestone, 94,
    master - mean (95ms)  : 93, 97
     .   : milestone, 95,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (689ms)  : 673, 705
     .   : milestone, 689,
    master - mean (696ms)  : 679, 712
     .   : milestone, 696,

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

    section Baseline
    This PR (7123) - mean (93ms)  : 91, 94
     .   : milestone, 93,
    master - mean (94ms)  : 92, 96
     .   : milestone, 94,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (625ms)  : 616, 634
     .   : milestone, 625,
    master - mean (633ms)  : 621, 644
     .   : milestone, 633,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7123) - mean (197ms)  : 189, 205
     .   : milestone, 197,
    master - mean (199ms)  : 195, 203
     .   : milestone, 199,

    section Baseline
    This PR (7123) - mean (193ms)  : 185, 200
     .   : milestone, 193,
    master - mean (196ms)  : 187, 204
     .   : milestone, 196,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (1,156ms)  : 1124, 1188
     .   : milestone, 1156,
    master - mean (1,171ms)  : 1145, 1197
     .   : milestone, 1171,

gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7123) - mean (278ms)  : 269, 287
     .   : milestone, 278,
    master - mean (279ms)  : 269, 288
     .   : milestone, 279,

    section Baseline
    This PR (7123) - mean (275ms)  : 265, 284
     .   : milestone, 275,
    master - mean (279ms)  : 272, 286
     .   : milestone, 279,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (927ms)  : 899, 955
     .   : milestone, 927,
    master - mean (931ms)  : 901, 961
     .   : milestone, 931,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7123) - mean (269ms)  : 260, 278
     .   : milestone, 269,
    master - mean (274ms)  : 269, 280
     .   : milestone, 274,

    section Baseline
    This PR (7123) - mean (268ms)  : 259, 276
     .   : milestone, 268,
    master - mean (274ms)  : 268, 280
     .   : milestone, 274,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (911ms)  : 881, 941
     .   : milestone, 911,
    master - mean (921ms)  : 897, 944
     .   : milestone, 921,

gantt
    title Execution time (ms) HttpMessageHandler (.NET 8) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Bailout
    This PR (7123) - mean (267ms)  : 258, 277
     .   : milestone, 267,
    master - mean (276ms)  : 269, 282
     .   : milestone, 276,

    section Baseline
    This PR (7123) - mean (267ms)  : 256, 278
     .   : milestone, 267,
    master - mean (274ms)  : 269, 280
     .   : milestone, 274,

    section CallTarget+Inlining+NGEN
    This PR (7123) - mean (814ms)  : 796, 831
     .   : milestone, 814,
    master - mean (824ms)  : 801, 848
     .   : milestone, 824,

⚠️ Tests

⚠️ Warnings

🧪 5 Tests failed

GitBranchBasedImpactDetection from Datadog.Trace.ClrProfiler.IntegrationTests.CI.XUnitImpactedTests (Datadog)
Expected results.Count to be 2 because Expected filtered test count not met, but found 0 (difference of -2).
GitBranchBasedImpactDetection from Datadog.Trace.ClrProfiler.IntegrationTests.CI.XUnitImpactedTests (Datadog)
Expected results.Count to be 2 because Expected filtered test count not met, but found 0 (difference of -2).
GitBranchBasedImpactDetection from Datadog.Trace.ClrProfiler.IntegrationTests.CI.XUnitImpactedTests (Datadog)
Expected tests.Count to be 2 because Expected filtered test count not met, but found 0 (difference of -2).
View all

ℹ️ Info

❄️ No new flaky tests detected

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