Skip to content

Skip the Razor Pages diagnostic listener tests on Linux .NET Core 2.1#3140

Merged
andrewlock merged 1 commit into
masterfrom
andrew/drop-razor-pages-tests-from-21
Aug 30, 2022
Merged

Skip the Razor Pages diagnostic listener tests on Linux .NET Core 2.1#3140
andrewlock merged 1 commit into
masterfrom
andrew/drop-razor-pages-tests-from-21

Conversation

@andrewlock

Copy link
Copy Markdown
Member

Summary of changes

Skip the Razor Pages diagnostic listener tests when running on .NET Core 2.1, Linux only.

Reason for change

This was causing The configured user limit (128) on the number of inotify instances has been reached for .NET Core 2.1 only, after updating the host agents to Ubuntu 20.04,

Implementation details

Throwing a SkipException on Linux .NET Core 2.1. This only impacts .NET Core 2.1, but efforts to resolve it by reducing the number of file watchers, or increasing fs.inotify.max_user_instances failed, so taking the cowards way out

Test coverage

🤞 those integration tests

Other details

Supersedes #3138

@andrewlock andrewlock added area:builds project files, build scripts, pipelines, versioning, releases, packages area:tests unit tests, integration tests labels Aug 30, 2022
@andrewlock
andrewlock requested a review from a team as a code owner August 30, 2022 15:00
@andrewlock

This comment has been minimized.

@andrewlock
andrewlock force-pushed the andrew/drop-razor-pages-tests-from-21 branch from b4b3cf2 to f6ce98a Compare August 30, 2022 15:46
@andrewlock

This comment has been minimized.

…e 2.1 only.

This was causing `The configured user limit (128) on the number of inotify instances has been reached` when running on Ubuntu 20.04.

This only impacts .NET Core 2.1, but efforts to resolve it by reducing the number of file watchers, or increasing `fs.inotify.max_user_instances` failed, so taking the cowards way out
@andrewlock
andrewlock force-pushed the andrew/drop-razor-pages-tests-from-21 branch from f6ce98a to 1e0a2d5 Compare August 30, 2022 16:46
@andrewlock

Copy link
Copy Markdown
Member Author

Benchmarks Report 🐌

Benchmarks for #3140 compared to master:

  • 1 benchmarks are faster, with geometric mean 1.156
  • All benchmarks have the same allocations

The following thresholds were used for comparing the benchmark speeds:

  • Mann–Whitney U test with statistical test for significance of 5%
  • Only results indicating a difference greater than 10% and 0.3 ns are considered.

Allocation changes below 0.5% are ignored.

Benchmark details

