Conversation
BenchmarksBenchmarks Report for benchmark platform 🐌Benchmarks for #7828 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.ActivityBenchmark - Same speed ✔️ Fewer allocations 🎉
|
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 | 6.12 KB | 6.08 KB | -35 B | -0.57% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 10.7μs | 58.9ns | 353ns | 0 | 0 | 0 | 5.52 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 13.7μs | 63.4ns | 237ns | 0 | 0 | 0 | 5.71 KB |
| master | StartStopWithChild |
net472 | 22μs | 119ns | 662ns | 0.97 | 0.323 | 0 | 6.12 KB |
| #7828 | StartStopWithChild |
net6.0 | 10.7μs | 58.2ns | 329ns | 0 | 0 | 0 | 5.51 KB |
| #7828 | StartStopWithChild |
netcoreapp3.1 | 13.8μs | 64.8ns | 251ns | 0 | 0 | 0 | 5.73 KB |
| #7828 | StartStopWithChild |
net472 | 21.8μs | 125ns | 929ns | 0.865 | 0.216 | 0 | 6.08 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 | 924μs | 96.6ns | 374ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.03ms | 3.56μs | 13.8μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 1.22ms | 541ns | 2.1μs | 0 | 0 | 0 | 3.31 KB |
| #7828 | WriteAndFlushEnrichedTraces |
net6.0 | 919μs | 148ns | 573ns | 0 | 0 | 0 | 2.7 KB |
| #7828 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.02ms | 146ns | 548ns | 0 | 0 | 0 | 2.7 KB |
| #7828 | WriteAndFlushEnrichedTraces |
net472 | 1.22ms | 186ns | 695ns | 0 | 0 | 0 | 3.31 KB |
Benchmarks.Trace.Asm.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | AllCycleSimpleBody |
net6.0 | 1.06μs | 6.13ns | 52ns | 0 | 0 | 0 | 1.22 KB |
| master | AllCycleSimpleBody |
netcoreapp3.1 | 1.42μs | 6.87ns | 28.3ns | 0 | 0 | 0 | 1.2 KB |
| master | AllCycleSimpleBody |
net472 | 1.03μs | 0.253ns | 0.945ns | 0.195 | 0 | 0 | 1.23 KB |
| master | AllCycleMoreComplexBody |
net6.0 | 7.12μs | 23.4ns | 90.6ns | 0 | 0 | 0 | 4.72 KB |
| master | AllCycleMoreComplexBody |
netcoreapp3.1 | 8.89μs | 36.8ns | 143ns | 0 | 0 | 0 | 4.62 KB |
| master | AllCycleMoreComplexBody |
net472 | 7.65μs | 2.02ns | 7.84ns | 0.73 | 0 | 0 | 4.74 KB |
| master | ObjectExtractorSimpleBody |
net6.0 | 321ns | 1.74ns | 9.05ns | 0 | 0 | 0 | 280 B |
| master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 393ns | 2.23ns | 14.9ns | 0 | 0 | 0 | 272 B |
| master | ObjectExtractorSimpleBody |
net472 | 293ns | 0.0253ns | 0.0946ns | 0.0432 | 0 | 0 | 281 B |
| master | ObjectExtractorMoreComplexBody |
net6.0 | 6.39μs | 18.5ns | 71.7ns | 0 | 0 | 0 | 3.78 KB |
| master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.8μs | 35.7ns | 143ns | 0 | 0 | 0 | 3.69 KB |
| master | ObjectExtractorMoreComplexBody |
net472 | 6.76μs | 9.88ns | 38.3ns | 0.572 | 0 | 0 | 3.8 KB |
| #7828 | AllCycleSimpleBody |
net6.0 | 1.07μs | 6.05ns | 39.2ns | 0 | 0 | 0 | 1.22 KB |
| #7828 | AllCycleSimpleBody |
netcoreapp3.1 | 1.4μs | 7.69ns | 44.8ns | 0 | 0 | 0 | 1.2 KB |
| #7828 | AllCycleSimpleBody |
net472 | 1.06μs | 0.346ns | 1.25ns | 0.19 | 0 | 0 | 1.23 KB |
| #7828 | AllCycleMoreComplexBody |
net6.0 | 7.01μs | 38.1ns | 205ns | 0 | 0 | 0 | 4.72 KB |
| #7828 | AllCycleMoreComplexBody |
netcoreapp3.1 | 9.07μs | 28ns | 105ns | 0 | 0 | 0 | 4.62 KB |
| #7828 | AllCycleMoreComplexBody |
net472 | 7.58μs | 2.04ns | 7.36ns | 0.721 | 0 | 0 | 4.74 KB |
| #7828 | ObjectExtractorSimpleBody |
net6.0 | 328ns | 0.744ns | 2.68ns | 0 | 0 | 0 | 280 B |
| #7828 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 407ns | 2.14ns | 11.3ns | 0 | 0 | 0 | 272 B |
| #7828 | ObjectExtractorSimpleBody |
net472 | 295ns | 0.0313ns | 0.113ns | 0.0433 | 0 | 0 | 281 B |
| #7828 | ObjectExtractorMoreComplexBody |
net6.0 | 6.36μs | 7.79ns | 30.2ns | 0 | 0 | 0 | 3.78 KB |
| #7828 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.97μs | 4.36ns | 16.9ns | 0 | 0 | 0 | 3.69 KB |
| #7828 | ObjectExtractorMoreComplexBody |
net472 | 6.74μs | 3.87ns | 15ns | 0.57 | 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.9μs | 292ns | 1.13μs | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
netcoreapp3.1 | 96.3μs | 253ns | 982ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
net472 | 111μs | 16.6ns | 64.4ns | 5.01 | 0 | 0 | 32.5 KB |
| master | EncodeLegacyArgs |
net6.0 | 142μs | 58ns | 217ns | 0 | 0 | 0 | 2.15 KB |
| master | EncodeLegacyArgs |
netcoreapp3.1 | 199μs | 246ns | 951ns | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
net472 | 264μs | 28.5ns | 107ns | 0 | 0 | 0 | 2.17 KB |
| #7828 | EncodeArgs |
net6.0 | 76.9μs | 261ns | 977ns | 0 | 0 | 0 | 32.4 KB |
| #7828 | EncodeArgs |
netcoreapp3.1 | 97.5μs | 151ns | 586ns | 0 | 0 | 0 | 32.4 KB |
| #7828 | EncodeArgs |
net472 | 109μs | 29.7ns | 107ns | 4.95 | 0 | 0 | 32.51 KB |
| #7828 | EncodeLegacyArgs |
net6.0 | 146μs | 62.3ns | 241ns | 0 | 0 | 0 | 2.15 KB |
| #7828 | EncodeLegacyArgs |
netcoreapp3.1 | 200μs | 247ns | 958ns | 0 | 0 | 0 | 2.14 KB |
| #7828 | EncodeLegacyArgs |
net472 | 263μs | 83ns | 321ns | 0 | 0 | 0 | 2.16 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Faster 🎉 Same allocations ✔️
Faster 🎉 in #7828
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1
2.412
715,761.46
296,711.38
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.Asm.AppSecWafBenchmark.RunWafRealisticBenchmarkWithAttack‑netcoreapp3.1 | 2.412 | 715,761.46 | 296,711.38 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunWafRealisticBenchmark |
net6.0 | 396μs | 90.5ns | 339ns | 0 | 0 | 0 | 4.55 KB |
| master | RunWafRealisticBenchmark |
netcoreapp3.1 | 409μs | 114ns | 428ns | 0 | 0 | 0 | 4.48 KB |
| master | RunWafRealisticBenchmark |
net472 | 427μs | 48.2ns | 187ns | 0 | 0 | 0 | 4.66 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net6.0 | 283μs | 45ns | 168ns | 0 | 0 | 0 | 2.24 KB |
| master | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 708μs | 3.76μs | 19.5μs | 0 | 0 | 0 | 2.22 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net472 | 313μs | 27.6ns | 107ns | 0 | 0 | 0 | 2.29 KB |
| #7828 | RunWafRealisticBenchmark |
net6.0 | 394μs | 76.8ns | 287ns | 0 | 0 | 0 | 4.55 KB |
| #7828 | RunWafRealisticBenchmark |
netcoreapp3.1 | 410μs | 299ns | 1.16μs | 0 | 0 | 0 | 4.48 KB |
| #7828 | RunWafRealisticBenchmark |
net472 | 431μs | 199ns | 769ns | 0 | 0 | 0 | 4.66 KB |
| #7828 | RunWafRealisticBenchmarkWithAttack |
net6.0 | 290μs | 105ns | 405ns | 0 | 0 | 0 | 2.24 KB |
| #7828 | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 297μs | 60.9ns | 228ns | 0 | 0 | 0 | 2.22 KB |
| #7828 | RunWafRealisticBenchmarkWithAttack |
net472 | 311μs | 225ns | 871ns | 0 | 0 | 0 | 2.29 KB |
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendRequest |
net6.0 | 61.5μs | 97ns | 350ns | 0 | 0 | 0 | 14.52 KB |
| master | SendRequest |
netcoreapp3.1 | 72.1μs | 120ns | 434ns | 0 | 0 | 0 | 17.42 KB |
| master | SendRequest |
net472 | 0.00444ns | 0.00159ns | 0.00618ns | 0 | 0 | 0 | 0 b |
| #7828 | SendRequest |
net6.0 | 60.5μs | 83.5ns | 324ns | 0 | 0 | 0 | 14.52 KB |
| #7828 | SendRequest |
netcoreapp3.1 | 71.9μs | 71.4ns | 247ns | 0 | 0 | 0 | 17.42 KB |
| #7828 | SendRequest |
net472 | 0.00228ns | 0.00165ns | 0.00638ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7828
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472
0 b
73 B
73 B
∞
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472
0 b
47 B
47 B
∞
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0
2 B
4 B
2 B
100.00%
Fewer allocations 🎉 in #7828
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1
1 B
0 b
-1 B
-100.00%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net472 | 0 b | 73 B | 73 B | ∞ |
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net472 | 0 b | 47 B | 47 B | ∞ |
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑net6.0 | 2 B | 4 B | 2 B | 100.00% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| 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.88ms | 4.78μs | 18.5μs | 0 | 0 | 0 | 640.01 KB |
| master | OriginalCharSlice |
netcoreapp3.1 | 2.08ms | 5.69μs | 22.1μs | 0 | 0 | 0 | 640 KB |
| master | OriginalCharSlice |
net472 | 2.58ms | 73ns | 273ns | 100 | 0 | 0 | 641.95 KB |
| master | OptimizedCharSlice |
net6.0 | 1.34ms | 239ns | 926ns | 0 | 0 | 0 | 7 B |
| master | OptimizedCharSlice |
netcoreapp3.1 | 1.66ms | 411ns | 1.59μs | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSlice |
net472 | 2.01ms | 222ns | 830ns | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net6.0 | 840μs | 77.1ns | 289ns | 0 | 0 | 0 | 2 B |
| master | OptimizedCharSliceWithPool |
netcoreapp3.1 | 813μs | 53.5ns | 200ns | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSliceWithPool |
net472 | 1.13ms | 90.9ns | 352ns | 0 | 0 | 0 | 0 b |
| #7828 | OriginalCharSlice |
net6.0 | 1.94ms | 541ns | 1.95μs | 0 | 0 | 0 | 640.01 KB |
| #7828 | OriginalCharSlice |
netcoreapp3.1 | 2.23ms | 10.4μs | 40.3μs | 0 | 0 | 0 | 640 KB |
| #7828 | OriginalCharSlice |
net472 | 2.65ms | 113ns | 408ns | 100 | 0 | 0 | 641.95 KB |
| #7828 | OptimizedCharSlice |
net6.0 | 1.35ms | 270ns | 1.04μs | 0 | 0 | 0 | 7 B |
| #7828 | OptimizedCharSlice |
netcoreapp3.1 | 1.68ms | 323ns | 1.21μs | 0 | 0 | 0 | 1 B |
| #7828 | OptimizedCharSlice |
net472 | 2ms | 536ns | 2.08μs | 0 | 0 | 0 | 73 B |
| #7828 | OptimizedCharSliceWithPool |
net6.0 | 824μs | 43.8ns | 170ns | 0 | 0 | 0 | 4 B |
| #7828 | OptimizedCharSliceWithPool |
netcoreapp3.1 | 798μs | 143ns | 554ns | 0 | 0 | 0 | 0 b |
| #7828 | OptimizedCharSliceWithPool |
net472 | 1.15ms | 84.8ns | 329ns | 0 | 0 | 0 | 47 B |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Fewer allocations 🎉
Fewer allocations 🎉 in #7828
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
56.29 KB
55.98 KB
-308 B
-0.55%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0
42.32 KB
41.6 KB
-721 B
-1.70%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 56.29 KB | 55.98 KB | -308 B | -0.55% |
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 | 42.32 KB | 41.6 KB | -721 B | -1.70% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 705μs | 1.68μs | 7.86μs | 0 | 0 | 0 | 42.32 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 782μs | 1.09μs | 4.21μs | 0 | 0 | 0 | 41.86 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 888μs | 2.64μs | 10.2μs | 8.33 | 0 | 0 | 56.29 KB |
| #7828 | WriteAndFlushEnrichedTraces |
net6.0 | 735μs | 769ns | 2.98μs | 0 | 0 | 0 | 41.6 KB |
| #7828 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 717μs | 4.31μs | 41.1μs | 0 | 0 | 0 | 41.91 KB |
| #7828 | WriteAndFlushEnrichedTraces |
net472 | 995μs | 4.74μs | 21.7μs | 4.81 | 0 | 0 | 55.98 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.97μs | 2.62ns | 10.1ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 2.64μs | 9.62ns | 34.7ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.91μs | 8.4ns | 32.5ns | 0.146 | 0.0146 | 0 | 987 B |
| #7828 | ExecuteNonQuery |
net6.0 | 1.92μs | 9.57ns | 42.8ns | 0 | 0 | 0 | 1.02 KB |
| #7828 | ExecuteNonQuery |
netcoreapp3.1 | 2.64μs | 5.91ns | 22.9ns | 0 | 0 | 0 | 1.02 KB |
| #7828 | ExecuteNonQuery |
net472 | 2.77μs | 2.52ns | 9.43ns | 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.69μs | 8.88ns | 43.5ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
netcoreapp3.1 | 2.35μs | 9.14ns | 35.4ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
net472 | 3.51μs | 2.12ns | 8.19ns | 0.158 | 0 | 0 | 1.04 KB |
| master | CallElasticsearchAsync |
net6.0 | 1.8μs | 8.94ns | 36.9ns | 0 | 0 | 0 | 1.01 KB |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 2.35μs | 12.3ns | 59.1ns | 0 | 0 | 0 | 1.08 KB |
| master | CallElasticsearchAsync |
net472 | 3.66μs | 2.06ns | 7.99ns | 0.164 | 0 | 0 | 1.1 KB |
| #7828 | CallElasticsearch |
net6.0 | 1.7μs | 0.87ns | 3.37ns | 0 | 0 | 0 | 1.03 KB |
| #7828 | CallElasticsearch |
netcoreapp3.1 | 2.19μs | 10.2ns | 39.5ns | 0 | 0 | 0 | 1.03 KB |
| #7828 | CallElasticsearch |
net472 | 3.51μs | 2.57ns | 9.95ns | 0.156 | 0 | 0 | 1.04 KB |
| #7828 | CallElasticsearchAsync |
net6.0 | 1.8μs | 3.92ns | 14.7ns | 0 | 0 | 0 | 1.01 KB |
| #7828 | CallElasticsearchAsync |
netcoreapp3.1 | 2.31μs | 11.9ns | 57.3ns | 0 | 0 | 0 | 1.08 KB |
| #7828 | CallElasticsearchAsync |
net472 | 3.56μs | 2.08ns | 7.78ns | 0.161 | 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 | 2μs | 7.29ns | 28.2ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 2.43μs | 6.52ns | 25.2ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 2.63μs | 2.07ns | 8.03ns | 0.145 | 0 | 0 | 915 B |
| #7828 | ExecuteAsync |
net6.0 | 1.81μs | 9.15ns | 42.9ns | 0 | 0 | 0 | 952 B |
| #7828 | ExecuteAsync |
netcoreapp3.1 | 2.36μs | 10.6ns | 41ns | 0 | 0 | 0 | 952 B |
| #7828 | ExecuteAsync |
net472 | 2.76μs | 1.36ns | 5.1ns | 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.8μs | 18ns | 67.5ns | 0 | 0 | 0 | 2.36 KB |
| master | SendAsync |
netcoreapp3.1 | 8.49μs | 7.13ns | 27.6ns | 0 | 0 | 0 | 2.9 KB |
| master | SendAsync |
net472 | 12.4μs | 10.8ns | 41.9ns | 0.495 | 0 | 0 | 3.18 KB |
| #7828 | SendAsync |
net6.0 | 7.16μs | 4.88ns | 17.6ns | 0 | 0 | 0 | 2.36 KB |
| #7828 | SendAsync |
netcoreapp3.1 | 8.98μs | 7.91ns | 30.6ns | 0 | 0 | 0 | 2.9 KB |
| #7828 | SendAsync |
net472 | 12.2μs | 12.2ns | 47.3ns | 0.486 | 0 | 0 | 3.18 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7828
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
255.84 KB
273.59 KB
17.75 KB
6.94%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0
43.44 KB
43.78 KB
336 B
0.77%
Fewer allocations 🎉 in #7828
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
276.95 KB
274.85 KB
-2.1 KB
-0.76%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 | 255.84 KB | 273.59 KB | 17.75 KB | 6.94% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 | 43.44 KB | 43.78 KB | 336 B | 0.77% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 | 276.95 KB | 274.85 KB | -2.1 KB | -0.76% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StringConcatBenchmark |
net6.0 | 42.1μs | 202ns | 834ns | 0 | 0 | 0 | 43.44 KB |
| master | StringConcatBenchmark |
netcoreapp3.1 | 51.8μs | 395ns | 3.77μs | 0 | 0 | 0 | 42.8 KB |
| master | StringConcatBenchmark |
net472 | 56.9μs | 281ns | 1.29μs | 0 | 0 | 0 | 57.34 KB |
| master | StringConcatAspectBenchmark |
net6.0 | 499μs | 1.52μs | 5.49μs | 0 | 0 | 0 | 276.95 KB |
| master | StringConcatAspectBenchmark |
netcoreapp3.1 | 510μs | 2.23μs | 8.34μs | 0 | 0 | 0 | 255.84 KB |
| master | StringConcatAspectBenchmark |
net472 | 417μs | 2.33μs | 14.7μs | 0 | 0 | 0 | 278.53 KB |
| #7828 | StringConcatBenchmark |
net6.0 | 46.1μs | 262ns | 1.68μs | 0 | 0 | 0 | 43.78 KB |
| #7828 | StringConcatBenchmark |
netcoreapp3.1 | 49.7μs | 287ns | 2.31μs | 0 | 0 | 0 | 42.73 KB |
| #7828 | StringConcatBenchmark |
net472 | 56.6μs | 295ns | 1.38μs | 0 | 0 | 0 | 57.34 KB |
| #7828 | StringConcatAspectBenchmark |
net6.0 | 487μs | 1.63μs | 5.89μs | 0 | 0 | 0 | 274.85 KB |
| #7828 | StringConcatAspectBenchmark |
netcoreapp3.1 | 511μs | 1.9μs | 6.86μs | 0 | 0 | 0 | 273.59 KB |
| #7828 | StringConcatAspectBenchmark |
net472 | 417μs | 2.28μs | 15.6μs | 0 | 0 | 0 | 278.53 KB |
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | EnrichedLog |
net6.0 | 2.65μs | 13.8ns | 67.8ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.57μs | 16.5ns | 66ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
net472 | 3.85μs | 3.42ns | 13.2ns | 0.249 | 0 | 0 | 1.64 KB |
| #7828 | EnrichedLog |
net6.0 | 2.65μs | 13.3ns | 56.6ns | 0 | 0 | 0 | 1.7 KB |
| #7828 | EnrichedLog |
netcoreapp3.1 | 3.61μs | 1.8ns | 6.75ns | 0 | 0 | 0 | 1.7 KB |
| #7828 | EnrichedLog |
net472 | 3.88μs | 3.13ns | 12.1ns | 0.251 | 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 | 128μs | 240ns | 928ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
netcoreapp3.1 | 133μs | 275ns | 953ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
net472 | 173μs | 412ns | 1.59μs | 0 | 0 | 0 | 4.52 KB |
| #7828 | EnrichedLog |
net6.0 | 128μs | 212ns | 794ns | 0 | 0 | 0 | 4.31 KB |
| #7828 | EnrichedLog |
netcoreapp3.1 | 127μs | 57.1ns | 198ns | 0 | 0 | 0 | 4.31 KB |
| #7828 | EnrichedLog |
net472 | 167μs | 58ns | 225ns | 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.3μs | 24.1ns | 96.5ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
netcoreapp3.1 | 6.78μs | 18.5ns | 71.8ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 7.56μs | 7.28ns | 28.2ns | 0.304 | 0 | 0 | 2.08 KB |
| #7828 | EnrichedLog |
net6.0 | 5.06μs | 15ns | 58.3ns | 0 | 0 | 0 | 2.26 KB |
| #7828 | EnrichedLog |
netcoreapp3.1 | 7.02μs | 15.2ns | 59ns | 0 | 0 | 0 | 2.26 KB |
| #7828 | EnrichedLog |
net472 | 7.52μs | 6.9ns | 26.7ns | 0.302 | 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.08μs | 9.78ns | 40.3ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
netcoreapp3.1 | 2.69μs | 10.3ns | 39.7ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
net472 | 3.03μs | 3.68ns | 14.2ns | 0.181 | 0 | 0 | 1.2 KB |
| #7828 | SendReceive |
net6.0 | 2.01μs | 10.3ns | 47ns | 0 | 0 | 0 | 1.2 KB |
| #7828 | SendReceive |
netcoreapp3.1 | 2.63μs | 10.6ns | 41ns | 0 | 0 | 0 | 1.2 KB |
| #7828 | SendReceive |
net472 | 3.14μs | 2.06ns | 7.97ns | 0.187 | 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.46μs | 6.8ns | 25.4ns | 0 | 0 | 0 | 1.58 KB |
| master | EnrichedLog |
netcoreapp3.1 | 5.71μs | 13.8ns | 53.4ns | 0 | 0 | 0 | 1.63 KB |
| master | EnrichedLog |
net472 | 6.49μs | 6.2ns | 24ns | 0.321 | 0 | 0 | 2.03 KB |
| #7828 | EnrichedLog |
net6.0 | 4.31μs | 7.31ns | 28.3ns | 0 | 0 | 0 | 1.58 KB |
| #7828 | EnrichedLog |
netcoreapp3.1 | 5.64μs | 11.6ns | 45.1ns | 0 | 0 | 0 | 1.63 KB |
| #7828 | EnrichedLog |
net472 | 6.71μs | 7.35ns | 28.5ns | 0.301 | 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 | 756ns | 4.12ns | 22.6ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 958ns | 4.63ns | 18.5ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 957ns | 0.413ns | 1.6ns | 0.0913 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 972ns | 5.06ns | 23.8ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 1.2μs | 0.445ns | 1.73ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 1.12μs | 1.08ns | 4.18ns | 0.1 | 0 | 0 | 658 B |
| #7828 | StartFinishSpan |
net6.0 | 786ns | 4.14ns | 20.3ns | 0 | 0 | 0 | 576 B |
| #7828 | StartFinishSpan |
netcoreapp3.1 | 963ns | 5.38ns | 32.3ns | 0 | 0 | 0 | 576 B |
| #7828 | StartFinishSpan |
net472 | 944ns | 0.241ns | 0.934ns | 0.0905 | 0 | 0 | 578 B |
| #7828 | StartFinishScope |
net6.0 | 927ns | 4.62ns | 21.7ns | 0 | 0 | 0 | 696 B |
| #7828 | StartFinishScope |
netcoreapp3.1 | 1.21μs | 6.16ns | 26.9ns | 0 | 0 | 0 | 696 B |
| #7828 | StartFinishScope |
net472 | 1.16μs | 0.387ns | 1.45ns | 0.0992 | 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.06μs | 5.29ns | 26.5ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 1.46μs | 3.98ns | 15.4ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.47μs | 1.73ns | 6.71ns | 0.103 | 0 | 0 | 658 B |
| #7828 | RunOnMethodBegin |
net6.0 | 1.05μs | 4.91ns | 19.7ns | 0 | 0 | 0 | 696 B |
| #7828 | RunOnMethodBegin |
netcoreapp3.1 | 1.45μs | 7.05ns | 30.7ns | 0 | 0 | 0 | 696 B |
| #7828 | RunOnMethodBegin |
net472 | 1.45μs | 1.01ns | 3.79ns | 0.1 | 0 | 0 | 658 B |
35d34ec to
04a87f9
Compare
04a87f9 to
068cf7f
Compare
068cf7f to
a56a251
Compare
a56a251 to
c8125bb
Compare
andrewlock
left a comment
There was a problem hiding this comment.
Thanks! I just have some questions about how "environments" work, and whether we should move more of our secrets there potentially😄
| BOLD_GREEN: "\e[1;32m" | ||
| RESET: "\e[0m" |
| jobs: | ||
| create_draft_release: | ||
| runs-on: ubuntu-latest | ||
| environment: publish-debug-symbols-env |
There was a problem hiding this comment.
Should the environment be called something more generic? 🤔 We can only have a single environment "active" at a time, right?
Also, secrets that aren't in an environment... are they still available?
Also also, how does environment actually "improve" anything here? any ideas?
There was a problem hiding this comment.
Should the environment be called something more generic? 🤔 We can only have a single environment "active" at a time, right?
we can, I was doing it for symbols publishing first and see after.
From what I read, you can have only one environment for a job. A job can use secrets that aren't in an environment in addition to the ones defined in an environment. The ones in an environment will override if there secrets with the same name not in a environment.
Also also, how does environment actually "improve" anything here? any ideas?
The only benefit I see, is not being pinged by DD security bot.... joke aside, I do not know. I haven't used them a lot (first time though)
## Summary of changes These were removed from the reusable workflow in #7828, but didn't get removed from these. ## Reason for change They were broken and GitHub said: ``` The workflow is not valid. .github/workflows/create_normal_draft_release.yml (Line: 40, Col: 33): Invalid secret, DD_PREPROD_API_KEY is not defined in the referenced workflow. .github/workflows/create_normal_draft_release.yml (Line: 41, Col: 39): Invalid secret, DD_PUBLIC_SYMBOL_API_KEY is not defined in the referenced workflow. ``` ## Implementation details Deleted them ## Test coverage Can try them out next time 😄 ## Other details <!-- Fixes #{issue} --> We still have our old release script which doesn't have the issue <!--⚠️ 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. -->
Summary of changes
Publishing .NET APM native symbols to alls DCs.
Reason for change
When resolving symbols for crash reports in a DC different from us1, the deobfuscation API is unable to get the symbol for a specific frame.
Implementation details
Test coverage
https://github.com/DataDog/dd-trace-dotnet/actions/runs/19435230104/job/55604220909
-> Upload to preprod is failing (same with the current state of the job)
Other details