Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[IAST] Change filtered cookie vuln hash #6032

Merged
merged 2 commits into from
Sep 18, 2024

Conversation

daniel-romano-DD
Copy link
Contributor

Summary of changes

Update RFC changes in filtered cookie calculation

Reason for change

Previous option could collide with a cookie named Filtered

Implementation details

Changed the hash calculation to FILTERED_VULN instead of VULN:Filtered

Test coverage

Added unit test

Other details

@andrewlock
Copy link
Member

andrewlock commented Sep 13, 2024

Execution-Time Benchmarks Report ⏱️

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

Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:

  • Welch test with statistical test for significance of 5%
  • Only results indicating a difference greater than 5% and 5 ms are considered.

Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard.

Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph).

gantt
    title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6032) - mean (70ms)  : 66, 73
     .   : milestone, 70,
    master - mean (69ms)  : 67, 71
     .   : milestone, 69,

    section CallTarget+Inlining+NGEN
    This PR (6032) - mean (1,117ms)  : 1091, 1143
     .   : milestone, 1117,
    master - mean (1,116ms)  : 1093, 1140
     .   : milestone, 1116,

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

    section CallTarget+Inlining+NGEN
    This PR (6032) - mean (810ms)  : 787, 834
     .   : milestone, 810,
    master - mean (815ms)  : 794, 836
     .   : milestone, 815,

Loading
gantt
    title Execution time (ms) FakeDbCommand (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6032) - mean (93ms)  : 90, 96
     .   : milestone, 93,
    master - mean (93ms)  : 90, 95
     .   : milestone, 93,

    section CallTarget+Inlining+NGEN
    This PR (6032) - mean (767ms)  : 745, 790
     .   : milestone, 767,
    master - mean (773ms)  : 749, 797
     .   : milestone, 773,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6032) - mean (191ms)  : 186, 197
     .   : milestone, 191,
    master - mean (191ms)  : 188, 193
     .   : milestone, 191,

    section CallTarget+Inlining+NGEN
    This PR (6032) - mean (1,199ms)  : 1173, 1225
     .   : milestone, 1199,
    master - mean (1,196ms)  : 1171, 1220
     .   : milestone, 1196,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET Core 3.1) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6032) - mean (276ms)  : 272, 280
     .   : milestone, 276,
    master - mean (276ms)  : 272, 280
     .   : milestone, 276,

    section CallTarget+Inlining+NGEN
    This PR (6032) - mean (970ms)  : 951, 989
     .   : milestone, 970,
    master - mean (971ms)  : 948, 994
     .   : milestone, 971,

Loading
gantt
    title Execution time (ms) HttpMessageHandler (.NET 6) 
    dateFormat  X
    axisFormat %s
    todayMarker off
    section Baseline
    This PR (6032) - mean (265ms)  : 261, 270
     .   : milestone, 265,
    master - mean (265ms)  : 261, 268
     .   : milestone, 265,

    section CallTarget+Inlining+NGEN
    This PR (6032) - mean (947ms)  : 926, 967
     .   : milestone, 947,
    master - mean (944ms)  : 923, 966
     .   : milestone, 944,

Loading

@datadog-ddstaging
Copy link

datadog-ddstaging bot commented Sep 13, 2024

Datadog Report

Branch report: dani/iast/filtered_cookie_hash
Commit report: eac4eae
Test service: dd-trace-dotnet

✅ 0 Failed, 365621 Passed, 2096 Skipped, 15h 46m 40.45s Total Time

@andrewlock
Copy link
Member

andrewlock commented Sep 13, 2024

Benchmarks Report for appsec 🐌