Benchmarks.Trace.AgentWriterBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master WriteAndFlushEnrichedTraces net472 716μs 388ns 1.45μs 0.355 0 0 3.18 KB
master WriteAndFlushEnrichedTraces netcoreapp3.1 454μs 272ns 1.02μs 0 0 0 2.58 KB
#3140 WriteAndFlushEnrichedTraces net472 715μs 186ns 721ns 0.355 0 0 3.18 KB
#3140 WriteAndFlushEnrichedTraces netcoreapp3.1 454μs 166ns 600ns 0 0 0 2.58 KB
Benchmarks.Trace.AppSecBodyBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master AllCycleSimpleBody net472 188ns 0.508ns 1.97ns 0.0675 0 0 425 B
master AllCycleSimpleBody netcoreapp3.1 241ns 0.664ns 2.39ns 0.00571 0 0 424 B
master AllCycleMoreComplexBody net472 199ns 0.772ns 2.99ns 0.0637 0 0 401 B
master AllCycleMoreComplexBody netcoreapp3.1 244ns 0.552ns 2.14ns 0.0055 0 0 400 B
master BodyExtractorSimpleBody net472 264ns 0.885ns 3.43ns 0.0573 0 0 361 B
master BodyExtractorSimpleBody netcoreapp3.1 238ns 0.654ns 2.53ns 0.00362 0 0 272 B
master BodyExtractorMoreComplexBody net472 15μs 53ns 205ns 1.21 0.0219 0 7.62 KB
master BodyExtractorMoreComplexBody netcoreapp3.1 13μs 40.7ns 157ns 0.0903 0 0 6.75 KB
#3140 AllCycleSimpleBody net472 191ns 0.831ns 3.22ns 0.0675 0 0 425 B
#3140 AllCycleSimpleBody netcoreapp3.1 244ns 0.55ns 2.13ns 0.0058 0 0 424 B
#3140 AllCycleMoreComplexBody net472 197ns 0.668ns 2.5ns 0.0637 0 0 401 B
#3140 AllCycleMoreComplexBody netcoreapp3.1 241ns 0.823ns 3.19ns 0.0055 0 0 400 B
#3140 BodyExtractorSimpleBody net472 273ns 1.07ns 4.13ns 0.0574 0 0 361 B
#3140 BodyExtractorSimpleBody netcoreapp3.1 236ns 0.795ns 3.08ns 0.00364 0 0 272 B
#3140 BodyExtractorMoreComplexBody net472 14.8μs 48ns 186ns 1.21 0.022 0 7.62 KB
#3140 BodyExtractorMoreComplexBody netcoreapp3.1 13μs 44.7ns 173ns 0.0906 0 0 6.75 KB
Benchmarks.Trace.AspNetCoreBenchmark - Unknown 🤷 Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
master SendRequest netcoreapp3.1 180μs 96.9ns 375ns 0.179 0 0 20.57 KB
#3140 SendRequest net472 0ns 0ns 0ns 0 0 0 0 b
#3140 SendRequest netcoreapp3.1 182μs 93ns 360ns 0.182 0 0 20.57 KB
Benchmarks.Trace.DbCommandBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteNonQuery net472 1.75μs 0.738ns 2.86ns 0.15 0.000872 0 947 B
master ExecuteNonQuery netcoreapp3.1 1.41μs 0.459ns 1.72ns 0.0128 0 0 936 B
#3140 ExecuteNonQuery net472 1.9μs 0.412ns 1.49ns 0.15 0.00095 0 947 B
#3140 ExecuteNonQuery netcoreapp3.1 1.46μs 0.748ns 2.9ns 0.0124 0 0 936 B
Benchmarks.Trace.ElasticsearchBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master CallElasticsearch net472 2.61μs 1.17ns 4.54ns 0.184 0 0 1.16 KB
master CallElasticsearch netcoreapp3.1 1.52μs 0.645ns 2.33ns 0.0144 0 0 1.1 KB
master CallElasticsearchAsync net472 2.58μs 0.52ns 2.02ns 0.204 0 0 1.29 KB
master CallElasticsearchAsync netcoreapp3.1 1.55μs 0.613ns 2.37ns 0.0163 0 0 1.22 KB
#3140 CallElasticsearch net472 2.51μs 0.908ns 3.52ns 0.183 0 0 1.16 KB
#3140 CallElasticsearch netcoreapp3.1 1.5μs 0.825ns 2.98ns 0.0149 0 0 1.1 KB
#3140 CallElasticsearchAsync net472 2.6μs 1.29ns 4.81ns 0.204 0 0 1.29 KB
#3140 CallElasticsearchAsync netcoreapp3.1 1.63μs 0.515ns 1.99ns 0.0162 0 0 1.22 KB
Benchmarks.Trace.GraphQLBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master ExecuteAsync net472 2.66μs 6.32ns 24.5ns 0.224 0 0 1.41 KB
master ExecuteAsync netcoreapp3.1 1.72μs 3.26ns 12.2ns 0.0181 0 0 1.34 KB
#3140 ExecuteAsync net472 2.58μs 5.05ns 18.9ns 0.224 0 0 1.41 KB
#3140 ExecuteAsync netcoreapp3.1 1.6μs 2.59ns 9.69ns 0.0187 0 0 1.34 KB
Benchmarks.Trace.HttpClientBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendAsync net472 5.89μs 7.88ns 30.5ns 0.438 0 0 2.77 KB
master SendAsync netcoreapp3.1 3.56μs 7.87ns 30.5ns 0.0342 0 0 2.6 KB
#3140 SendAsync net472 5.64μs 13.8ns 51.7ns 0.438 0 0 2.77 KB
#3140 SendAsync netcoreapp3.1 3.46μs 4.86ns 18.2ns 0.0359 0 0 2.6 KB
Benchmarks.Trace.ILoggerBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 3.11μs 2.44ns 9.46ns 0.288 0 0 1.81 KB
master EnrichedLog netcoreapp3.1 2.41μs 1.21ns 4.53ns 0.0255 0 0 1.85 KB
#3140 EnrichedLog net472 3.17μs 2.4ns 8.97ns 0.287 0 0 1.81 KB
#3140 EnrichedLog netcoreapp3.1 2.52μs 1.12ns 4.18ns 0.0254 0 0 1.85 KB
Benchmarks.Trace.Log4netBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 152μs 228ns 885ns 0.683 0.228 0 4.65 KB
master EnrichedLog netcoreapp3.1 118μs 174ns 627ns 0.058 0 0 4.49 KB
#3140 EnrichedLog net472 152μs 183ns 710ns 0.686 0.229 0 4.65 KB
#3140 EnrichedLog netcoreapp3.1 118μs 103ns 387ns 0.0586 0 0 4.49 KB
Benchmarks.Trace.NLogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.64μs 6.11ns 22ns 0.569 0.00283 0 3.59 KB
master EnrichedLog netcoreapp3.1 4.32μs 9.36ns 35ns 0.0521 0 0 3.91 KB
#3140 EnrichedLog net472 5.52μs 10.9ns 42.2ns 0.57 0.00277 0 3.59 KB
#3140 EnrichedLog netcoreapp3.1 4.38μs 10.1ns 39.3ns 0.0538 0 0 3.91 KB
Benchmarks.Trace.RedisBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master SendReceive net472 2.31μs 1.49ns 5.76ns 0.218 0 0 1.37 KB
master SendReceive netcoreapp3.1 1.89μs 0.897ns 3.47ns 0.0181 0 0 1.32 KB
#3140 SendReceive net472 2.31μs 1.95ns 7.55ns 0.217 0 0 1.37 KB
#3140 SendReceive netcoreapp3.1 1.77μs 0.712ns 2.57ns 0.0177 0 0 1.32 KB
Benchmarks.Trace.SerilogBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master EnrichedLog net472 5.07μs 1.89ns 7.31ns 0.353 0 0 2.23 KB
master EnrichedLog netcoreapp3.1 4.21μs 1.72ns 6.45ns 0.0231 0 0 1.8 KB
#3140 EnrichedLog net472 5.01μs 1.93ns 7.23ns 0.353 0 0 2.23 KB
#3140 EnrichedLog netcoreapp3.1 4.28μs 1.84ns 7.11ns 0.024 0 0 1.8 KB
Benchmarks.Trace.SpanBenchmark - Faster 🎉 Same allocations ✔️

