coverlet
coverlet copied to clipboard
[BUG] Coverlet instrumentation becomes slow after installing dotnet sdk 8.0.200
Describe the bug The tests using coverlet used to be correctly fast, but since installing dotnet sdk 8.0.200 (released on 2024-02-13), the time skyrocketed from 15 seconds to > 7min. This is happening on two different tests projects which are not especially large.
To Reproduce Hard to say, some other projects have not significantly changed. I suspect that these projects contain a few large methods (using nested inline methods in F#), but it used to be instrumented far faster.
Expected behavior Instrumentation time should remain in the same range as before.
Actual behavior The time in instrumentation is very long:
Project Evaluation Performance Summary:
125 ms D:\dev\app\Connectivity.Dispatcher.Proto\Connectivity.Dispatcher.Proto.csproj 2 calls
255 ms D:\dev\app\Connectivity.Planning\Connectivity.Planning.fsproj 2 calls
323 ms D:\dev\app\Connectivity.Planning.Test\Connectivity.Planning.Test.fsproj 3 calls
404 ms D:\dev\app\NATS.OpenTelemetry\NATS.OpenTelemetry.fsproj 6 calls
Project Performance Summary:
2498 ms D:\dev\app\Connectivity.Dispatcher.Proto\Connectivity.Dispatcher.Proto.csproj 9 calls
2 ms _GenerateRestoreProjectPathWalk 1 calls
0 ms _IsProjectRestoreSupported 1 calls
86 ms _GenerateRestoreGraphProjectEntry 1 calls
6 ms _GenerateProjectRestoreGraph 1 calls
3 ms GetTargetFrameworks 1 calls
1 ms GetNativeManifest 1 calls
0 ms InitializeSourceRootMappedPaths 1 calls
0 ms GetCopyToOutputDirectoryItems 1 calls
3868 ms D:\dev\app\NATS.OpenTelemetry\NATS.OpenTelemetry.fsproj 23 calls
168 ms _GenerateRestoreProjectPathWalk 1 calls
2 ms _GenerateRestoreProjectPathItemsPerFramework 2 calls
0 ms _IsProjectRestoreSupported 1 calls
19 ms _GenerateRestoreGraphProjectEntry 1 calls
0 ms _GetRestoreSettingsPerFramework 2 calls
56 ms _GenerateProjectRestoreGraph 1 calls
0 ms GetAllRuntimeIdentifiers 2 calls
45 ms _GenerateProjectRestoreGraphPerFramework 2 calls
214 ms GetTargetFrameworks 2 calls
13 ms GetTargetFrameworksWithPlatformForSingleTargetFramework 2 calls
0 ms GetNativeManifest 2 calls
0 ms GetCopyToOutputDirectoryItems 2 calls
0 ms InitializeSourceRootMappedPaths 1 calls
13905 ms D:\dev\app\Connectivity.Planning\Connectivity.Planning.fsproj 9 calls
228 ms _GenerateRestoreProjectPathWalk 1 calls
0 ms _IsProjectRestoreSupported 1 calls
95 ms _GenerateRestoreGraphProjectEntry 1 calls
7 ms _GenerateProjectRestoreGraph 1 calls
5 ms GetTargetFrameworks 1 calls
0 ms GetNativeManifest 1 calls
0 ms InitializeSourceRootMappedPaths 1 calls
0 ms GetCopyToOutputDirectoryItems 1 calls
405015 ms D:\dev\app\Connectivity.Planning.Test\Connectivity.Planning.Test.fsproj 8 calls
1442 ms Restore 1 calls
1 ms _IsProjectRestoreSupported 2 calls
747 ms _GenerateRestoreProjectPathWalk 1 calls
24 ms _GenerateRestoreGraphProjectEntry 1 calls
11 ms _GenerateProjectRestoreGraph 1 calls
385634 ms VSTest 1 calls
Target Performance Summary:
0 ms _Protobuf_Compile_BeforeCsCompile 1 calls
0 ms InstrumentModulesAfterBuild 1 calls
0 ms GenerateCoverageResultAfterTest 1 calls
0 ms Protobuf_Compile 1 calls
0 ms AfterBuild 4 calls
0 ms Protobuf_AfterCompile 1 calls
0 ms PrepareResourceNames 4 calls
0 ms BeforeBuild 4 calls
0 ms ResGen 4 calls
0 ms Protobuf_BeforeCompile 1 calls
0 ms _ChooseAppHost 1 calls
0 ms GenerateMSBuildEditorConfigFile 1 calls
0 ms BeforeResGen 4 calls
0 ms CreateSatelliteAssemblies 4 calls
0 ms Compile 4 calls
0 ms BeforeCompile 4 calls
0 ms CoreBuild 4 calls
0 ms _InitializeSourceRootMappedPathsFromSourceControl 4 calls
0 ms _CopySourceItemsToOutputDirectory 4 calls
0 ms PrepareResources 4 calls
0 ms ResolvePackageDependenciesForBuild 4 calls
0 ms PrepareForRun 4 calls
0 ms _SetEmbeddedFilesFromSourceControlManagerUntrackedFiles 4 calls
0 ms AfterResGen 4 calls
0 ms CreateCustomManifestResourceNames 4 calls
0 ms ValidateCommandLineProperties 4 calls
0 ms GetTargetPath 4 calls
0 ms PrepareProjectReferences 4 calls
0 ms GetReferenceAssemblyPaths 4 calls
0 ms GetFrameworkPaths 4 calls
0 ms GenerateSourceLinkFile 4 calls
0 ms SetWin32ManifestProperties 4 calls
0 ms _InitializeSourceRootMappedPathsOpt 4 calls
0 ms _SetTargetFrameworkMonikerAttribute 1 calls
0 ms _CheckForUnsupportedTargetFrameworkAndFeatureCombination 1 calls
0 ms _GenerateRestoreGraphProjectEntry 4 calls
0 ms AfterResolveReferences 4 calls
0 ms _Protobuf_SanityCheck 1 calls
0 ms AfterCompile 4 calls
0 ms Build 4 calls
0 ms _BeforeVBCSCoreCompile 1 calls
0 ms _InitializeSourceControlInformationFromSourceControlManager 4 calls
0 ms Protobuf_PrepareCompileOptions 1 calls
0 ms gRPC_ResolvePluginFullPath 1 calls
0 ms GenerateAssemblyInfo 4 calls
0 ms _GetRestoreSettingsCurrentProject 3 calls
0 ms BeforeResolveReferences 4 calls
0 ms _Protobuf_GatherStaleFiles 1 calls
0 ms BuildOnlySettings 4 calls
0 ms _GenerateProjectRestoreGraphCurrentProject 3 calls
0 ms CopyAdditionalFiles 1 calls
0 ms _AddOutputPathToGlobalPropertiesToRemove 4 calls
0 ms _CheckForMismatchingPlatform 1 calls
0 ms _Microsoft_Extensions_Configuration_Binder_RemoveAnalyzer 3 calls
0 ms EnableIntermediateOutputPathMismatchWarning 4 calls
0 ms _GenerateRestoreProjectPathItemsCurrentProject 3 calls
0 ms _gRPC_PrepareCompileOptions 1 calls
0 ms _ReportUpgradeNetAnalyzersNuGetWarning 1 calls
0 ms _Protobuf_GatherStaleSimple 1 calls
0 ms _SetSourceLinkFilePath 4 calls
0 ms ResolveLockFileAnalyzers 4 calls
0 ms _GenerateProjectRestoreGraph 4 calls
0 ms _PopulateCommonStateForGetCopyToOutputDirectoryItems 4 calls
0 ms _GenerateRestoreDependencies 4 calls
0 ms _ComputeSkipAnalyzers 1 calls
0 ms AddDepsJsonAndRuntimeConfigToCopyItemsForReferencingProjects 2 calls
0 ms IncludeTransitiveProjectReferences 4 calls
0 ms _Protobuf_SelectFiles 1 calls
0 ms GenerateMSBuildEditorConfigFileShouldRun 1 calls
0 ms _GetAppHostPaths 1 calls
0 ms _CheckForUnsupportedHostingUsage 4 calls
0 ms InitializeSourceControlInformation 4 calls
0 ms _CheckAndUnsetUnsupportedPrefer32Bit 3 calls
0 ms ResolveSDKReferences 4 calls
0 ms ExpandSDKReferences 4 calls
0 ms _DefaultMicrosoftNETPlatformLibrary 4 calls
0 ms AddImplicitDefineConstants 4 calls
0 ms _GetRestoreTargetFrameworksAsItems 1 calls
0 ms _ComputeNETCoreBuildOutputFiles 4 calls
0 ms _Protobuf_EnforceInvariants 1 calls
0 ms _CheckForUnsupportedArtifactsPath 4 calls
0 ms _IsProjectRestoreSupported 4 calls
0 ms IgnoreJavaScriptOutputAssembly 4 calls
0 ms _GetRestoreSettingsPerFramework 5 calls
0 ms _CheckForObsoleteDotNetCliToolReferences 9 calls
0 ms CollectFrameworkReferences 5 calls
1 ms _CheckForUnsupportedCppNETCoreVersion 10 calls
1 ms GetNativeManifest 3 calls
1 ms _GetRestoreSettingsOverrides 4 calls
1 ms GetTargetPathWithTargetPlatformMoniker 4 calls
1 ms AddSourceRevisionToInformationalVersion 4 calls
1 ms SourceControlManagerPublishTranslatedUrls 4 calls
1 ms _Protobuf_AugmentLanguageCompile 1 calls
1 ms _LoadRestoreGraphEntryPoints 1 calls
1 ms _CheckForUnsupportedAppHostUsage 2 calls
1 ms ShowCallOfVSTestTaskWithParameter 1 calls
1 ms ResolveReferences 4 calls
1 ms _Protobuf_CoreCompile 1 calls
1 ms _CheckForCompileOutputs 4 calls
1 ms _GetProjectJsonPath 10 calls
1 ms _CheckForLanguageAndFeatureCombinationSupport 9 calls
1 ms _GenerateRuntimeConfigurationFilesInputCache 2 calls
1 ms CollectCentralPackageVersions 5 calls
1 ms _CheckContainersPackage 4 calls
1 ms _CheckForUnsupportedNETCoreVersion 9 calls
1 ms ShowMsbuildWithParameter 1 calls
1 ms Protobuf_ReconcileOutputs 1 calls
1 ms _GenerateSatelliteAssemblyInputs 4 calls
1 ms _ComputePackageReferencePublish 4 calls
1 ms _SplitProjectReferencesByFileExistence 4 calls
1 ms _GenerateCompileInputs 4 calls
1 ms GetAssemblyAttributes 4 calls
1 ms _AddMicrosoftNetCompilerToolsetFrameworkPackage 9 calls
1 ms CoreResGen 4 calls
2 ms IncludeTargetingPackReference 1 calls
2 ms _GetRestoreTargetFrameworkOverride 4 calls
2 ms _GetFrameworkAssemblyReferences 3 calls
2 ms _Protobuf_SetProtoRoot 1 calls
2 ms _GenerateRestoreSpecs 4 calls
2 ms ValidateExecutableReferences 3 calls
2 ms _GetCopyToOutputDirectoryItemsFromThisProject 4 calls
2 ms _GenerateRestoreProjectPathItems 4 calls
2 ms _Protobuf_GatherStaleBatched 2 calls
2 ms AddGlobalAnalyzerConfigForPackage_MicrosoftCodeAnalysisNetAnalyzers 1 calls
2 ms CollectPackageDownloads 5 calls
2 ms _CheckForInvalidConfigurationAndPlatform 4 calls
2 ms GetAssemblyVersion 4 calls
2 ms _ComputeUserRuntimeAssemblies 4 calls
3 ms ResolveLockFileCopyLocalFiles 4 calls
3 ms Protobuf_ResolvePlatform 1 calls
3 ms ReferencedPathMaps 1 calls
3 ms GenerateProgramFile 2 calls
3 ms _BlockWinMDsOnUnsupportedTFMs 4 calls
3 ms GetTargetFrameworks 3 calls
3 ms SplitResourcesByCulture 4 calls
3 ms _GenerateDotnetCliToolReferenceSpecs 4 calls
4 ms GetAllRuntimeIdentifiers 3 calls
4 ms CollectFSharpDesignTimeTools 3 calls
4 ms AssignProjectConfiguration 2 calls
4 ms _GetRestoreTargetFrameworksOutput 4 calls
4 ms _CollectTargetFrameworkForTelemetry 5 calls
4 ms InitializeSourceRootMappedPaths 4 calls
5 ms GenerateTargetFrameworkMonikerAttribute 4 calls
5 ms _SourceLinkHasSingleProvider 4 calls
5 ms ResolveOffByDefaultAnalyzers 4 calls
5 ms _CopyOutOfDateSourceItemsToOutputDirectory 2 calls
5 ms GenerateMSBuildEditorConfigFileCore 1 calls
6 ms CheckForImplicitPackageReferenceOverrides 9 calls
6 ms CheckForDuplicateItems 4 calls
6 ms ResolveLockFileReferences 4 calls
6 ms Protobuf_PrepareCompile 1 calls
6 ms IncrementalClean 4 calls
6 ms _GetCopyToOutputDirectoryItemsFromTransitiveProjectReferences 4 calls
6 ms _GenerateRestoreProjectSpec 4 calls
7 ms ResolveRuntimePackAssets 1 calls
7 ms GenerateNETCompatibleDefineConstants 4 calls
7 ms _ComputeToolPackInputsToProcessFrameworkReferences 9 calls
7 ms GenerateGlobalUsings 1 calls
8 ms SetPaketCommand 10 calls
8 ms _GenerateCompileDependencyCache 4 calls
8 ms AssignTargetPaths 4 calls
8 ms _SetEmbeddedWin32ManifestProperties 4 calls
8 ms PrepareForBuild 4 calls
8 ms _ComputeReferenceAssemblies 4 calls
8 ms _GenerateSourceLinkFile 4 calls
9 ms ApplyImplicitVersions 9 calls
9 ms CreateGeneratedAssemblyInfoInputsCacheFile 4 calls
9 ms _GetRestoreProjectStyle 10 calls
11 ms TranslateGitLabUrlsInSourceControlInformation 4 calls
11 ms NETStandardCompatError_Microsoft_Extensions_Configuration_Binder 5 calls
11 ms TranslateBitbucketGitUrlsInSourceControlInformation 4 calls
12 ms TranslateAzureReposGitUrlsInSourceControlInformation 4 calls
12 ms GetTargetFrameworksWithPlatformForSingleTargetFramework 4 calls
13 ms UpdateAspNetToFrameworkReference 8 calls
13 ms TranslateGitHubUrlsInSourceControlInformation 4 calls
13 ms _CreateAppHost 1 calls
13 ms GenerateFSharpTextResources 3 calls
14 ms _GenerateProjectRestoreGraphPerFramework 5 calls
15 ms _GetRestoreSettingsAllFrameworks 1 calls
16 ms CollectPackageReferences 10 calls
16 ms _InitializeGitHubSourceLinkUrl 12 calls
16 ms ResolveFrameworkReferences 4 calls
16 ms _CleanGetCurrentAndPriorFileWrites 4 calls
17 ms GetCopyToOutputDirectoryItems 4 calls
17 ms _InitializeAzureReposGitSourceLinkUrl 12 calls
18 ms _GenerateRestoreProjectPathItemsPerFramework 5 calls
18 ms _ComputeTargetFrameworkItems 1 calls
19 ms _InitializeGitLabSourceLinkUrl 12 calls
21 ms RedirectTPReferenceToNewRedistributableLocation 3 calls
25 ms SetEmbeddedFilesFromSourceControlManagerUntrackedFiles 4 calls
25 ms ResolveTargetingPackAssets 4 calls
29 ms GenerateBuildRuntimeConfigurationFiles 2 calls
32 ms CopyFilesToOutputDirectory 4 calls
32 ms RedirectFSharpCoreReferenceToNewRedistributableLocation 3 calls
34 ms _CopyFilesMarkedCopyLocal 2 calls
36 ms _InitializeBitbucketGitSourceLinkUrl 12 calls
42 ms CoreGenerateAssemblyInfo 4 calls
50 ms _FilterRestoreGraphProjectInputItems 1 calls
50 ms _GenerateProjectRestoreGraphAllFrameworks 1 calls
51 ms _HandlePackageFileConflicts 4 calls
51 ms _GetRestoreSettings 4 calls
75 ms InitializeSourceControlInformationFromSourceControlManager 4 calls
93 ms FindReferenceAssembliesForReferences 4 calls
104 ms ProcessFrameworkReferences 8 calls
124 ms GenerateBuildDependencyFile 4 calls
126 ms _GenerateRestoreProjectPathItemsAllFrameworks 1 calls
127 ms ResolveAssemblyReferences 4 calls
143 ms PaketRestore 10 calls
153 ms ResolvePackageAssets 4 calls
191 ms GetTargetFrameworksWithPlatformFromInnerBuilds 1 calls
194 ms _GenerateRestoreGraph 1 calls
344 ms GenerateCoverageResult 1 calls
425 ms Restore 1 calls
621 ms _GetProjectReferenceTargetFrameworkProperties 4 calls
757 ms _GetAllRestoreProjectPathItems 1 calls
953 ms _GenerateRestoreProjectPathWalk 4 calls
16941 ms ResolveProjectReferences 4 calls
17165 ms BuildProject 1 calls
17510 ms CoreCompile 4 calls
366551 ms InstrumentModules 1 calls
385287 ms _VSTestConsole 1 calls
385289 ms VSTest 1 calls
Task Performance Summary:
1 ms VSTestLogsTask 2 calls
1 ms GetReferenceAssemblyPaths 1 calls
1 ms Microsoft.CodeAnalysis.BuildTasks.MapSourceRoots 1 calls
1 ms NuGetMessageTask 1 calls
1 ms AssignCulture 4 calls
1 ms GetAssemblyVersion 4 calls
1 ms GenerateMSBuildEditorConfig 1 calls
1 ms GetGlobalPropertyValueTask 1 calls
1 ms ProtoToolsPlatform 1 calls
1 ms Delete 4 calls
1 ms ValidateExecutableReferences 3 calls
1 ms GetRestorePackageDownloadsTask 5 calls
1 ms SetRidAgnosticValueForProjects 4 calls
1 ms WarnForInvalidProjectsTask 1 calls
1 ms GetRestoreFrameworkReferencesTask 5 calls
1 ms FindAppConfigFile 4 calls
1 ms CombineXmlElements 3 calls
2 ms CheckForUnsupportedWinMDReferences 4 calls
2 ms Microsoft.SourceLink.Common.SourceLinkHasSingleProvider 4 calls
2 ms ResolveFrameworkReferences 4 calls
2 ms MapSourceRoots 3 calls
2 ms CreateProperty 10 calls
2 ms AllowEmptyTelemetry 5 calls
2 ms GetRestoreProjectReferencesTask 5 calls
2 ms GetRestoreDotnetCliToolsTask 4 calls
2 ms Touch 3 calls
2 ms CheckForDuplicateFrameworkReferences 8 calls
2 ms FSharpEmbedResourceText 3 calls
2 ms AssignProjectConfiguration 2 calls
2 ms FSharpEmbedResXSource 3 calls
2 ms GetProjectTargetFrameworksTask 4 calls
3 ms ProtoCompilerOutputs 1 calls
3 ms JoinItems 4 calls
3 ms ProtoReadDependencies 1 calls
3 ms CheckForImplicitPackageReferenceOverrides 9 calls
4 ms ApplyImplicitVersions 9 calls
4 ms GetRestorePackageReferencesTask 5 calls
4 ms AssignTargetPath 24 calls
4 ms CheckForDuplicateItems 12 calls
4 ms Message 46 calls
5 ms CheckIfPackageReferenceShouldBeFrameworkReference 16 calls
5 ms Hash 10 calls
5 ms GetRestoreProjectStyleTask 10 calls
5 ms GenerateGlobalUsings 1 calls
5 ms ResolveRuntimePackAssets 1 calls
5 ms RemoveDuplicates 19 calls
6 ms GetFrameworkPath 4 calls
6 ms ConvertToAbsolutePath 13 calls
7 ms CopyRefAssembly 4 calls
7 ms Microsoft.SourceLink.Common.GenerateSourceLinkFile 4 calls
7 ms Microsoft.SourceLink.GitLab.TranslateRepositoryUrls 4 calls
7 ms FindUnderPath 22 calls
7 ms CheckForDuplicateNuGetItemsTask 20 calls
7 ms Microsoft.SourceLink.AzureRepos.Git.TranslateRepositoryUrls 4 calls
7 ms Microsoft.SourceLink.Bitbucket.Git.TranslateRepositoryUrls 4 calls
8 ms WriteLinesToFile 12 calls
8 ms MakeDir 10 calls
8 ms ResolveAppHosts 8 calls
9 ms Microsoft.SourceLink.GitHub.TranslateRepositoryUrls 4 calls
9 ms CombineTargetFrameworkInfoProperties 4 calls
10 ms GetPackageDirectory 40 calls
10 ms ReadLinesFromFile 25 calls
12 ms CreateAppHost 1 calls
13 ms Microsoft.SourceLink.GitHub.GetSourceLinkUrl 12 calls
14 ms Microsoft.SourceLink.AzureRepos.Git.GetSourceLinkUrl 12 calls
15 ms Microsoft.SourceLink.Bitbucket.Git.GetSourceLinkUrl 12 calls
16 ms Microsoft.SourceLink.GitLab.GetSourceLinkUrl 12 calls
18 ms GetFileHash 10 calls
23 ms ResolveTargetingPackAssets 4 calls
23 ms Microsoft.Build.Tasks.Git.GetUntrackedFiles 4 calls
28 ms GenerateRuntimeConfigurationFiles 2 calls
31 ms GetReferenceNearestTargetFrameworkTask 3 calls
37 ms ResolvePackageFileConflicts 4 calls
39 ms WriteCodeFragment 3 calls
50 ms GetRestoreSettingsTask 4 calls
52 ms Copy 14 calls
72 ms Microsoft.Build.Tasks.Git.LocateRepository 4 calls
85 ms ProcessFrameworkReferences 8 calls
120 ms GenerateDepsFile 3 calls
123 ms ResolveAssemblyReference 4 calls
145 ms ResolvePackageAssets 4 calls
343 ms Coverlet.MSbuild.Tasks.CoverageResultTask 1 calls
424 ms RestoreTask 1 calls
1569 ms VSTestTask 1 calls
2038 ms Csc 1 calls
15464 ms Fsc 3 calls
36938 ms MSBuild 34 calls
366550 ms Coverlet.MSbuild.Tasks.InstrumentationTask 1 calls
769021 ms CallTarget 12 calls
Configuration (please complete the following information): Please provide more information on your .NET configuration: * coverlet.msbuild - 6.0 * problem appearing with: dotnet sdk 8.0.200 / dotnet runtime 8.0.2 * previously worked with dotnet sdk 8.0.102 / dotnet runtime 8.0.1 * Windows and Linux * x64 * It seems to be linked to dotnet 8.0.200
Additional context The only specific thing in the test dependency is a few methods that can be highly inlined at compilation (using F# inline keyword) and can be large. Other projects don't seem to be as much impacted.
Thanks for reporting this. Could you please use the latest coverlet.msbuild preview and check the performance.
I've done tests with the preview nuget and they show no improvements, sadly.
OK that's really interesting. I can remember that we had other issues reported with inlined methods some time ago, e.g. #1225. Probably they changed something there, more generated code, emitted additional sequence points... It would be helpful if somebody could provide a simple repro where this increased instrumentation time can be seen when switching between 8.0.1 - 8.0.2.
I have no independent repro yet, but I used perfview to see what the process was doing (this last like 8 or 9 minutes, while it was a few seconds before)
The sampling was done on 17 sec.
A flame graph on a similar sample:
And another one :
So, after more test, it found that is was truly linked to the size of methods due to F# inlining.
Two keypoints:
- The code emitted by F# in debug in my case is far larger than expected. F# usually optimizes dead branches (if true then ... / if false then ...) even in debug. But in my case it seems to not do it. This inflates the size of the functions artificially. The library I use relies on these static branch elimination with deep inlining. The final code is actually short, but becomes enormous if this optimization is disabled. Has this changed in recent F# release ? I'll check and ask the question.
- However, as I repeated multiple times the same line to generate a large method to test, I noticed that the time was not increasing linearly with the number of repeated lines. Up to 8 times, instrumentation was instant. at 9 its taking 1sec, at 10, 2.5 sec. At 14 taking 20sec.. at 20 several minutes. There is probably something in n² there...
A least, forcing the --optimize+
flag during F# compilation produces a far smaller IL (without all the dead branches), and the timing is back to normal.
I have observed the same on a rather large C# solution. With .net 6 test runs in under 10 minutes. After updating to .net 8 I gave up on the tests after an hour. (When actual tests were running they were faster in .net8 than .ner6, so but it takes forever to get to the test, so I assume it is the.instrumentation that takes a long time)
We also have problems with huge performance degradation... (unit test run from 2mins to 14mins)... it seems that downgrading to coverlet v6.0.1 fixes the problem and the problem is only with v6.0.2...
@thinkbeforecoding can you try whether this works for you as well?