Benchmarks for #6032 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.119
  • 1 benchmarks are slower, with geometric mean 1.195
  • 1 benchmarks have fewer allocations
  • 2 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.Asm.AppSecBodyBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #6032

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Asm.AppSecBodyBenchmark.ObjectExtractorSimpleBody‑netcoreapp3.1 1.119 230.23 205.78

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net6.0 72.4μs 79.2ns 307ns 0.0716 0 0 6.01 KB
master AllCycleSimpleBody netcoreapp3.1 61.5μs 88.3ns 342ns 0.093 0 0 6.95 KB
master AllCycleSimpleBody net472 48.9μs 39.2ns 152ns 1.31 0 0 8.34 KB
master AllCycleMoreComplexBody net6.0 77μs 52.1ns 202ns 0.116 0 0 9.51 KB
master AllCycleMoreComplexBody netcoreapp3.1 70.3μs 104ns 375ns 0.14 0 0 10.36 KB
master AllCycleMoreComplexBody net472 56μs 97.4ns 377ns 1.87 0.0276 0 11.85 KB
master ObjectExtractorSimpleBody net6.0 147ns 0.133ns 0.497ns 0.00399 0 0 280 B
master ObjectExtractorSimpleBody netcoreapp3.1 231ns 0.22ns 0.85ns 0.00371 0 0 272 B
master ObjectExtractorSimpleBody net472 172ns 0.154ns 0.595ns 0.0446 0 0 281 B
master ObjectExtractorMoreComplexBody net6.0 3.16μs 2.19ns 8.19ns 0.0525 0 0 3.78 KB
master ObjectExtractorMoreComplexBody netcoreapp3.1 4μs 2.28ns 8.54ns 0.0499 0 0 3.69 KB
master ObjectExtractorMoreComplexBody net472 3.87μs 3.61ns 13.5ns 0.602 0.00781 0 3.8 KB
#6032 AllCycleSimpleBody net6.0 72.6μs 109ns 422ns 0.0726 0 0 6 KB
#6032 AllCycleSimpleBody netcoreapp3.1 62.3μs 125ns 485ns 0.0925 0 0 6.95 KB
#6032 AllCycleSimpleBody net472 48.9μs 83.8ns 313ns 1.32 0 0 8.34 KB
#6032 AllCycleMoreComplexBody net6.0 77.3μs 144ns 558ns 0.116 0 0 9.51 KB
#6032 AllCycleMoreComplexBody netcoreapp3.1 69.9μs 100ns 376ns 0.104 0 0 10.36 KB
#6032 AllCycleMoreComplexBody net472 56.1μs 63.3ns 245ns 1.86 0.0282 0 11.85 KB
#6032 ObjectExtractorSimpleBody net6.0 145ns 0.252ns 0.974ns 0.00392 0 0 280 B
#6032 ObjectExtractorSimpleBody netcoreapp3.1 206ns 0.131ns 0.491ns 0.00361 0 0 272 B
#6032 ObjectExtractorSimpleBody net472 180ns 0.272ns 1.05ns 0.0446 0 0 281 B
#6032 ObjectExtractorMoreComplexBody net6.0 3.02μs 1.56ns 5.84ns 0.0531 0 0 3.78 KB
#6032 ObjectExtractorMoreComplexBody netcoreapp3.1 4.15μs 1.79ns 6.68ns 0.0496 0 0 3.69 KB
#6032 ObjectExtractorMoreComplexBody net472 3.86μs 3.65ns 14.1ns 0.601 0.00584 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 39.3μs 13.1ns 45.4ns 0.451 0 0 32.4 KB
master EncodeArgs netcoreapp3.1 54.4μs 19.7ns 73.7ns 0.435 0 0 32.4 KB
master EncodeArgs net472 67.3μs 143ns 554ns 5.14 0.0672 0 32.5 KB
master EncodeLegacyArgs net6.0 72.2μs 69.5ns 251ns 0 0 0 2.14 KB
master EncodeLegacyArgs netcoreapp3.1 104μs 54.7ns 197ns 0 0 0 2.14 KB
master EncodeLegacyArgs net472 151μs 66.4ns 249ns 0.303 0 0 2.15 KB
#6032 EncodeArgs net6.0 37.5μs 32.2ns 121ns 0.452 0 0 32.4 KB
#6032 EncodeArgs netcoreapp3.1 54.1μs 36.3ns 141ns 0.432 0 0 32.4 KB
#6032 EncodeArgs net472 66.6μs 112ns 435ns 5.16 0.0662 0 32.5 KB
#6032 EncodeLegacyArgs net6.0 75.7μs 13.2ns 49.6ns 0 0 0 2.14 KB
#6032 EncodeLegacyArgs netcoreapp3.1 106μs 326ns 1.26μs 0 0 0 2.14 KB
#6032 EncodeLegacyArgs net472 151μs 124ns 481ns 0.302 0 0 2.15 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 183μs 259ns 1μs 0 0 0 2.42 KB
master RunWafRealisticBenchmark netcoreapp3.1 195μs 126ns 490ns 0 0 0 2.37 KB
master RunWafRealisticBenchmark net472 208μs 160ns 621ns 0.31 0 0 2.43 KB
master RunWafRealisticBenchmarkWithAttack net6.0 122μs 65.9ns 246ns 0 0 0 1.46 KB
master RunWafRealisticBenchmarkWithAttack netcoreapp3.1 132μs 156ns 603ns 0 0 0 1.45 KB
master RunWafRealisticBenchmarkWithAttack net472 139μs 63.9ns 247ns 0.207 0 0 1.48 KB
#6032 RunWafRealisticBenchmark net6.0 185μs 107ns 415ns 0 0 0 2.42 KB
#6032 RunWafRealisticBenchmark netcoreapp3.1 197μs 125ns 485ns 0 0 0 2.37 KB
#6032 RunWafRealisticBenchmark net472 211μs 194ns 750ns 0.314 0 0 2.43 KB
#6032 RunWafRealisticBenchmarkWithAttack net6.0 122μs 33ns 114ns 0 0 0 1.46 KB
#6032 RunWafRealisticBenchmarkWithAttack netcoreapp3.1 131μs 189ns 732ns 0 0 0 1.45 KB
#6032 RunWafRealisticBenchmarkWithAttack net472 139μs 31.9ns 115ns 0.208 0 0 1.48 KB
Benchmarks.Trace.Iast.StringAspectsBenchmark - Slower ⚠️ More allocations ⚠️