Faster 🎉 in #3140

Benchmark base/diff Base Median (ns) Diff Median (ns) Modality
Benchmarks.Trace.SpanBenchmark.StartFinishSpan‑netcoreapp3.1 1.156 1,025.40 886.91

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master StartFinishSpan net472 1.1μs 0.462ns 1.79ns 0.128 0 0 810 B
master StartFinishSpan netcoreapp3.1 1.03μs 0.339ns 1.27ns 0.0102 0 0 760 B
master StartFinishScope net472 1.35μs 0.495ns 1.92ns 0.141 0 0 891 B
master StartFinishScope netcoreapp3.1 1.09μs 0.382ns 1.43ns 0.0119 0 0 880 B
#3140 StartFinishSpan net472 1.1μs 0.372ns 1.44ns 0.128 0 0 810 B
#3140 StartFinishSpan netcoreapp3.1 885ns 1.39ns 5.19ns 0.0105 0 0 760 B
#3140 StartFinishScope net472 1.34μs 0.721ns 2.7ns 0.141 0 0 891 B
#3140 StartFinishScope netcoreapp3.1 1.08μs 0.564ns 2.11ns 0.0118 0 0 880 B
Benchmarks.Trace.TraceAnnotationsBenchmark - Same speed ✔️ Same allocations ✔️

