-
Notifications
You must be signed in to change notification settings - Fork 137
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
Disable tiered compilation in integration tests #3479
Conversation
Datadog ReportBranch report: ✅ |
Datadog ReportBranch report: ❄️ New Flaky Tests (1)
|
This comment has been minimized.
This comment has been minimized.
Benchmarks Report 🐌Benchmarks for #3479 compared to master:
The following thresholds were used for comparing the benchmark speeds:
Allocation changes below 0.5% are ignored. Benchmark detailsBenchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 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 - Same speed ✔️ Same allocations ✔️Raw results
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️Raw results
|
Code Coverage Report 📊✔️ Merging #3479 into master will not change line coverage
View the full report for further details: Datadog.Trace Breakdown ✔️
The following classes have significant coverage changes.
The following classes were added in #3479:
3 classes were removed from Datadog.Trace in #3479 View the full reports for further details: |
Summary of changes
Temporarily disable tiered compilation by setting
COMPlus_TieredCompilation=0
Reason for change
We have been seeing flakiness in our integration tests for a long time which we have narrowed down to being related to how tiered JIT handles call-counting for our Rejited methods. This appears to be much more significant in our new Windows-2022 runners. We have raised an issue with the .NET runtime team. Disabling tiered compilation for now will hopefully significantly reduce flake in the meantime.
Implementation details
Set
COMPlus_TieredCompilation=0
in integration sample apps. This is not a long-term solution, just a temporary fix for flakeOther details
For more details and analysis, see dotnet/runtime#77973