Slower ⚠️ in #6032

Benchmark diff/base Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑netcoreapp3.1 1.195 52,700.00 63,000.00 multimodal

More allocations ⚠️ in #6032

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑netcoreapp3.1 253.17 KB 276.79 KB 23.62 KB 9.33%
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatAspectBenchmark‑net6.0 253.87 KB 255.25 KB 1.38 KB 0.54%

Fewer allocations 🎉 in #6032

Benchmark Base Allocated Diff Allocated Change Change %
Benchmarks.Trace.Iast.StringAspectsBenchmark.StringConcatBenchmark‑net472 59.09 KB 58.67 KB -416 B -0.70%

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StringConcatBenchmark net6.0 57.8μs 741ns 7.3μs 0 0 0 43.44 KB
master StringConcatBenchmark netcoreapp3.1 52.7μs 240ns 899ns 0 0 0 42.64 KB
master StringConcatBenchmark net472 37μs 143ns 517ns 0 0 0 59.09 KB
master StringConcatAspectBenchmark net6.0 298μs 1.4μs 6.25μs 0 0 0 253.87 KB
master StringConcatAspectBenchmark netcoreapp3.1 338μs 1.53μs 6.3μs 0 0 0 253.17 KB
master StringConcatAspectBenchmark net472 282μs 5.93μs 58.1μs 0 0 0 278.53 KB
#6032 StringConcatBenchmark net6.0 61.8μs 795ns 7.91μs 0 0 0 43.44 KB
#6032 StringConcatBenchmark netcoreapp3.1 63.8μs 1.01μs 10.1μs 0 0 0 42.64 KB
#6032 StringConcatBenchmark net472 37μs 166ns 599ns 0 0 0 58.67 KB
#6032 StringConcatAspectBenchmark net6.0 306μs 1.43μs 8.36μs 0 0 0 255.25 KB
#6032 StringConcatAspectBenchmark netcoreapp3.1 316μs 5.1μs 49.7μs 0 0 0 276.79 KB
#6032 StringConcatAspectBenchmark net472 269μs 5.04μs 48.9μs 0 0 0 278.53 KB