Raw results

Branch Method Toolchain Mean StdError StdDev Gen 0 Gen 1 Gen 2 Allocated
master RunOnMethodBegin net472 1.5μs 0.599ns 2.32ns 0.141 0 0 891 B
master RunOnMethodBegin netcoreapp3.1 1.23μs 0.55ns 1.98ns 0.0119 0 0 880 B
#3140 RunOnMethodBegin net472 1.53μs 0.634ns 2.37ns 0.141 0 0 891 B
#3140 RunOnMethodBegin netcoreapp3.1 1.16μs 1.06ns 3.98ns 0.0116 0 0 880 B

@andrewlock

Copy link
Copy Markdown
Member Author

Code Coverage Report 📊

✔️ Merging #3140 into master will not change line coverage
✔️ Merging #3140 into master will not change branch coverage
✔️ Merging #3140 into master will will decrease complexity by 16

master #3140 Change
Lines 17252 / 23598 17148 / 23572
Lines % 73% 73% 0% ✔️
Branches 10242 / 14566 10183 / 14540
Branches % 70% 70% 0% ✔️
Complexity 15673 15657 -16 ✔️

View the full report for further details:

Datadog.Trace Breakdown ✔️

master #3140 Change
Lines % 73% 73% 0% ✔️
Branches % 70% 70% 0% ✔️
Complexity 15673 15657 -16 ✔️

The following classes have significant coverage changes.

File Line coverage change Branch coverage change Complexity change
Datadog.Trace.Sampling.GlobalSamplingRule -100% 0% ✔️ 0 ✔️
Datadog.Trace.Telemetry.Transports.JsonTelemetryTransport -21% -20% -4 ✔️
Datadog.Trace.Ci.GitInfo -17% -11% 0 ✔️
Datadog.Trace.DiagnosticListeners.AspNetCoreDiagnosticObserver -4% ⚠️ -6% 0 ✔️
Datadog.Trace.Logging.DatadogSerilogLogger -4% ⚠️ -6% 0 ✔️
Datadog.Trace.Ci.CIVisibility 5% ✔️ 6% ✔️ 0 ✔️
Datadog.Trace.Agent.DiscoveryService.DiscoveryService 12% ✔️ 0% ✔️ 0 ✔️

The following classes were added in #3140:

File Line coverage Branch coverage Complexity
Datadog.Trace.Util.Http.HttpExceptionExtensions 100% 100% 4

View the full reports for further details:

@andrewlock
andrewlock merged commit 22ed41e into master Aug 30, 2022
@andrewlock
andrewlock deleted the andrew/drop-razor-pages-tests-from-21 branch August 30, 2022 18:42
@github-actions github-actions Bot added this to the vNext milestone Aug 30, 2022
dromanol pushed a commit that referenced this pull request Aug 31, 2022
…e 2.1 only. (#3140)

This was causing `The configured user limit (128) on the number of inotify instances has been reached` when running on Ubuntu 20.04.

This only impacts .NET Core 2.1, but efforts to resolve it by reducing the number of file watchers, or increasing `fs.inotify.max_user_instances` failed, so taking the cowards way out
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:builds project files, build scripts, pipelines, versioning, releases, packages area:tests unit tests, integration tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants