-
Notifications
You must be signed in to change notification settings - Fork 145
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
Reset CI Visibility after DuckTypingTests #6509
Conversation
Datadog ReportBranch report: ✅ 0 Failed, 242796 Passed, 2133 Skipped, 19h 2m 57.18s Total Time New Flaky Tests (1)
|
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.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6509) - mean (69ms) : 64, 74
. : milestone, 69,
master - mean (69ms) : 66, 72
. : milestone, 69,
section CallTarget+Inlining+NGEN
This PR (6509) - mean (982ms) : 956, 1007
. : milestone, 982,
master - mean (981ms) : 954, 1008
. : milestone, 981,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6509) - mean (108ms) : 105, 111
. : milestone, 108,
master - mean (107ms) : 105, 110
. : milestone, 107,
section CallTarget+Inlining+NGEN
This PR (6509) - mean (678ms) : 662, 694
. : milestone, 678,
master - mean (678ms) : 662, 695
. : milestone, 678,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6509) - mean (91ms) : 89, 93
. : milestone, 91,
master - mean (91ms) : 90, 93
. : milestone, 91,
section CallTarget+Inlining+NGEN
This PR (6509) - mean (634ms) : 615, 652
. : milestone, 634,
master - mean (633ms) : 616, 651
. : milestone, 633,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6509) - mean (194ms) : 189, 199
. : milestone, 194,
master - mean (195ms) : 189, 202
. : milestone, 195,
section CallTarget+Inlining+NGEN
This PR (6509) - mean (1,101ms) : 1070, 1132
. : milestone, 1101,
master - mean (1,104ms) : 1076, 1132
. : milestone, 1104,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6509) - mean (279ms) : 274, 283
. : milestone, 279,
master - mean (278ms) : 273, 282
. : milestone, 278,
section CallTarget+Inlining+NGEN
This PR (6509) - mean (873ms) : 845, 900
. : milestone, 873,
master - mean (874ms) : 847, 901
. : milestone, 874,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6509) - mean (267ms) : 263, 270
. : milestone, 267,
master - mean (268ms) : 264, 272
. : milestone, 268,
section CallTarget+Inlining+NGEN
This PR (6509) - mean (853ms) : 820, 885
. : milestone, 853,
master - mean (857ms) : 829, 885
. : milestone, 857,
|
Benchmarks Report for tracer 🐌Benchmarks for #6509 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 ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AspNetCoreBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.CIVisibilityProtocolWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.SpanBenchmark - Slower
|
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 | 1.156 | 538.86 | 622.97 |
Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 | 1.155 | 562.66 | 487.23 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | StartFinishSpan |
net6.0 | 402ns | 0.511ns | 1.98ns | 0.0081 | 0 | 0 | 576 B |
master | StartFinishSpan |
netcoreapp3.1 | 539ns | 0.687ns | 2.66ns | 0.00777 | 0 | 0 | 576 B |
master | StartFinishSpan |
net472 | 650ns | 1.43ns | 5.56ns | 0.0917 | 0 | 0 | 578 B |
master | StartFinishScope |
net6.0 | 563ns | 0.836ns | 3.24ns | 0.00971 | 0 | 0 | 696 B |
master | StartFinishScope |
netcoreapp3.1 | 713ns | 1.11ns | 4.31ns | 0.00965 | 0 | 0 | 696 B |
master | StartFinishScope |
net472 | 885ns | 1.17ns | 4.53ns | 0.104 | 0 | 0 | 658 B |
#6509 | StartFinishSpan |
net6.0 | 417ns | 1.22ns | 4.71ns | 0.00807 | 0 | 0 | 576 B |
#6509 | StartFinishSpan |
netcoreapp3.1 | 623ns | 0.726ns | 2.81ns | 0.00762 | 0 | 0 | 576 B |
#6509 | StartFinishSpan |
net472 | 655ns | 0.872ns | 3.38ns | 0.0918 | 0 | 0 | 578 B |
#6509 | StartFinishScope |
net6.0 | 487ns | 0.631ns | 2.44ns | 0.00967 | 0 | 0 | 696 B |
#6509 | StartFinishScope |
netcoreapp3.1 | 665ns | 0.719ns | 2.78ns | 0.00938 | 0 | 0 | 696 B |
#6509 | StartFinishScope |
net472 | 829ns | 1.11ns | 4.3ns | 0.105 | 0 | 0 | 658 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Slower ⚠️ Same allocations ✔️
Slower ⚠️ in #6509
Benchmark
diff/base
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0
1.174
600.43
704.89
Benchmark | diff/base | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 | 1.174 | 600.43 | 704.89 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunOnMethodBegin |
net6.0 | 600ns | 1.14ns | 4.4ns | 0.00973 | 0 | 0 | 696 B |
master | RunOnMethodBegin |
netcoreapp3.1 | 896ns | 1.28ns | 4.96ns | 0.00933 | 0 | 0 | 696 B |
master | RunOnMethodBegin |
net472 | 1.09μs | 1.93ns | 7.46ns | 0.104 | 0 | 0 | 658 B |
#6509 | RunOnMethodBegin |
net6.0 | 705ns | 0.701ns | 2.72ns | 0.00956 | 0 | 0 | 696 B |
#6509 | RunOnMethodBegin |
netcoreapp3.1 | 923ns | 2.49ns | 9.65ns | 0.00921 | 0 | 0 | 696 B |
#6509 | RunOnMethodBegin |
net472 | 1.1μs | 1.31ns | 4.72ns | 0.104 | 0 | 0 | 658 B |
139f40c
to
de494e9
Compare
## Summary of changes Randomize the order of the tests. ## Reason for change Flaky tests are much harder to fix when we discover them long after they have been written. By randomizing the order of the tests, I'm hoping to make them fail earlier. In practice, this could temporarily increase the overall flakiness, but I expect this will reduce the overall effort spent on fixing tests. ## Implementation details In `CustomTestFramework`, randomize the list of all tests in each collections, and the collections themselves. The seed is displayed in the output. When a test order causes tests to fail, this allows to deterministically reproduce that test order. ## Other details Four other issues were found thanks to this: #6535, #6532, #6511, #6509
Summary of changes
Stop and reset CI Visibility after
DuckTypingTests.CanDuckTypeManualTestSessionAsISession
Reason for change
When CI visibility is enabled, the origin of the new
SpanContext
instances is automatically set, which can cause some unit tests to fail if they happen to be executed afterwards.Other details
Discovered while trying to randomize the order of the tests.