[AAP] Update WAF ruleset to v1.15.0#7331
Conversation
BenchmarksBenchmarks Report for benchmark platform 🐌Benchmarks for #7331 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‑netcoreapp3.1 | 5.72 KB | 5.68 KB | -36 B | -0.63% |
| Benchmarks.Trace.ActivityBenchmark.StartStopWithChild‑net472 | 6.07 KB | 5.99 KB | -82 B | -1.35% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StartStopWithChild |
net6.0 | 11μs | 59.5ns | 357ns | 0 | 0 | 0 | 5.49 KB |
| master | StartStopWithChild |
netcoreapp3.1 | 13.7μs | 64.8ns | 259ns | 0 | 0 | 0 | 5.72 KB |
| master | StartStopWithChild |
net472 | 22.7μs | 125ns | 748ns | 0.907 | 0.227 | 0 | 6.07 KB |
| #7331 | StartStopWithChild |
net6.0 | 10.8μs | 38.7ns | 150ns | 0 | 0 | 0 | 5.5 KB |
| #7331 | StartStopWithChild |
netcoreapp3.1 | 13.5μs | 61.8ns | 276ns | 0 | 0 | 0 | 5.68 KB |
| #7331 | StartStopWithChild |
net472 | 21.7μs | 111ns | 567ns | 0.994 | 0.442 | 0.11 | 5.99 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 | 938μs | 60.9ns | 228ns | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.06ms | 2.13μs | 7.36μs | 0 | 0 | 0 | 2.7 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 1.2ms | 87.8ns | 329ns | 0 | 0 | 0 | 3.31 KB |
| #7331 | WriteAndFlushEnrichedTraces |
net6.0 | 935μs | 80.3ns | 301ns | 0 | 0 | 0 | 2.7 KB |
| #7331 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 1.03ms | 335ns | 1.3μs | 0 | 0 | 0 | 2.7 KB |
| #7331 | WriteAndFlushEnrichedTraces |
net472 | 1.2ms | 88.6ns | 332ns | 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 | 335μs | 1.6μs | 6.81μs | 0 | 0 | 0 | 198.49 KB |
| master | AllCycleSimpleBody |
netcoreapp3.1 | 508μs | 327ns | 1.27μs | 0 | 0 | 0 | 206.2 KB |
| master | AllCycleSimpleBody |
net472 | 453μs | 109ns | 424ns | 37.9 | 2.23 | 0 | 246.48 KB |
| master | AllCycleMoreComplexBody |
net6.0 | 344μs | 855ns | 3.31μs | 0 | 0 | 0 | 202 KB |
| master | AllCycleMoreComplexBody |
netcoreapp3.1 | 494μs | 1.72μs | 6.67μs | 0 | 0 | 0 | 209.62 KB |
| master | AllCycleMoreComplexBody |
net472 | 459μs | 94.5ns | 353ns | 37.9 | 2.23 | 0 | 249.99 KB |
| master | ObjectExtractorSimpleBody |
net6.0 | 314ns | 0.15ns | 0.582ns | 0 | 0 | 0 | 280 B |
| master | ObjectExtractorSimpleBody |
netcoreapp3.1 | 422ns | 2.09ns | 8.87ns | 0 | 0 | 0 | 272 B |
| master | ObjectExtractorSimpleBody |
net472 | 303ns | 0.0214ns | 0.0829ns | 0.0443 | 0 | 0 | 281 B |
| master | ObjectExtractorMoreComplexBody |
net6.0 | 6.33μs | 32.6ns | 156ns | 0 | 0 | 0 | 3.78 KB |
| master | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.9μs | 2.46ns | 9.51ns | 0 | 0 | 0 | 3.69 KB |
| master | ObjectExtractorMoreComplexBody |
net472 | 6.74μs | 2.65ns | 9.57ns | 0.574 | 0 | 0 | 3.8 KB |
| #7331 | AllCycleSimpleBody |
net6.0 | 344μs | 582ns | 2.25μs | 0 | 0 | 0 | 198.49 KB |
| #7331 | AllCycleSimpleBody |
netcoreapp3.1 | 483μs | 2.16μs | 8.08μs | 0 | 0 | 0 | 206.2 KB |
| #7331 | AllCycleSimpleBody |
net472 | 453μs | 107ns | 399ns | 37.9 | 2.23 | 0 | 246.48 KB |
| #7331 | AllCycleMoreComplexBody |
net6.0 | 349μs | 758ns | 2.94μs | 0 | 0 | 0 | 201.99 KB |
| #7331 | AllCycleMoreComplexBody |
netcoreapp3.1 | 521μs | 2.37μs | 9.16μs | 0 | 0 | 0 | 209.62 KB |
| #7331 | AllCycleMoreComplexBody |
net472 | 458μs | 95.1ns | 356ns | 37.9 | 2.23 | 0 | 249.99 KB |
| #7331 | ObjectExtractorSimpleBody |
net6.0 | 312ns | 1.56ns | 6.96ns | 0 | 0 | 0 | 280 B |
| #7331 | ObjectExtractorSimpleBody |
netcoreapp3.1 | 406ns | 0.429ns | 1.66ns | 0 | 0 | 0 | 272 B |
| #7331 | ObjectExtractorSimpleBody |
net472 | 301ns | 0.0453ns | 0.175ns | 0.044 | 0 | 0 | 281 B |
| #7331 | ObjectExtractorMoreComplexBody |
net6.0 | 6.23μs | 28.8ns | 115ns | 0 | 0 | 0 | 3.78 KB |
| #7331 | ObjectExtractorMoreComplexBody |
netcoreapp3.1 | 7.88μs | 35.7ns | 138ns | 0 | 0 | 0 | 3.69 KB |
| #7331 | ObjectExtractorMoreComplexBody |
net472 | 6.71μs | 1.2ns | 4.33ns | 0.602 | 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 | 80.7μs | 7.85ns | 30.4ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
netcoreapp3.1 | 98.7μs | 162ns | 607ns | 0 | 0 | 0 | 32.4 KB |
| master | EncodeArgs |
net472 | 108μs | 4.27ns | 16.6ns | 4.88 | 0 | 0 | 32.51 KB |
| master | EncodeLegacyArgs |
net6.0 | 146μs | 109ns | 422ns | 0 | 0 | 0 | 2.15 KB |
| master | EncodeLegacyArgs |
netcoreapp3.1 | 201μs | 484ns | 1.87μs | 0 | 0 | 0 | 2.14 KB |
| master | EncodeLegacyArgs |
net472 | 263μs | 40.1ns | 155ns | 0 | 0 | 0 | 2.16 KB |
| #7331 | EncodeArgs |
net6.0 | 78.5μs | 49.4ns | 191ns | 0 | 0 | 0 | 32.4 KB |
| #7331 | EncodeArgs |
netcoreapp3.1 | 97.4μs | 211ns | 816ns | 0 | 0 | 0 | 32.4 KB |
| #7331 | EncodeArgs |
net472 | 108μs | 11ns | 41ns | 4.88 | 0 | 0 | 32.51 KB |
| #7331 | EncodeLegacyArgs |
net6.0 | 142μs | 52ns | 201ns | 0 | 0 | 0 | 2.15 KB |
| #7331 | EncodeLegacyArgs |
netcoreapp3.1 | 198μs | 208ns | 807ns | 0 | 0 | 0 | 2.14 KB |
| #7331 | EncodeLegacyArgs |
net472 | 265μs | 113ns | 439ns | 0 | 0 | 0 | 2.16 KB |
Benchmarks.Trace.Asm.AppSecWafBenchmark - Same speed ✔️ Same allocations ✔️
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | RunWafRealisticBenchmark |
net6.0 | 400μs | 167ns | 645ns | 0 | 0 | 0 | 4.55 KB |
| master | RunWafRealisticBenchmark |
netcoreapp3.1 | 415μs | 127ns | 493ns | 0 | 0 | 0 | 4.48 KB |
| master | RunWafRealisticBenchmark |
net472 | 437μs | 127ns | 493ns | 0 | 0 | 0 | 4.66 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net6.0 | 287μs | 49.6ns | 192ns | 0 | 0 | 0 | 2.24 KB |
| master | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 299μs | 39.7ns | 148ns | 0 | 0 | 0 | 2.22 KB |
| master | RunWafRealisticBenchmarkWithAttack |
net472 | 313μs | 44.4ns | 172ns | 0 | 0 | 0 | 2.29 KB |
| #7331 | RunWafRealisticBenchmark |
net6.0 | 398μs | 83.2ns | 311ns | 0 | 0 | 0 | 4.56 KB |
| #7331 | RunWafRealisticBenchmark |
netcoreapp3.1 | 412μs | 78.1ns | 282ns | 0 | 0 | 0 | 4.48 KB |
| #7331 | RunWafRealisticBenchmark |
net472 | 441μs | 109ns | 424ns | 0 | 0 | 0 | 4.66 KB |
| #7331 | RunWafRealisticBenchmarkWithAttack |
net6.0 | 292μs | 49.9ns | 193ns | 0 | 0 | 0 | 2.24 KB |
| #7331 | RunWafRealisticBenchmarkWithAttack |
netcoreapp3.1 | 304μs | 227ns | 879ns | 0 | 0 | 0 | 2.22 KB |
| #7331 | RunWafRealisticBenchmarkWithAttack |
net472 | 317μs | 69.9ns | 271ns | 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.1μs | 27.1ns | 97.6ns | 0 | 0 | 0 | 14.52 KB |
| master | SendRequest |
netcoreapp3.1 | 70μs | 83.1ns | 288ns | 0 | 0 | 0 | 17.43 KB |
| master | SendRequest |
net472 | 0.00787ns | 0.00238ns | 0.00922ns | 0 | 0 | 0 | 0 b |
| #7331 | SendRequest |
net6.0 | 61.9μs | 103ns | 384ns | 0 | 0 | 0 | 14.52 KB |
| #7331 | SendRequest |
netcoreapp3.1 | 71.1μs | 223ns | 1.05μs | 0 | 0 | 0 | 17.42 KB |
| #7331 | SendRequest |
net472 | 0.00492ns | 0.00111ns | 0.0043ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CharSliceBenchmark - Same speed ✔️ More allocations ⚠️
More allocations ⚠️ in #7331
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1
0 b
1 B
1 B
∞
Fewer allocations 🎉 in #7331
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0
7 B
4 B
-3 B
-42.86%
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSliceWithPool‑netcoreapp3.1 | 0 b | 1 B | 1 B | ∞ |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CharSliceBenchmark.OptimizedCharSlice‑net6.0 | 7 B | 4 B | -3 B | -42.86% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | OriginalCharSlice |
net6.0 | 1.94ms | 2.77μs | 10.7μs | 0 | 0 | 0 | 640.01 KB |
| master | OriginalCharSlice |
netcoreapp3.1 | 2.13ms | 8.67μs | 33.6μs | 0 | 0 | 0 | 640 KB |
| master | OriginalCharSlice |
net472 | 2.64ms | 189ns | 706ns | 100 | 0 | 0 | 641.95 KB |
| master | OptimizedCharSlice |
net6.0 | 1.38ms | 309ns | 1.2μs | 0 | 0 | 0 | 7 B |
| master | OptimizedCharSlice |
netcoreapp3.1 | 1.77ms | 243ns | 943ns | 0 | 0 | 0 | 1 B |
| master | OptimizedCharSlice |
net472 | 2.03ms | 536ns | 2.07μs | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net6.0 | 814μs | 46.5ns | 168ns | 0 | 0 | 0 | 2 B |
| master | OptimizedCharSliceWithPool |
netcoreapp3.1 | 802μs | 88.9ns | 344ns | 0 | 0 | 0 | 0 b |
| master | OptimizedCharSliceWithPool |
net472 | 1.19ms | 77.9ns | 291ns | 0 | 0 | 0 | 0 b |
| #7331 | OriginalCharSlice |
net6.0 | 1.88ms | 635ns | 2.37μs | 0 | 0 | 0 | 640.01 KB |
| #7331 | OriginalCharSlice |
netcoreapp3.1 | 2.09ms | 5.5μs | 21.3μs | 0 | 0 | 0 | 640 KB |
| #7331 | OriginalCharSlice |
net472 | 2.69ms | 51.3ns | 178ns | 100 | 0 | 0 | 641.95 KB |
| #7331 | OptimizedCharSlice |
net6.0 | 1.44ms | 139ns | 537ns | 0 | 0 | 0 | 4 B |
| #7331 | OptimizedCharSlice |
netcoreapp3.1 | 1.66ms | 263ns | 1.02μs | 0 | 0 | 0 | 1 B |
| #7331 | OptimizedCharSlice |
net472 | 1.95ms | 361ns | 1.3μs | 0 | 0 | 0 | 0 b |
| #7331 | OptimizedCharSliceWithPool |
net6.0 | 828μs | 14.7ns | 54.8ns | 0 | 0 | 0 | 2 B |
| #7331 | OptimizedCharSliceWithPool |
netcoreapp3.1 | 807μs | 47.9ns | 186ns | 0 | 0 | 0 | 1 B |
| #7331 | OptimizedCharSliceWithPool |
net472 | 1.14ms | 98.4ns | 368ns | 0 | 0 | 0 | 0 b |
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Slower ⚠️ More allocations ⚠️
Slower ⚠️ in #7331
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
1.165
850,461.25
990,775.00
More allocations ⚠️ in #7331
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1
42.03 KB
42.74 KB
712 B
1.69%
Fewer allocations 🎉 in #7331
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472
56.05 KB
55.63 KB
-417 B
-0.74%
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0
42.08 KB
41.68 KB
-401 B
-0.95%
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 1.165 | 850,461.25 | 990,775.00 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑netcoreapp3.1 | 42.03 KB | 42.74 KB | 712 B | 1.69% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net472 | 56.05 KB | 55.63 KB | -417 B | -0.74% |
| Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark.WriteAndFlushEnrichedTraces‑net6.0 | 42.08 KB | 41.68 KB | -401 B | -0.95% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | WriteAndFlushEnrichedTraces |
net6.0 | 693μs | 522ns | 2.02μs | 0 | 0 | 0 | 42.08 KB |
| master | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 651μs | 3.61μs | 25.6μs | 0 | 0 | 0 | 42.03 KB |
| master | WriteAndFlushEnrichedTraces |
net472 | 852μs | 3.32μs | 12.4μs | 8.33 | 0 | 0 | 56.05 KB |
| #7331 | WriteAndFlushEnrichedTraces |
net6.0 | 712μs | 1.06μs | 3.98μs | 0 | 0 | 0 | 41.68 KB |
| #7331 | WriteAndFlushEnrichedTraces |
netcoreapp3.1 | 694μs | 3.38μs | 13.5μs | 0 | 0 | 0 | 42.74 KB |
| #7331 | WriteAndFlushEnrichedTraces |
net472 | 979μs | 5.67μs | 47.8μs | 4.46 | 0 | 0 | 55.63 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.9μs | 8.55ns | 33.1ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
netcoreapp3.1 | 2.56μs | 8.97ns | 34.7ns | 0 | 0 | 0 | 1.02 KB |
| master | ExecuteNonQuery |
net472 | 2.75μs | 2.86ns | 11.1ns | 0.15 | 0.0136 | 0 | 987 B |
| #7331 | ExecuteNonQuery |
net6.0 | 1.92μs | 9ns | 37.1ns | 0 | 0 | 0 | 1.02 KB |
| #7331 | ExecuteNonQuery |
netcoreapp3.1 | 2.5μs | 6.59ns | 25.5ns | 0 | 0 | 0 | 1.02 KB |
| #7331 | ExecuteNonQuery |
net472 | 2.88μs | 2.61ns | 9.76ns | 0.143 | 0.0143 | 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 | 0.74ns | 2.87ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
netcoreapp3.1 | 2.27μs | 9.69ns | 37.5ns | 0 | 0 | 0 | 1.03 KB |
| master | CallElasticsearch |
net472 | 3.58μs | 2.81ns | 10.9ns | 0.162 | 0 | 0 | 1.04 KB |
| master | CallElasticsearchAsync |
net6.0 | 1.74μs | 8.86ns | 38.6ns | 0 | 0 | 0 | 1.01 KB |
| master | CallElasticsearchAsync |
netcoreapp3.1 | 2.53μs | 12.1ns | 49.8ns | 0 | 0 | 0 | 1.08 KB |
| master | CallElasticsearchAsync |
net472 | 3.77μs | 4.45ns | 17.3ns | 0.17 | 0 | 0 | 1.1 KB |
| #7331 | CallElasticsearch |
net6.0 | 1.84μs | 9.05ns | 38.4ns | 0 | 0 | 0 | 1.03 KB |
| #7331 | CallElasticsearch |
netcoreapp3.1 | 2.25μs | 11.4ns | 53.6ns | 0 | 0 | 0 | 1.03 KB |
| #7331 | CallElasticsearch |
net472 | 3.73μs | 3.52ns | 13.6ns | 0.148 | 0 | 0 | 1.04 KB |
| #7331 | CallElasticsearchAsync |
net6.0 | 1.82μs | 9.29ns | 40.5ns | 0 | 0 | 0 | 1.01 KB |
| #7331 | CallElasticsearchAsync |
netcoreapp3.1 | 2.39μs | 11.6ns | 52.1ns | 0 | 0 | 0 | 1.08 KB |
| #7331 | CallElasticsearchAsync |
net472 | 3.8μs | 2.37ns | 9.19ns | 0.17 | 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.87μs | 5.47ns | 21.2ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
netcoreapp3.1 | 2.33μs | 4.99ns | 19.3ns | 0 | 0 | 0 | 952 B |
| master | ExecuteAsync |
net472 | 2.57μs | 1.35ns | 4.87ns | 0.142 | 0 | 0 | 915 B |
| #7331 | ExecuteAsync |
net6.0 | 1.8μs | 9.11ns | 38.6ns | 0 | 0 | 0 | 952 B |
| #7331 | ExecuteAsync |
netcoreapp3.1 | 2.33μs | 6.53ns | 25.3ns | 0 | 0 | 0 | 952 B |
| #7331 | ExecuteAsync |
net472 | 2.48μs | 0.837ns | 3.24ns | 0.136 | 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.88μs | 6ns | 23.2ns | 0 | 0 | 0 | 2.36 KB |
| master | SendAsync |
netcoreapp3.1 | 8.58μs | 33.8ns | 131ns | 0 | 0 | 0 | 2.9 KB |
| master | SendAsync |
net472 | 12.1μs | 8.87ns | 34.4ns | 0.482 | 0 | 0 | 3.18 KB |
| #7331 | SendAsync |
net6.0 | 6.95μs | 19.5ns | 73.1ns | 0 | 0 | 0 | 2.36 KB |
| #7331 | SendAsync |
netcoreapp3.1 | 8.51μs | 14.9ns | 57.6ns | 0 | 0 | 0 | 2.9 KB |
| #7331 | SendAsync |
net472 | 12.2μs | 18.3ns | 70.8ns | 0.489 | 0 | 0 | 3.18 KB |
Benchmarks.Trace.Iast.StringAspectsBenchmark - Faster 🎉 More allocations ⚠️
Faster 🎉 in #7331
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
1.133
490,750.00
433,200.00
More allocations ⚠️ in #7331
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1
247.37 KB
274.44 KB
27.07 KB
10.94%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0
44.11 KB
46.42 KB
2.31 KB
5.24%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472
277.96 KB
286.72 KB
8.76 KB
3.15%
Fewer allocations 🎉 in #7331
Benchmark
Base Allocated
Diff Allocated
Change
Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1
43.58 KB
42.68 KB
-904 B
-2.07%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0
276.1 KB
249.69 KB
-26.42 KB
-9.57%
| Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 | 1.133 | 490,750.00 | 433,200.00 |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 | 247.37 KB | 274.44 KB | 27.07 KB | 10.94% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net6.0 | 44.11 KB | 46.42 KB | 2.31 KB | 5.24% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net472 | 277.96 KB | 286.72 KB | 8.76 KB | 3.15% |
| Benchmark | Base Allocated | Diff Allocated | Change | Change % |
|---|---|---|---|---|
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 | 43.58 KB | 42.68 KB | -904 B | -2.07% |
| Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 | 276.1 KB | 249.69 KB | -26.42 KB | -9.57% |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | StringConcatBenchmark |
net6.0 | 46.2μs | 251ns | 1.28μs | 0 | 0 | 0 | 44.11 KB |
| master | StringConcatBenchmark |
netcoreapp3.1 | 49.1μs | 254ns | 1.41μs | 0 | 0 | 0 | 43.58 KB |
| master | StringConcatBenchmark |
net472 | 57.3μs | 275ns | 1.1μs | 0 | 0 | 0 | 57.34 KB |
| master | StringConcatAspectBenchmark |
net6.0 | 494μs | 2.33μs | 9.3μs | 0 | 0 | 0 | 276.1 KB |
| master | StringConcatAspectBenchmark |
netcoreapp3.1 | 489μs | 2.49μs | 11.7μs | 0 | 0 | 0 | 247.37 KB |
| master | StringConcatAspectBenchmark |
net472 | 405μs | 2.22μs | 13.5μs | 0 | 0 | 0 | 277.96 KB |
| #7331 | StringConcatBenchmark |
net6.0 | 41.4μs | 215ns | 1.2μs | 0 | 0 | 0 | 46.42 KB |
| #7331 | StringConcatBenchmark |
netcoreapp3.1 | 48.6μs | 246ns | 1.18μs | 0 | 0 | 0 | 42.68 KB |
| #7331 | StringConcatBenchmark |
net472 | 57.7μs | 269ns | 1.04μs | 0 | 0 | 0 | 57.34 KB |
| #7331 | StringConcatAspectBenchmark |
net6.0 | 434μs | 1.72μs | 5.97μs | 0 | 0 | 0 | 249.69 KB |
| #7331 | StringConcatAspectBenchmark |
netcoreapp3.1 | 513μs | 1.95μs | 7.04μs | 0 | 0 | 0 | 274.44 KB |
| #7331 | StringConcatAspectBenchmark |
net472 | 404μs | 2.04μs | 9.78μs | 0 | 0 | 0 | 286.72 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.62μs | 12.1ns | 45.4ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
netcoreapp3.1 | 3.43μs | 16.4ns | 67.6ns | 0 | 0 | 0 | 1.7 KB |
| master | EnrichedLog |
net472 | 3.88μs | 3.16ns | 12.2ns | 0.252 | 0 | 0 | 1.64 KB |
| #7331 | EnrichedLog |
net6.0 | 2.58μs | 12.8ns | 58.5ns | 0 | 0 | 0 | 1.7 KB |
| #7331 | EnrichedLog |
netcoreapp3.1 | 3.53μs | 17.2ns | 73ns | 0 | 0 | 0 | 1.7 KB |
| #7331 | EnrichedLog |
net472 | 3.94μs | 3.13ns | 12.1ns | 0.255 | 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 | 122μs | 53.6ns | 208ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
netcoreapp3.1 | 128μs | 170ns | 638ns | 0 | 0 | 0 | 4.31 KB |
| master | EnrichedLog |
net472 | 166μs | 197ns | 762ns | 0 | 0 | 0 | 4.51 KB |
| #7331 | EnrichedLog |
net6.0 | 125μs | 126ns | 471ns | 0 | 0 | 0 | 4.32 KB |
| #7331 | EnrichedLog |
netcoreapp3.1 | 128μs | 361ns | 1.4μs | 0 | 0 | 0 | 4.31 KB |
| #7331 | EnrichedLog |
net472 | 168μs | 38.6ns | 134ns | 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.05μs | 6.82ns | 26.4ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
netcoreapp3.1 | 6.63μs | 16.2ns | 60.6ns | 0 | 0 | 0 | 2.26 KB |
| master | EnrichedLog |
net472 | 7.58μs | 7.21ns | 27.9ns | 0.306 | 0 | 0 | 2.08 KB |
| #7331 | EnrichedLog |
net6.0 | 4.85μs | 15.5ns | 57.8ns | 0 | 0 | 0 | 2.26 KB |
| #7331 | EnrichedLog |
netcoreapp3.1 | 6.64μs | 7.26ns | 28.1ns | 0 | 0 | 0 | 2.26 KB |
| #7331 | EnrichedLog |
net472 | 7.51μs | 5.71ns | 22.1ns | 0.299 | 0 | 0 | 2.08 KB |
Benchmarks.Trace.RedisBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #7331
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1
1.132
2,549.84
2,887.08
| Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
|---|---|---|---|---|
| Benchmarks.Trace.RedisBenchmark.SendReceive‑netcoreapp3.1 | 1.132 | 2,549.84 | 2,887.08 |
Raw results
| Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---|---|---|---|---|---|---|---|---|---|
| master | SendReceive |
net6.0 | 2.01μs | 8.3ns | 32.1ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
netcoreapp3.1 | 2.55μs | 1.33ns | 4.98ns | 0 | 0 | 0 | 1.2 KB |
| master | SendReceive |
net472 | 3.23μs | 1.99ns | 7.72ns | 0.178 | 0 | 0 | 1.2 KB |
| #7331 | SendReceive |
net6.0 | 2μs | 10.1ns | 43.8ns | 0 | 0 | 0 | 1.2 KB |
| #7331 | SendReceive |
netcoreapp3.1 | 2.88μs | 12.1ns | 46.8ns | 0 | 0 | 0 | 1.2 KB |
| #7331 | SendReceive |
net472 | 3.26μs | 4.34ns | 16.8ns | 0.18 | 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.08μs | 4.06ns | 15.7ns | 0 | 0 | 0 | 1.58 KB |
| master | EnrichedLog |
netcoreapp3.1 | 5.49μs | 8.95ns | 34.7ns | 0 | 0 | 0 | 1.63 KB |
| master | EnrichedLog |
net472 | 6.57μs | 10.5ns | 40.7ns | 0.294 | 0 | 0 | 2.03 KB |
| #7331 | EnrichedLog |
net6.0 | 4.11μs | 16.2ns | 62.7ns | 0 | 0 | 0 | 1.58 KB |
| #7331 | EnrichedLog |
netcoreapp3.1 | 5.61μs | 16.9ns | 65.6ns | 0 | 0 | 0 | 1.63 KB |
| #7331 | EnrichedLog |
net472 | 6.63μs | 5.98ns | 23.2ns | 0.298 | 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 | 751ns | 0.189ns | 0.733ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
netcoreapp3.1 | 920ns | 4.95ns | 27.6ns | 0 | 0 | 0 | 576 B |
| master | StartFinishSpan |
net472 | 906ns | 0.786ns | 3.04ns | 0.091 | 0 | 0 | 578 B |
| master | StartFinishScope |
net6.0 | 902ns | 4.3ns | 18.3ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
netcoreapp3.1 | 1.1μs | 5.6ns | 25.7ns | 0 | 0 | 0 | 696 B |
| master | StartFinishScope |
net472 | 1.11μs | 0.123ns | 0.46ns | 0.1 | 0 | 0 | 658 B |
| #7331 | StartFinishSpan |
net6.0 | 729ns | 3.98ns | 23.2ns | 0 | 0 | 0 | 576 B |
| #7331 | StartFinishSpan |
netcoreapp3.1 | 943ns | 0.189ns | 0.731ns | 0 | 0 | 0 | 576 B |
| #7331 | StartFinishSpan |
net472 | 928ns | 0.116ns | 0.432ns | 0.0887 | 0 | 0 | 578 B |
| #7331 | StartFinishScope |
net6.0 | 930ns | 4.76ns | 22.8ns | 0 | 0 | 0 | 696 B |
| #7331 | StartFinishScope |
netcoreapp3.1 | 1.18μs | 5.86ns | 24.9ns | 0 | 0 | 0 | 696 B |
| #7331 | StartFinishScope |
net472 | 1.15μs | 1.38ns | 5.36ns | 0.103 | 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.04μs | 3.85ns | 14.9ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
netcoreapp3.1 | 1.41μs | 6.82ns | 26.4ns | 0 | 0 | 0 | 696 B |
| master | RunOnMethodBegin |
net472 | 1.47μs | 1.18ns | 4.4ns | 0.102 | 0 | 0 | 658 B |
| #7331 | RunOnMethodBegin |
net6.0 | 1.05μs | 5.55ns | 27.2ns | 0 | 0 | 0 | 696 B |
| #7331 | RunOnMethodBegin |
netcoreapp3.1 | 1.37μs | 5.32ns | 20.6ns | 0 | 0 | 0 | 696 B |
| #7331 | RunOnMethodBegin |
net472 | 1.55μs | 1.28ns | 4.8ns | 0.101 | 0 | 0 | 658 B |
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:
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 (7331) - mean (71ms) : 71, 72
. : milestone, 71,
master - mean (72ms) : 70, 73
. : milestone, 72,
section Baseline
This PR (7331) - mean (68ms) : 65, 71
. : milestone, 68,
master - mean (68ms) : 65, 71
. : milestone, 68,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (1,028ms) : 1006, 1050
. : milestone, 1028,
master - mean (1,031ms) : 1006, 1055
. : milestone, 1031,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (106ms) : 105, 108
. : milestone, 106,
master - mean (106ms) : 105, 108
. : milestone, 106,
section Baseline
This PR (7331) - mean (106ms) : 104, 108
. : milestone, 106,
master - mean (106ms) : 103, 108
. : milestone, 106,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (723ms) : 715, 731
. : milestone, 723,
master - mean (723ms) : 713, 734
. : milestone, 723,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (95ms) : 93, 96
. : milestone, 95,
master - mean (94ms) : 93, 95
. : milestone, 94,
section Baseline
This PR (7331) - mean (94ms) : 92, 96
. : milestone, 94,
master - mean (94ms) : 92, 96
. : milestone, 94,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (675ms) : 665, 685
. : milestone, 675,
master - mean (679ms) : 669, 688
. : milestone, 679,
gantt
title Execution time (ms) FakeDbCommand (.NET 8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (93ms) : 92, 95
. : milestone, 93,
master - mean (94ms) : 92, 95
. : milestone, 94,
section Baseline
This PR (7331) - mean (92ms) : 90, 94
. : milestone, 92,
master - mean (93ms) : 91, 95
. : milestone, 93,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (615ms) : 604, 627
. : milestone, 615,
master - mean (625ms) : 616, 634
. : milestone, 625,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (201ms) : 195, 207
. : milestone, 201,
master - mean (202ms) : 198, 205
. : milestone, 202,
section Baseline
This PR (7331) - mean (198ms) : 192, 204
. : milestone, 198,
master - mean (198ms) : 191, 206
. : milestone, 198,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (1,173ms) : 1144, 1201
. : milestone, 1173,
master - mean (1,168ms) : 1146, 1189
. : milestone, 1168,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (285ms) : 279, 292
. : milestone, 285,
master - mean (289ms) : 281, 296
. : milestone, 289,
section Baseline
This PR (7331) - mean (285ms) : 279, 291
. : milestone, 285,
master - mean (285ms) : 277, 293
. : milestone, 285,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (944ms) : 922, 965
. : milestone, 944,
master - mean (943ms) : 919, 966
. : milestone, 943,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (280ms) : 274, 287
. : milestone, 280,
master - mean (279ms) : 275, 284
. : milestone, 279,
section Baseline
This PR (7331) - mean (280ms) : 275, 286
. : milestone, 280,
master - mean (279ms) : 273, 285
. : milestone, 279,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (923ms) : 895, 951
. : milestone, 923,
master - mean (926ms) : 902, 949
. : milestone, 926,
gantt
title Execution time (ms) HttpMessageHandler (.NET 8)
dateFormat X
axisFormat %s
todayMarker off
section Bailout
This PR (7331) - mean (279ms) : 274, 284
. : milestone, 279,
master - mean (278ms) : 273, 283
. : milestone, 278,
section Baseline
This PR (7331) - mean (278ms) : 271, 285
. : milestone, 278,
master - mean (277ms) : 270, 285
. : milestone, 277,
section CallTarget+Inlining+NGEN
This PR (7331) - mean (834ms) : 815, 853
. : milestone, 834,
master - mean (836ms) : 812, 859
. : milestone, 836,
|
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 1 occurrences of : - "_dd.appsec.event_rules.version": "1.13.3"
+ "_dd.appsec.event_rules.version": "1.15.0",
+ "_dd.appsec.fp.http.endpoint": "http-get-7460da9d--",
+ "_dd.appsec.fp.http.header": "hdr-0000000000--3-98425651",
+ "_dd.appsec.fp.http.network": "net-0-0000000000"
[...]
- "_dd.appsec.event_rules.loaded": 159.0,
+ "_dd.appsec.event_rules.loaded": 167.0,
1 occurrences of : + "_dd.appsec.fp.http.endpoint": "http-get-7460da9d--",
+ "_dd.appsec.fp.http.header": "hdr-0100000000-3c930dcb-1-4740ae63",
+ "_dd.appsec.fp.http.network": "net-0-0000000000",
1 occurrences of : - "_dd.appsec.event_rules.version": "1.13.3"
+ "_dd.appsec.event_rules.version": "1.15.0"
1 occurrences of : - "_dd.appsec.event_rules.version": "1.13.3",
+ "_dd.appsec.event_rules.version": "1.15.0",
[...]
+ "_dd.appsec.fp.http.endpoint": "http-get-7460da9d--",
+ "_dd.appsec.fp.http.header": "hdr-0000000000--3-98425651",
+ "_dd.appsec.fp.http.network": "net-0-0000000000",
2 occurrences of : - "_dd.appsec.event_rules.loaded": 159.0,
+ "_dd.appsec.event_rules.loaded": 167.0,
1 occurrences of : + "_dd.appsec.fp.http.endpoint": "http-get-7460da9d--",
+ "_dd.appsec.fp.http.header": "hdr-0000000000--3-98425651",
+ "_dd.appsec.fp.http.network": "net-0-0000000000",
2 occurrences of : + _dd.appsec.fp.http.endpoint: http-post-a13f66cb--27691e7f,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-8a5edab2--,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-e573ec3f--,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-post-c46d148e--4f79592e,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-post-deb830ce--4f79592e,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-post-dfc63662--4f79592e,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-9ce5b35c--,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-0cfc1178--,
5 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-8f75219c--,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-8a5edab2-9f86d081-,
+ _dd.appsec.fp.http.header: hdr-0100000000-3626b5f8-9-6846cbb1,
+ _dd.appsec.fp.http.network: net-1-1000000000,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-8a5edab2-9f86d081-,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-9-6846cbb1,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn----<SessionFp>,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-379f35ca--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn----<SessionFp>,
2 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-8a5edab2--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn----<SessionFp>,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-c9ffce19--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn-5860faf0---<SessionFp>,
17 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
4 occurrences of : + _dd.appsec.fp.http.endpoint: http-post-ae2b84ee--c322e989,
+ _dd.appsec.fp.http.header: hdr-0000000100-3626b5f8-2-da57b738,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn--<CookieFields>-<CookieValues>-<SessionFp>,
1 occurrences of : - _dd.appsec.event_rules.loaded: 159.0,
+ _dd.appsec.event_rules.loaded: 167.0,
1 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-7f4bf8ee-fccaf9f2-,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn----<SessionFp>,
1 occurrences of : + _dd.appsec.fp.http.endpoint: http-post-a13f66cb--27691e7f,
+ _dd.appsec.fp.http.header: hdr-0000000100-3626b5f8-2-da57b738,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn----<SessionFp>,
2 occurrences of : + _dd.appsec.fp.http.endpoint: http-get-23d42bb3-44774db1-,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn----<SessionFp>,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-8a5edab2--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
2 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-c9ffce19--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn-5860faf0---,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-8a5edab2--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
2 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-c9ffce19--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn-5860faf0---,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-7ab84831--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-c4cf151d--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn-5860faf0---,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-7ab84831--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-c4cf151d--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.fp.session: ssn-5860faf0---,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-d2b1037e--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
1 occurrences of : - _dd.appsec.event_rules.version: 1.13.3,
+ _dd.appsec.event_rules.version: 1.15.0,
+ _dd.appsec.fp.http.endpoint: http-get-d2b1037e--,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
|
9500bb6 to
aa18197
Compare
| "_dd.appsec.fp.http.endpoint": "http-get-7460da9d--", | ||
| "_dd.appsec.fp.http.header": "hdr-0000000000--3-98425651", | ||
| "_dd.appsec.fp.http.network": "net-0-0000000000", | ||
|
|
There was a problem hiding this comment.
I see a lot of new fingerprint tags accross snapshots, should the ScrubSessionFingerprint() should be also applied everywhere? Why are they suddenly showing up?
There was a problem hiding this comment.
Because a new rule was added in the ruleset
Snapshots Fix fingerprints Snapshots fixed More snapshots Fixed snapshots Mvc5 snapshots Fixed smoke snapshot Smoke test Iis snapshot Smoke snapshots Iis smoke snapshot
5d4f657 to
7a623e3
Compare
## Summary of changes Fixes more flake in the IIS smoke tests ## Reason for change A recent WAF rules update #7331 started adding more tags to spans, which ultimately can cause flake. Additionally, there are other tags which are only added to the very first span generated, but in a race-y way, so that can cause flake ## Implementation details Add more exclusions to the smoke tests in general. I signed off on these exclusions with ASM (they suggested it!) ## Test coverage If the tests pass, we're good ## Other details <!-- Fixes #{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. -->
This reverts commit 455ad52.
## Summary of changes Add support for AAP trace-tagging rules from WAF and ASM_DD config. ## Reason for change [RFC-1034](https://docs.google.com/document/d/1bqDtGgMJgsTW6I16iEcRn1lb9RRQjFRDGim8zRrbs0s/edit?tab=t.0) lets AppSec rules attach trace attributes and request trace retention without creating an AppSec event. The tracer needs to preserve those WAF outputs and report them on the span with the right tag/metric types and sampling priority. Follow up of #7332 and #7331 (incorrectly reporting the capabilities as they missed the implementation). ## Implementation details - Parse WAF `keep` and `attributes` results, splitting schema attributes, fingerprint attributes, and trace-tagging span attributes. - Report trace-tagging attributes as tags or metrics based on their native type. Numeric-looking strings stay strings. - Preserve `JValue` scalar types when encoding WAF inputs. - Add `rules_compat` support for ASM_DD configs and advertise the ASM_DD multiconfig / trace-tagging capabilities. - Keep API Security schema traces sampled even when the WAF returns `keep:false`, while `keep:false` for plain trace-tagging rules does not force `USER_KEEP`. ## Test coverage - Added unit tests for WAF result parsing, typed attribute reporting, `keep` / `HasKeep`, schema sampling, `JValue` encoding, RCM capabilities, and `rules_compat`. - Added an ASP.NET Core 5 integration snapshot for the four trace-tagging variants: keep/no keep, event/no event, tags/metrics, and sampling priority. - Validated locally the system tests. --- https://datadoghq.atlassian.net/browse/APPSEC-63122
Summary of changes
Update waf ruleset file to latest v1.15.0
Needed for thr JST analysis (Jira)
Reason for change
Implementation details
Test coverage
Other details