@andrewlock
Copy link
Member

andrewlock commented Sep 13, 2024

Throughput/Crank Report ⚡

Throughput results for AspNetCoreSimpleController comparing the following branches/commits:

Cases where throughput results for the PR are worse than latest master (5% drop or greater), results are shown in red.

Note that these results are based on a single point-in-time result for each branch. For full results, see one of the many, many dashboards!

gantt
    title Throughput Linux x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6032) (11.081M)   : 0, 11080909
    master (11.161M)   : 0, 11161184
    benchmarks/2.9.0 (11.154M)   : 0, 11153611

    section Automatic
    This PR (6032) (7.434M)   : 0, 7434152
    master (7.296M)   : 0, 7296190
    benchmarks/2.9.0 (7.817M)   : 0, 7816815

    section Trace stats
    master (7.766M)   : 0, 7765846

    section Manual
    master (11.116M)   : 0, 11116386

    section Manual + Automatic
    This PR (6032) (6.841M)   : 0, 6840719
    master (6.645M)   : 0, 6644949

    section DD_TRACE_ENABLED=0
    master (10.028M)   : 0, 10028352

Loading
gantt
    title Throughput Linux arm64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6032) (9.647M)   : 0, 9646814
    master (9.659M)   : 0, 9659408
    benchmarks/2.9.0 (9.744M)   : 0, 9744016

    section Automatic
    This PR (6032) (6.559M)   : 0, 6559288
    master (6.482M)   : 0, 6482475

    section Trace stats
    master (6.853M)   : 0, 6852923

    section Manual
    master (9.465M)   : 0, 9465366

    section Manual + Automatic
    This PR (6032) (6.144M)   : 0, 6144189
    master (6.172M)   : 0, 6172300

    section DD_TRACE_ENABLED=0
    master (8.574M)   : 0, 8574222

Loading
gantt
    title Throughput Windows x64 (Total requests) 
    dateFormat  X
    axisFormat %s
    section Baseline
    This PR (6032) (9.943M)   : 0, 9942756
    master (10.086M)   : 0, 10086150
    benchmarks/2.9.0 (10.115M)   : 0, 10114811

    section Automatic
    This PR (6032) (6.665M)   : 0, 6665234
    master (6.864M)   : 0, 6863712
    benchmarks/2.9.0 (7.533M)   : 0, 7533010

    section Trace stats
    master (7.392M)   : 0, 7392020

    section Manual
    master (10.018M)   : 0, 10018266

    section Manual + Automatic
    This PR (6032) (6.272M)   : 0, 6271902
    master (6.182M)   : 0, 6181967

    section DD_TRACE_ENABLED=0
    master (9.453M)   : 0, 9453399

Loading

@andrewlock
Copy link
Member

andrewlock commented Sep 13, 2024

Benchmarks Report for tracer 🐌

Benchmarks for #6032 compared to master:

  • All benchmarks have the same speed
  • All benchmarks have the same 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 ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartStopWithChild net6.0 7.78μs 42.1ns 246ns 0.015 0.00751 0 5.42 KB
master StartStopWithChild netcoreapp3.1 10.1μs 50.4ns 281ns 0.0154 0.00512 0 5.62 KB
master StartStopWithChild net472 16.2μs 61.5ns 238ns 1 0.279 0.0956 6.06 KB
#6032 StartStopWithChild net6.0 7.53μs 43.1ns 307ns 0.0156 0.0078 0 5.43 KB
#6032 StartStopWithChild netcoreapp3.1 9.85μs 53.3ns 282ns 0.0153 0.00512 0 5.62 KB
#6032 StartStopWithChild net472 16.1μs 55.8ns 216ns 1.01 0.294 0.0795 6.06 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 478μs 366ns 1.37μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 646μs 1.65μs 6.38μs 0 0 0 2.7 KB
master WriteAndFlushEnrichedTraces net472 817μs 425ns 1.59μs 0.411 0 0 3.3 KB
#6032 WriteAndFlushEnrichedTraces net6.0 481μs 239ns 894ns 0 0 0 2.7 KB
#6032 WriteAndFlushEnrichedTraces netcoreapp3.1 631μs 295ns 1.14μs 0 0 0 2.7 KB
#6032 WriteAndFlushEnrichedTraces net472 832μs 498ns 1.86μs 0.414 0 0 3.3 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 196μs 1.08μs 7.02μs 0.185 0 0 18.45 KB
master SendRequest netcoreapp3.1 216μs 1.18μs 7.09μs 0.212 0 0 20.61 KB
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#6032 SendRequest net6.0 194μs 1.13μs 9.68μs 0.184 0 0 18.45 KB
#6032 SendRequest netcoreapp3.1 214μs 956ns 3.58μs 0.257 0 0 20.61 KB
#6032 SendRequest net472 0.00198ns 0.000841ns 0.00326ns 0 0 0 0 b
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net6.0 567μs 2.98μs 15.7μs 0.561 0 0 41.72 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 686μs 3.36μs 14.6μs 0.334 0 0 41.65 KB
master WriteAndFlushEnrichedTraces net472 864μs 3.93μs 15.7μs 8.3 2.62 0.437 53.29 KB
#6032 WriteAndFlushEnrichedTraces net6.0 568μs 2.8μs 11.9μs 0.587 0 0 41.58 KB
#6032 WriteAndFlushEnrichedTraces netcoreapp3.1 711μs 3.84μs 23μs 0.363 0 0 41.67 KB
#6032 WriteAndFlushEnrichedTraces net472 848μs 3.11μs 12.1μs 8.33 2.5 0.417 53.27 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.34μs 1.17ns 4.54ns 0.014 0 0 1.02 KB
master ExecuteNonQuery netcoreapp3.1 1.8μs 2.11ns 8.19ns 0.0133 0 0 1.02 KB
master ExecuteNonQuery net472 2.03μs 1.98ns 7.66ns 0.156 0 0 987 B
#6032 ExecuteNonQuery net6.0 1.34μs 1.21ns 4.52ns 0.0147 0 0 1.02 KB
#6032 ExecuteNonQuery netcoreapp3.1 1.83μs 1.89ns 7.32ns 0.0138 0 0 1.02 KB
#6032 ExecuteNonQuery net472 2.06μs 2.54ns 9.84ns 0.156 0 0 987 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net6.0 1.19μs 0.425ns 1.59ns 0.0137 0 0 976 B
master CallElasticsearch netcoreapp3.1 1.51μs 0.667ns 2.31ns 0.0135 0 0 976 B
master CallElasticsearch net472 2.45μs 0.702ns 2.63ns 0.158 0 0 995 B
master CallElasticsearchAsync net6.0 1.25μs 0.554ns 2.15ns 0.0133 0 0 952 B
master CallElasticsearchAsync netcoreapp3.1 1.66μs 0.943ns 3.65ns 0.0134 0 0 1.02 KB
master CallElasticsearchAsync net472 2.59μs 2.97ns 11.5ns 0.166 0 0 1.05 KB
#6032 CallElasticsearch net6.0 1.19μs 0.758ns 2.84ns 0.0138 0 0 976 B
#6032 CallElasticsearch netcoreapp3.1 1.48μs 0.914ns 3.54ns 0.0135 0 0 976 B
#6032 CallElasticsearch net472 2.45μs 1.17ns 4.22ns 0.158 0 0 995 B
#6032 CallElasticsearchAsync net6.0 1.26μs 1.1ns 4.27ns 0.0132 0 0 952 B
#6032 CallElasticsearchAsync netcoreapp3.1 1.66μs 0.563ns 2.11ns 0.014 0 0 1.02 KB
#6032 CallElasticsearchAsync net472 2.69μs 1.89ns 7.31ns 0.167 0 0 1.05 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.25μs 0.644ns 2.41ns 0.0132 0 0 952 B
master ExecuteAsync netcoreapp3.1 1.67μs 0.794ns 3.08ns 0.0124 0 0 952 B
master ExecuteAsync net472 1.83μs 1.38ns 5.35ns 0.145 0 0 915 B
#6032 ExecuteAsync net6.0 1.16μs 0.414ns 1.49ns 0.0134 0 0 952 B
#6032 ExecuteAsync netcoreapp3.1 1.61μs 1.32ns 5.1ns 0.0128 0 0 952 B
#6032 ExecuteAsync net472 1.79μs 0.984ns 3.81ns 0.145 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 4.28μs 13.3ns 51.5ns 0.0316 0 0 2.22 KB
master SendAsync netcoreapp3.1 4.98μs 3.66ns 14.2ns 0.037 0 0 2.76 KB
master SendAsync net472 7.85μs 3.43ns 13.3ns 0.496 0 0 3.15 KB
#6032 SendAsync net6.0 4.16μs 2.23ns 8.33ns 0.0314 0 0 2.22 KB
#6032 SendAsync netcoreapp3.1 5.13μs 3.81ns 14.8ns 0.0358 0 0 2.76 KB
#6032 SendAsync net472 7.74μs 2.51ns 9.71ns 0.497 0 0 3.15 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 1.5μs 0.32ns 1.2ns 0.0233 0 0 1.64 KB
master EnrichedLog netcoreapp3.1 2.15μs 0.972ns 3.76ns 0.0221 0 0 1.64 KB
master EnrichedLog net472 2.52μs 5.23ns 20.2ns 0.249 0 0 1.57 KB
#6032 EnrichedLog net6.0 1.42μs 0.653ns 2.44ns 0.0229 0 0 1.64 KB
#6032 EnrichedLog netcoreapp3.1 2.19μs 1.07ns 4.01ns 0.0218 0 0 1.64 KB
#6032 EnrichedLog net472 2.59μs 0.931ns 3.61ns 0.249 0 0 1.57 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 113μs 110ns 427ns 0.057 0 0 4.28 KB
master EnrichedLog netcoreapp3.1 117μs 108ns 419ns 0 0 0 4.28 KB
master EnrichedLog net472 145μs 56.7ns 197ns 0.652 0.217 0 4.46 KB
#6032 EnrichedLog net6.0 111μs 82.1ns 307ns 0.056 0 0 4.28 KB
#6032 EnrichedLog netcoreapp3.1 119μs 255ns 986ns 0 0 0 4.28 KB
#6032 EnrichedLog net472 146μs 90.9ns 352ns 0.657 0.219 0 4.46 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 3.04μs 0.973ns 3.77ns 0.0305 0 0 2.2 KB
master EnrichedLog netcoreapp3.1 4.23μs 1.43ns 5.53ns 0.0295 0 0 2.2 KB
master EnrichedLog net472 4.9μs 1.18ns 4.41ns 0.318 0 0 2.02 KB
#6032 EnrichedLog net6.0 3.2μs 1.43ns 5.34ns 0.0303 0 0 2.2 KB
#6032 EnrichedLog netcoreapp3.1 4.1μs 2.84ns 10.2ns 0.0288 0 0 2.2 KB
#6032 EnrichedLog net472 4.83μs 1.54ns 5.97ns 0.319 0 0 2.02 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 1.4μs 0.644ns 2.41ns 0.016 0 0 1.14 KB
master SendReceive netcoreapp3.1 1.74μs 1.66ns 6.42ns 0.0156 0 0 1.14 KB
master SendReceive net472 2.08μs 0.926ns 3.59ns 0.183 0.00104 0 1.16 KB
#6032 SendReceive net6.0 1.31μs 2.71ns 10.5ns 0.0158 0 0 1.14 KB
#6032 SendReceive netcoreapp3.1 1.78μs 0.867ns 3.13ns 0.0158 0 0 1.14 KB
#6032 SendReceive net472 1.95μs 0.792ns 3.07ns 0.183 0 0 1.16 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 2.74μs 0.775ns 3ns 0.0219 0 0 1.6 KB
master EnrichedLog netcoreapp3.1 3.9μs 1.17ns 4.54ns 0.0214 0 0 1.65 KB
master EnrichedLog net472 4.34μs 1.83ns 6.86ns 0.324 0 0 2.04 KB
#6032 EnrichedLog net6.0 2.9μs 0.892ns 3.22ns 0.0217 0 0 1.6 KB
#6032 EnrichedLog netcoreapp3.1 3.74μs 1.17ns 4.39ns 0.0225 0 0 1.65 KB
#6032 EnrichedLog net472 4.64μs 2.32ns 8.68ns 0.322 0 0 2.04 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 422ns 0.135ns 0.504ns 0.00811 0 0 576 B
master StartFinishSpan netcoreapp3.1 553ns 0.25ns 0.969ns 0.00791 0 0 576 B
master StartFinishSpan net472 700ns 0.617ns 2.39ns 0.0915 0 0 578 B
master StartFinishScope net6.0 514ns 0.386ns 1.45ns 0.00982 0 0 696 B
master StartFinishScope netcoreapp3.1 750ns 0.471ns 1.82ns 0.00933 0 0 696 B
master StartFinishScope net472 883ns 0.792ns 3.07ns 0.104 0 0 658 B
#6032 StartFinishSpan net6.0 397ns 0.421ns 1.63ns 0.00815 0 0 576 B
#6032 StartFinishSpan netcoreapp3.1 575ns 0.4ns 1.55ns 0.00785 0 0 576 B
#6032 StartFinishSpan net472 721ns 0.555ns 2.08ns 0.0917 0 0 578 B
#6032 StartFinishScope net6.0 477ns 0.217ns 0.842ns 0.00982 0 0 696 B
#6032 StartFinishScope netcoreapp3.1 785ns 1.11ns 4.28ns 0.00949 0 0 696 B
#6032 StartFinishScope net472 901ns 0.815ns 3.16ns 0.105 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 663ns 0.228ns 0.852ns 0.00982 0 0 696 B
master RunOnMethodBegin netcoreapp3.1 942ns 0.829ns 3.21ns 0.00948 0 0 696 B
master RunOnMethodBegin net472 1.11μs 1.1ns 4.27ns 0.104 0 0 658 B
#6032 RunOnMethodBegin net6.0 675ns 0.435ns 1.69ns 0.00979 0 0 696 B
#6032 RunOnMethodBegin netcoreapp3.1 982ns 0.645ns 2.5ns 0.00932 0 0 696 B
#6032 RunOnMethodBegin net472 1.12μs 0.68ns 2.63ns 0.105 0 0 658 B

