Open NachoEchevarria opened 2 weeks 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 (6030) - mean (69ms) : 67, 72
. : milestone, 69,
master - mean (69ms) : 67, 72
. : milestone, 69,
section CallTarget+Inlining+NGEN
This PR (6030) - mean (1,100ms) : 1084, 1116
. : milestone, 1100,
master - mean (1,100ms) : 1075, 1126
. : milestone, 1100,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6030) - mean (108ms) : 106, 111
. : milestone, 108,
master - mean (108ms) : 106, 110
. : milestone, 108,
section CallTarget+Inlining+NGEN
This PR (6030) - mean (767ms) : 752, 781
. : milestone, 767,
master - mean (764ms) : 750, 779
. : milestone, 764,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6030) - mean (91ms) : 89, 94
. : milestone, 91,
master - mean (91ms) : 89, 94
. : milestone, 91,
section CallTarget+Inlining+NGEN
This PR (6030) - mean (724ms) : 706, 742
. : milestone, 724,
master - mean (726ms) : 709, 743
. : milestone, 726,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6030) - mean (190ms) : 186, 194
. : milestone, 190,
master - mean (190ms) : 186, 193
. : milestone, 190,
section CallTarget+Inlining+NGEN
This PR (6030) - mean (1,195ms) : 1170, 1220
. : milestone, 1195,
master - mean (1,192ms) : 1166, 1219
. : milestone, 1192,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6030) - mean (276ms) : 272, 279
. : milestone, 276,
master - mean (276ms) : 272, 280
. : milestone, 276,
section CallTarget+Inlining+NGEN
This PR (6030) - mean (939ms) : 922, 957
. : milestone, 939,
master - mean (939ms) : 922, 956
. : milestone, 939,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6030) - mean (265ms) : 261, 269
. : milestone, 265,
master - mean (264ms) : 261, 268
. : milestone, 264,
section CallTarget+Inlining+NGEN
This PR (6030) - mean (924ms) : 902, 945
. : milestone, 924,
master - mean (924ms) : 906, 942
. : milestone, 924,
Branch report: nacho/ReportedExternalWafsRequestHeaders
Commit report: fb1ae99
Test service: dd-trace-dotnet
:x: 821 Failed (0 Known Flaky), 362024 Passed, 1966 Skipped, 17h 8m 1.45s Total Time
This report shows up to 5 failed tests.
TestApiSecurityScan
-Datadog.Trace.Security.IntegrationTests.ApiSecurity.AspNetCore5ApiSecurityDisabled
- Details
<details>
<summary>Expand for error</summary>
```
Expected relevantSpans to contain at least 2 item(s) because we want to ensure that we don't timeout while waiting for spans from the mock tracer agent, but found 0: {empty}.
```
</details>
TestApiSecurityScan
- Datadog.Trace.Security.IntegrationTests.ApiSecurity.AspNetCore5ApiSecurityDisabled
- Details
TestApiSecurityScan
- Datadog.Trace.Security.IntegrationTests.ApiSecurity.AspNetCore5ApiSecurityDisabled
TestApiSecurityScan
- Datadog.Trace.Security.IntegrationTests.ApiSecurity.AspNetCore5ApiSecurityDisabled
TestApiSecurityScan
- Datadog.Trace.Security.IntegrationTests.ApiSecurity.AspNetCore5ApiSecurityDisabled
- Details
Benchmarks for #6030 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored.
Benchmarks for #6030 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 (6030) (11.192M) : 0, 11192081
master (11.210M) : 0, 11210475
benchmarks/2.9.0 (11.081M) : 0, 11080577
section Automatic
This PR (6030) (7.463M) : 0, 7462740
master (7.346M) : 0, 7346370
benchmarks/2.9.0 (7.732M) : 0, 7732233
section Trace stats
master (7.666M) : 0, 7665960
section Manual
master (11.108M) : 0, 11108127
section Manual + Automatic
This PR (6030) (6.912M) : 0, 6911885
master (6.832M) : 0, 6832442
section DD_TRACE_ENABLED=0
master (10.312M) : 0, 10312118
gantt
title Throughput Linux arm64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6030) (9.681M) : 0, 9680695
master (9.473M) : 0, 9473014
benchmarks/2.9.0 (9.798M) : 0, 9798067
section Automatic
This PR (6030) (6.521M) : 0, 6520790
master (6.515M) : 0, 6514854
section Trace stats
master (6.894M) : 0, 6893597
section Manual
master (9.402M) : 0, 9401973
section Manual + Automatic
This PR (6030) (6.211M) : 0, 6211349
master (6.108M) : 0, 6107697
section DD_TRACE_ENABLED=0
master (8.907M) : 0, 8907338
gantt
title Throughput Windows x64 (Total requests)
dateFormat X
axisFormat %s
section Baseline
This PR (6030) (9.825M) : 0, 9824941
master (10.142M) : 0, 10142276
benchmarks/2.9.0 (10.067M) : 0, 10067315
section Automatic
This PR (6030) (6.579M) : 0, 6579439
master (6.501M) : 0, 6501024
benchmarks/2.9.0 (7.552M) : 0, 7552193
section Trace stats
master (7.332M) : 0, 7331680
section Manual
master (10.035M) : 0, 10035225
section Manual + Automatic
This PR (6030) (6.277M) : 0, 6277287
master (6.012M) : 0, 6011729
section DD_TRACE_ENABLED=0
master (9.404M) : 0, 9404396
Summary of changes
This PR is closely related to this one
In this case, the error is thrown when accessing the key ReportedExternalWafsRequestHeaders
No other httpRequest.Items problematic accesses have been found.
This error can happen only in netcore versions of the framework. When we access httpcontext.Items, the exception is thrown if the key is not found. httpcontext.Items is defined as a IDictionary<object, object>. Usually, it will be a Microsoft.AspNetCore.Http.ItemsDictionary, which does not throw an exception when trying to retrieve a key that is not stored, but other custom implementations such as Dictionary<object, object> will throw it. It seems that in one customer, we are receiving a context in which Items is a Dictionary.
This might be due to custom middlewares, third party extensions, use of custom http contexts, etc.
Reason for change
Implementation details
Test coverage
Other details