Open NachoEchevarria opened 1 week ago
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.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6057) - mean (69ms) : 66, 72
. : milestone, 69,
master - mean (70ms) : 67, 72
. : milestone, 70,
section CallTarget+Inlining+NGEN
This PR (6057) - mean (1,100ms) : 1082, 1118
. : milestone, 1100,
master - mean (1,099ms) : 1082, 1116
. : milestone, 1099,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6057) - mean (108ms) : 105, 111
. : milestone, 108,
master - mean (108ms) : 106, 110
. : milestone, 108,
section CallTarget+Inlining+NGEN
This PR (6057) - mean (763ms) : 748, 778
. : milestone, 763,
master - mean (765ms) : 750, 780
. : milestone, 765,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6057) - mean (92ms) : 90, 94
. : milestone, 92,
master - mean (92ms) : 89, 95
. : milestone, 92,
section CallTarget+Inlining+NGEN
This PR (6057) - mean (725ms) : 709, 741
. : milestone, 725,
master - mean (722ms) : 710, 734
. : milestone, 722,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6057) - mean (191ms) : 187, 194
. : milestone, 191,
master - mean (190ms) : 187, 193
. : milestone, 190,
section CallTarget+Inlining+NGEN
This PR (6057) - mean (1,194ms) : 1170, 1219
. : milestone, 1194,
master - mean (1,191ms) : 1167, 1215
. : milestone, 1191,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6057) - mean (276ms) : 271, 281
. : milestone, 276,
master - mean (276ms) : 272, 280
. : milestone, 276,
section CallTarget+Inlining+NGEN
This PR (6057) - mean (937ms) : 923, 952
. : milestone, 937,
master - mean (938ms) : 921, 955
. : milestone, 938,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6057) - mean (264ms) : 261, 268
. : milestone, 264,
master - mean (265ms) : 260, 269
. : milestone, 265,
section CallTarget+Inlining+NGEN
This PR (6057) - mean (919ms) : 902, 937
. : milestone, 919,
master - mean (924ms) : 906, 943
. : milestone, 924,
Benchmarks for #6057 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored.
Branch report: nacho/SuspiciousAttackerBlocking
Commit report: dc01738
Test service: dd-trace-dotnet
:white_check_mark: 0 Failed, 367662 Passed, 2050 Skipped, 16h 2m 51.92s Total Time
Benchmarks for #6057 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored.
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 (6057) (10.962M) : 0, 10962317
master (11.078M) : 0, 11077760
benchmarks/2.9.0 (11.081M) : 0, 11080577
section Automatic
This PR (6057) (7.358M) : 0, 7358196
master (7.291M) : 0, 7290734
benchmarks/2.9.0 (7.732M) : 0, 7732233
section Trace stats
master (7.607M) : 0, 7607379
section Manual
master (11.029M) : 0, 11028576
section Manual + Automatic
This PR (6057) (6.683M) : 0, 6682710
master (6.759M) : 0, 6758549
section DD_TRACE_ENABLED=0
master (10.188M) : 0, 10187635
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6057) (9.292M) : 0, 9291656
master (9.657M) : 0, 9657171
benchmarks/2.9.0 (9.798M) : 0, 9798067
section Automatic
This PR (6057) (6.480M) : 0, 6480402
master (6.584M) : 0, 6583955
section Trace stats
master (6.786M) : 0, 6785776
section Manual
master (9.624M) : 0, 9623873
section Manual + Automatic
This PR (6057) (6.088M) : 0, 6088499
master (5.933M) : 0, 5932960
section DD_TRACE_ENABLED=0
master (8.938M) : 0, 8937629
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6057) (9.778M) : 0, 9778364
master (9.502M) : 0, 9501808
benchmarks/2.9.0 (10.067M) : 0, 10067315
section Automatic
This PR (6057) (6.239M) : 0, 6239122
master (6.158M) : 0, 6157697
benchmarks/2.9.0 (7.552M) : 0, 7552193
section Trace stats
master (6.927M) : 0, 6926514
section Manual
master (9.746M) : 0, 9745861
section Manual + Automatic
This PR (6057) (5.747M) : 0, 5747395
master (5.990M) : 0, 5990359
section DD_TRACE_ENABLED=0
master (9.099M) : 0, 9098501
Summary of changes
This PR adds the required code to support the suspicious attack functionality.
It has added the required code to read the exclusion data from the RC.
It also has modified the existing code regarding RC actions. Previously, if a configuration was received with an action, the configuration was stored and later sent to the WAF. If new values with an empty action array would come later, the previous action configurations would be deleted, but if a new array would come with a new action different than the previous one, we would report them both to the WAF. This behavior was making the suspicious attacker system tests fail because we would keep RC changes from previous tests. This change seems to be aligned with the behavior of other libraries.
The file AspNetBase.cs has been updated. Now, tests have more control over the used headers by allowing them to remove headers or replace previous values with new ones.
Reason for change
Implementation details
Test coverage
Other details