Copy link
Contributor

Snapshots difference summary

The following differences have been observed in committed snapshots. It is meant to help the reviewer.
The diff is simplistic, so please check some files anyway while we improve it.

1 occurrences of :

-      "hash": -1837181716,
+      "hash": -636226626,
[...]
-      "hash": 1990393425,
+      "hash": -60481650,
[...]
-      "hash": 1170867602,
+      "hash": 990913114,
[...]
-      "hash": -1837181716,
+      "hash": -636226626,
[...]
-      "hash": 1990393425,
+      "hash": -60481650,
[...]
-      "hash": 1170867602,
+      "hash": 990913114,
[...]
-      "hash": -1837181716,
+      "hash": -636226626,
[...]
-      "hash": 1990393425,
+      "hash": -60481650,
[...]
-      "hash": 1170867602,
+      "hash": 990913114,

Copy link
Contributor

@NachoEchevarria NachoEchevarria left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Copy link
Member

@e-n-0 e-n-0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 😄

@daniel-romano-DD daniel-romano-DD merged commit 4e08a41 into master Sep 18, 2024
72 of 74 checks passed
@daniel-romano-DD daniel-romano-DD deleted the dani/iast/filtered_cookie_hash branch September 18, 2024 09:44
@github-actions github-actions bot added this to the vNext-v3 milestone Sep 18, 2024
@andrewlock andrewlock added the type:enhancement Improvement to an existing feature label Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:asm-iast type:enhancement Improvement to an existing feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants