-
Notifications
You must be signed in to change notification settings - Fork 147
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
Wait for background task in ConfigureCiCommand #6535
Conversation
Datadog ReportBranch report: ✅ 0 Failed, 241784 Passed, 1951 Skipped, 19h 49m 28.95s Total Time New Flaky Tests (2)
|
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 (6535) - mean (69ms) : 65, 73
. : milestone, 69,
master - mean (69ms) : 63, 75
. : milestone, 69,
section CallTarget+Inlining+NGEN
This PR (6535) - mean (978ms) : 949, 1006
. : milestone, 978,
master - mean (973ms) : 953, 993
. : milestone, 973,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6535) - mean (108ms) : 106, 110
. : milestone, 108,
master - mean (107ms) : 104, 110
. : milestone, 107,
section CallTarget+Inlining+NGEN
This PR (6535) - mean (674ms) : 660, 688
. : milestone, 674,
master - mean (675ms) : 658, 692
. : milestone, 675,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6535) - mean (91ms) : 89, 93
. : milestone, 91,
master - mean (91ms) : 88, 93
. : milestone, 91,
section CallTarget+Inlining+NGEN
This PR (6535) - mean (628ms) : 614, 641
. : milestone, 628,
master - mean (632ms) : 618, 646
. : milestone, 632,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6535) - mean (194ms) : 189, 198
. : milestone, 194,
master - mean (194ms) : 190, 198
. : milestone, 194,
section CallTarget+Inlining+NGEN
This PR (6535) - mean (1,099ms) : 1067, 1131
. : milestone, 1099,
master - mean (1,096ms) : 1070, 1123
. : milestone, 1096,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6535) - mean (278ms) : 275, 282
. : milestone, 278,
master - mean (278ms) : 272, 284
. : milestone, 278,
section CallTarget+Inlining+NGEN
This PR (6535) - mean (872ms) : 839, 905
. : milestone, 872,
master - mean (870ms) : 843, 897
. : milestone, 870,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6535) - mean (267ms) : 261, 272
. : milestone, 267,
master - mean (266ms) : 262, 270
. : milestone, 266,
section CallTarget+Inlining+NGEN
This PR (6535) - mean (842ms) : 813, 872
. : milestone, 842,
master - mean (854ms) : 816, 892
. : milestone, 854,
|
Benchmarks Report for tracer 🐌Benchmarks for #6535 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 - Faster 🎉 Same allocations ✔️
|
Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.SpanBenchmark.StartFinishScope‑net6.0 | 1.165 | 569.09 | 488.40 | |
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 | 1.131 | 615.20 | 544.01 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | StartFinishSpan |
net6.0 | 452ns | 0.246ns | 0.951ns | 0.00818 | 0 | 0 | 576 B |
master | StartFinishSpan |
netcoreapp3.1 | 615ns | 1.03ns | 3.98ns | 0.00804 | 0 | 0 | 576 B |
master | StartFinishSpan |
net472 | 672ns | 0.322ns | 1.25ns | 0.0916 | 0 | 0 | 578 B |
master | StartFinishScope |
net6.0 | 569ns | 0.439ns | 1.7ns | 0.0097 | 0 | 0 | 696 B |
master | StartFinishScope |
netcoreapp3.1 | 720ns | 0.908ns | 3.52ns | 0.00955 | 0 | 0 | 696 B |
master | StartFinishScope |
net472 | 943ns | 0.769ns | 2.88ns | 0.104 | 0 | 0 | 658 B |
#6535 | StartFinishSpan |
net6.0 | 460ns | 0.243ns | 0.941ns | 0.00804 | 0 | 0 | 576 B |
#6535 | StartFinishSpan |
netcoreapp3.1 | 544ns | 0.277ns | 1.07ns | 0.00756 | 0 | 0 | 576 B |
#6535 | StartFinishSpan |
net472 | 628ns | 0.148ns | 0.554ns | 0.0915 | 0 | 0 | 578 B |
#6535 | StartFinishScope |
net6.0 | 488ns | 0.275ns | 1.06ns | 0.00977 | 0 | 0 | 696 B |
#6535 | StartFinishScope |
netcoreapp3.1 | 670ns | 0.345ns | 1.29ns | 0.00923 | 0 | 0 | 696 B |
#6535 | StartFinishScope |
net472 | 910ns | 0.595ns | 2.3ns | 0.105 | 0 | 0 | 658 B |
Benchmarks.Trace.TraceAnnotationsBenchmark - Faster 🎉 Same allocations ✔️
Faster 🎉 in #6535
Benchmark
base/diff
Base Median (ns)
Diff Median (ns)
Modality
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0
1.116
658.52
590.01
Benchmark | base/diff | Base Median (ns) | Diff Median (ns) | Modality |
---|---|---|---|---|
Benchmarks.Trace.TraceAnnotationsBenchmark.RunOnMethodBegin‑net6.0 | 1.116 | 658.52 | 590.01 |
Raw results
Branch | Method | Toolchain | Mean | StdError | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|---|
master | RunOnMethodBegin |
net6.0 | 659ns | 0.43ns | 1.67ns | 0.00961 | 0 | 0 | 696 B |
master | RunOnMethodBegin |
netcoreapp3.1 | 934ns | 0.414ns | 1.43ns | 0.00906 | 0 | 0 | 696 B |
master | RunOnMethodBegin |
net472 | 1.04μs | 0.671ns | 2.42ns | 0.104 | 0 | 0 | 658 B |
#6535 | RunOnMethodBegin |
net6.0 | 589ns | 0.382ns | 1.48ns | 0.00994 | 0 | 0 | 696 B |
#6535 | RunOnMethodBegin |
netcoreapp3.1 | 917ns | 0.678ns | 2.62ns | 0.00919 | 0 | 0 | 696 B |
#6535 | RunOnMethodBegin |
net472 | 985ns | 0.461ns | 1.72ns | 0.104 | 0 | 0 | 658 B |
## 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
After ConfigureCiCommand completes, wait for the "upload repository changes" task to complete.
Reason for change
We already do this in
RunCiCommand
, not doing it inConfigureCiCommand
was an oversight.Other details
Discovered while trying to randomize the order of the tests.