Open findleyr opened 4 months ago
CC @adonovan @griesemer @mdempsky @timothy-king
I'm not sure if this is worth doing, unless we can prove that it has benefits in the common case. However, it may be worth some investigation.
@jacobmischka can you confirm that the codegen assigns a bunch of values of the same type?
I suspect (without data) that most assignableTo operations are fast, and that the worst case only occurs when assigning a concrete type to an interface type of many methods. (It would help to know how many there are in your code). So it wouldn't make sense to memoize the entire operation, but only the slow path for large interfaces. We would also need a way to asynchronously clear the cache, as the elements could otherwise pin very large data structures indefinitely.
It would be nice to get a repro before we talk more about caching. The ideal solution is always to make the predicate fast enough that no cache is necessary.
In the go/types benchmarks, assignableTo is ~1-2% of type checking time (ignoring imports) across a stratified collection of standard library packages. Not sure how much of that could be cached, but in any case this suggests that this optimization will probably not be very helpful for most packages.
I'll try to investigate more thoroughly at some point.
This is the library we're using that I suspect is the issue: https://gqlgen.com/
It's a graphql server library which relies on codegen. I am skimming the generated files and I don't believe there are a lot of assignments of the same type, rather it seems like there's one very large struct type with a lot of instance methods. I don't see much uses of interfaces but I definitely could be missing it. We're going to try looking through suggestions in discussions for that package in particular and see if we can find a good work around. Splitting the one large file into multiple files in a sub-package didn't seem to help, unfortunately. Will try an entirely separate package if possible to see if that helps.
It's a graphql server library which relies on codegen. I am skimming the generated files and I don't believe there are a lot of assignments of the same type, rather it seems like there's one very large struct type with a lot of instance methods. I don't see much uses of interfaces but I definitely could be missing it. We're going to try looking through suggestions in discussions for that package in particular and see if we can find a good work around. Splitting the one large file into multiple files in a sub-package didn't seem to help, unfortunately. Will try an entirely separate package if possible to see if that helps.
Thanks, that's interesting. Approximately how many methods are there?
Splitting into separate files may help for parsing, but won't help for type checking, which considers all package files. Moving to a different package will help, although if you then import that type with thousands of methods, you may pay a significant cost type checking code that uses it.
Thanks, that's interesting. Approximately how many methods are there?
About 4500.
Moving to a different package will help, although if you then import that type with thousands of methods, you may pay a significant cost type checking code that uses it.
Yeah, I've realized/confirmed now that it's definitely packages that import the generated package that are slow and everything else is quite fast.
Thanks. It sounds like a cache wouldn't really help much in this case, or in general, so I've retitled this issue to more generally describe the symptoms you observe. There still may be room for improvement in our lookupMethod algorithms.
Thanks, that's interesting. Approximately how many methods are there? About 4500.
While our tools could certainly do better, creating a type with this many methods (and then generating very large files file of assignability conversions) is likely to push a lot of algorithms into poor performance. I wonder how many of those methods are necessarily methods, and how many might be more neatly expressed as standalone functions with more focussed lists of parameters.
This sounds to me like a possibly (implicit) quadratic algorithm because we look up methods sequentially. Keeping them in a map (or perhaps adding them to a map as a cache as needed) might help here.
If it's helpful, as a note, some coworkers use goland and they don't experience the same issue.
Hi, I'm one of @jacobmischka's coworkers experiencing this issue. Here's an open, unsolved issue in gqlgen that describes the same issue that we're having, with gopls struggling with ~4000 instance methods (same number that we have at our current codebase's size) on a single type: https://github.com/99designs/gqlgen/issues/2681. We'll see if there are any fixes that can be made in gqlgen but it seems this issue is being felt by others, even back in mid-2023. Thank you for helping look into this!
Thanks @jacobmischka and @ericmeter.
It sounds like there is room for improvement in the type checker. With respect to goland: they have their own type checker and I'm guessing its interface implementation algorithm is better optimized for very large interfaces.
There are several things we could do to optimize predicates. For example, gopls itself has a fast implements algorithm for finding implementers, but that's only used for indexing method sets after type checking. We could use some of those techniques in the type checker itself, during the type checking pass. The most straightforward thing to try first would be a map lookup, as @griesemer suggests.
It's hard to measure the impact of this change, as it doesn't make much difference in the common case where a type has <=dozens of methods. I suspect that a decent fraction of the work here is to set up an environment that reproduces the extreme slowness you're encountering. If anyone here has a pointer to an open source repository that reproduces the problem, that would help us get started.
Thanks! I'll try to find an open source project with a nontrivial amount of these. If not, we can probably put one together but I'm afraid that will take a little longer (we're quite busy the next two weeks unfortunately).
@jacobmischka what is your go version
?
Can you share gopls -v version
?
$ gopls -v version
Build info
----------
golang.org/x/tools/gopls v0.15.2
golang.org/x/tools/gopls@v0.15.2 h1:4JKt4inO8JaFW3l/Fh9X1k/5JQn+iUOpdc4/Lpi0mOs=
github.com/BurntSushi/toml@v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
github.com/google/go-cmp@v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
golang.org/x/exp/typeparams@v0.0.0-20221212164502-fae10dda9338 h1:2O2DON6y3XMJiQRAS1UWU+54aec2uopH3x7MAiqGW6Y=
golang.org/x/mod@v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
golang.org/x/sync@v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/telemetry@v0.0.0-20240209200032-7b892fcb8a78 h1:vcVnuftN4J4UKLRcgetjzfU9FjjgXUUYUc3JhFplgV4=
golang.org/x/text@v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/tools@v0.18.1-0.20240311201521-78fbdeb61842 h1:No0LMXYFkp3j4oEsPdtY8LUQz33gu79Rm9DE+izMeGQ=
golang.org/x/vuln@v1.0.1 h1:KUas02EjQK5LTuIx1OylBQdKKZ9jeugs+HiqO5HormU=
honnef.co/go/tools@v0.4.6 h1:oFEHCKeID7to/3autwsWfnuv69j3NsfcXbvJKuIcep8=
mvdan.cc/gofumpt@v0.6.0 h1:G3QvahNDmpD+Aek/bNOLrFR2XC6ZAdo62dZu65gmwGo=
mvdan.cc/xurls/v2@v2.5.0 h1:lyBNOm8Wo71UknhUs4QTFUNNMyxy2JEIaKKo0RWOh+8=
go: go1.22.0
I just upgraded to 1.22.2 after running that though, so I can see if that helps at all tomorrow.
Edit: That didn't help.
@jacobmischka thanks. No, upgrading won't help, but your version puts the profile above in context.
We modified the codegen to use plain functions instead of instance methods and the performance unfortunately didn't improve significantly. We plan to investigate further tomorrow, will report back with some more profiles.
Here's an updated trace. We reduced the number of instance methods on the main generated struct to about 500 and it's still just about as slow.
I stripped the paths again, but let me know if you'd like me to email an unstripped version to any of you, I just want to avoid sharing it publicly. Also please let me know if there is any other profiling we can do.
Main Info Memory Profiling Metrics RPC Trace Analysis Trace Information $/cancelRequest last: 33.125µs, longest: 52.25µs $/progress last: 44.417µs, longest: 44.417µs Server.diagnose last: 3.055607042s, longest: 3.753160458s Server.diagnoseChangedFiles last: 1.930986708s, longest: 2.154471917s Server.diagnoseSnapshot last: 5.988188625s, longest: 5.988188625s Server.publishDiagnostics last: 61.875µs, longest: 179.667µs cache.ModTidy last: 215.9465ms, longest: 215.9465ms cache.ParseGoSrc last: 222.542µs, longest: 39.335916ms cache.ParseMod last: 352.875µs, longest: 352.875µs cache.forEachPackage last: 2.896547166s, longest: 2.896547166s cache.readFile last: 795.25µs, longest: 12.633833ms cache.resolveImportGraph last: 8.762292ms, longest: 105.89325ms cache.snapshot.ModTidy last: 51.625µs, longest: 216.008542ms cache.snapshot.PackageDiagnostics last: 2.896602542s, longest: 2.896602542s cache.snapshot.clone last: 329.375µs, longest: 4.703459ms cache.snapshot.load last: 1.581146667s, longest: 1.581146667s cache.typeCheckBatch.checkPackage last: 2.872711375s, longest: 2.872711375s cache.typeCheckBatch.checkPackageForImport last: 494.17725ms, longest: 494.939458ms cache.typeCheckBatch.importPackage last: 7.02175ms, longest: 387.068042ms completion.Completion last: 1.954111375s, longest: 2.053395959s gocommand.Runner.Run last: 210.65475ms, longest: 210.65475ms gocommand.Runner.RunRaw last: 210.624917ms, longest: 1.279285541s golang.SignatureHelp last: 15.584µs, longest: 2.160838583s initialize last: 1.409792ms, longest: 1.409792ms initialized last: 1.598106417s, longest: 1.598106417s lsp.Server.completion last: 1.954131625s, longest: 2.053419125s lsp.Server.didChange last: 392.166µs, longest: 2.476709ms lsp.Server.didOpen last: 5.74775ms, longest: 5.74775ms lsp.Server.initialize last: 534.625µs, longest: 534.625µs lsp.Server.initialized last: 1.598066667s, longest: 1.598066667s lsp.Server.semanticTokens last: 11.958µs, longest: 30.541µs lsp.Server.signatureHelp last: 34.5µs, longest: 2.160863709s mod.Diagnostics last: 301.75µs, longest: 216.131ms mod.UpgradeDiagnostics last: 55.958µs, longest: 55.958µs mod.VulnerabilityDiagnostics last: 43.208µs, longest: 44.208µs queued last: 2.93266125s, longest: 6.652674458s snapshot.Analyze last: 3.044961459s, longest: 3.044961459s textDocument/completion last: 2.073806333s, longest: 3.969149875s textDocument/didChange last: 1.476623125s, longest: 4.897534583s textDocument/didOpen last: 1.600358875s, longest: 1.600358875s textDocument/publishDiagnostics last: 69.292µs, longest: 69.292µs textDocument/semanticTokens/full last: 1.331482125s, longest: 6.652761916s textDocument/signatureHelp last: 3.223286583s, longest: 6.757727542s window/logMessage last: 857.834µs, longest: 904.084µs window/workDoneProgress/create last: 3.698292ms, longest: 3.698292ms work.Diagnostics last: 24.75µs, longest: 37.375µs workspace/configuration last: 85.709µs, longest: 85.709µs Recent spans (oldest first) A finite number of recent span start/end times are shown below. The nesting represents the children of a parent span (and the log events within a span). A span may appear twice: chronologically at toplevel, and nested within its parent. 10:05:33.983 end cache.ParseGoSrc (+62.708µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+185.209µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+330.708µs) 10:05:33.983 end cache.ParseGoSrc (+201.917µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+37.166µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+120.209µs) 10:05:33.983 end cache.ParseGoSrc (+540.875µs) 10:05:33.983 end cache.ParseGoSrc (+113.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+34.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+80.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+306.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+192.417µs) 10:05:33.984 end cache.ParseGoSrc (+78.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+164.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+109.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+359.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+134.083µs) 10:05:33.984 end cache.ParseGoSrc (+73.583µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+91.208µs) 10:05:33.984 end cache.ParseGoSrc (+683.917µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+812.792µs) 10:05:33.984 end cache.ParseGoSrc (+208.083µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+65.084µs) 10:05:33.984 end cache.ParseGoSrc (+163.083µs) 10:05:33.984 end cache.ParseGoSrc (+202.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+77.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+115.375µs) 10:05:33.985 end cache.ParseGoSrc (+61.791µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+229.25µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+473.042µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+391.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+168.333µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+188.708µs) 10:05:33.985 end cache.ParseGoSrc (+251.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+280.084µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+256µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+337.625µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+846.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+153.416µs) 10:05:33.986 end cache.ParseGoSrc (+285.708µs) 10:05:33.986 end cache.ParseGoSrc (+149.583µs) 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+38.5µs) 10:05:33.986 end cache.ParseGoSrc (+101.75µs) 10:05:33.986 end cache.ParseGoSrc (+461.5µs) 10:05:33.986 end cache.ParseGoSrc (+222.542µs) 10:05:34.018 end cache.typeCheckBatch.checkPackage (+62.004ms) 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 end cache.typeCheckBatch.checkPackage (+685.458µs) 10:05:34.022 end cache.typeCheckBatch.checkPackage (+4.431375ms) 10:05:34.075 end cache.typeCheckBatch.checkPackage (+119.14925ms) 10:05:36.819 end cache.typeCheckBatch.checkPackage (+2.872711375s) 10:05:36.819 end cache.forEachPackage (+2.896547166s) packages=375 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 end cache.typeCheckBatch.importPackage (+173.375µs) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+230.959µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+91.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+345.667µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+360.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+166.334µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+54.584µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+956.875µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.063125ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.104708ms) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+896.208µs) 10:05:33.947 end cache.typeCheckBatch.importPackage (+195.5µs) 10:05:33.947 start cache.typeCheckBatch.checkPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+877.75µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+917.958µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+891.584µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+857.416µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.959µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+582.875µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+883.292µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+846.791µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+881.791µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+618.625µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+897.75µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+183.959µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+297.5µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+856.917µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+615.708µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+60.458µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+154.459µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+331.792µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+176.209µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.812292ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+325.458µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.150334ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+298.042µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.963583ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.202083ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.0205ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 end cache.typeCheckBatch.importPackage (+145.958µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.414041ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+5.097292ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.081458ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+244.25µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.9345ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.644ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.979ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+2.457042ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+110.75µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+161.166µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.014625ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+28.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.34125ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.422041ms) 10:05:33.951 start cache.typeCheckBatch.checkPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.314875ms) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+65.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.34925ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.74775ms) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.125µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+199.833µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.103917ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.441083ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+635.333µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+401µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.575333ms) 10:05:33.952 end cache.typeCheckBatch.importPackage (+1.766ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+645.833µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+7.349ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+6.320792ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.497417ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.29025ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+304.542µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+257.958µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+122.708µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+133.417µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+488.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+119.917µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+111µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+112.833µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+421.334µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+100.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+97.542µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+95.708µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+119.166µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+107.125µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+124.333µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+102.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.240458ms) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.994208ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+425.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.76525ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+423.959µs) 10:05:33.955 end cache.typeCheckBatch.checkPackage (+3.791875ms) 10:05:33.955 start cache.typeCheckBatch.checkPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+10.237583ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+9.275084ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.955 end cache.typeCheckBatch.importPackage (+8.408208ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+5.617292ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+8.508417ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+7.02175ms) 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.961 end cache.typeCheckBatch.checkPackage (+6.619875ms) 10:05:34.018 end cache.typeCheckBatch.checkPackage (+62.004ms) 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 end cache.typeCheckBatch.checkPackage (+685.458µs) 10:05:34.022 end cache.typeCheckBatch.checkPackage (+4.431375ms) 10:05:34.075 end cache.typeCheckBatch.checkPackage (+119.14925ms) 10:05:36.819 end cache.typeCheckBatch.checkPackage (+2.872711375s) 10:05:36.819 end cache.snapshot.PackageDiagnostics (+2.896602542s) 10:05:33.923 start cache.forEachPackage packages=375 10:05:36.819 end cache.forEachPackage (+2.896547166s) packages=375 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 end cache.typeCheckBatch.importPackage (+173.375µs) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+230.959µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+91.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+345.667µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+360.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+166.334µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+54.584µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+956.875µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.063125ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.104708ms) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+896.208µs) 10:05:33.947 end cache.typeCheckBatch.importPackage (+195.5µs) 10:05:33.947 start cache.typeCheckBatch.checkPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+877.75µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+917.958µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+891.584µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+857.416µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.959µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+582.875µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+883.292µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+846.791µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+881.791µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+618.625µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+897.75µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+183.959µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+297.5µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+856.917µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+615.708µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+60.458µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+154.459µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+331.792µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+176.209µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.812292ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+325.458µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.150334ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+298.042µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.963583ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.202083ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.0205ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 end cache.typeCheckBatch.importPackage (+145.958µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.414041ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+5.097292ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.081458ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+244.25µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.9345ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.644ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.979ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+2.457042ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+110.75µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+161.166µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.014625ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+28.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.34125ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.422041ms) 10:05:33.951 start cache.typeCheckBatch.checkPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.314875ms) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+65.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.34925ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.74775ms) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.125µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+199.833µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.103917ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.441083ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+635.333µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+401µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.575333ms) 10:05:33.952 end cache.typeCheckBatch.importPackage (+1.766ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+645.833µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+7.349ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+6.320792ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.497417ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.29025ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+304.542µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+257.958µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+122.708µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+133.417µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+488.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+119.917µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+111µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+112.833µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+421.334µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+100.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+97.542µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+95.708µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+119.166µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+107.125µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+124.333µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+102.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.240458ms) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.994208ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+425.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.76525ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+423.959µs) 10:05:33.955 end cache.typeCheckBatch.checkPackage (+3.791875ms) 10:05:33.955 start cache.typeCheckBatch.checkPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+10.237583ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+9.275084ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.955 end cache.typeCheckBatch.importPackage (+8.408208ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+5.617292ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+8.508417ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+7.02175ms) 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.961 end cache.typeCheckBatch.checkPackage (+6.619875ms) 10:05:34.018 end cache.typeCheckBatch.checkPackage (+62.004ms) 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 end cache.typeCheckBatch.checkPackage (+685.458µs) 10:05:34.022 end cache.typeCheckBatch.checkPackage (+4.431375ms) 10:05:34.075 end cache.typeCheckBatch.checkPackage (+119.14925ms) 10:05:36.819 end cache.typeCheckBatch.checkPackage (+2.872711375s) 10:05:36.968 end snapshot.Analyze (+3.044961459s) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+53.583µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+44.584µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+71µs) 10:05:33.979 end cache.ParseGoSrc (+138.459µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+100.792µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+226.75µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+339.041µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+24.25µs) 10:05:33.979 end cache.ParseGoSrc (+44.959µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+39.542µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+61.959µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+440.542µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+414µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+213.125µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+411.708µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+143.834µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+198.542µs) 10:05:33.980 end cache.ParseGoSrc (+17.375µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+299.916µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+93.833µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+61µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+98.875µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+117.834µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+229.709µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+112.167µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+38.084µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+316.792µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+64.542µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+521.583µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+22.792µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+104.625µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+23.708µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+54.959µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+50.833µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+35µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+106.667µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+21.625µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+30.333µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+144.042µs) 10:05:33.981 end cache.ParseGoSrc (+239.333µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+634.792µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+68.625µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+43.291µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+134.416µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+134.125µs) 10:05:33.981 end cache.ParseGoSrc (+38.75µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+20.333µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+180.417µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+114.125µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+18.709µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+289.542µs) 10:05:33.981 end cache.ParseGoSrc (+19.5µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+153.958µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+592.125µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+542.917µs) 10:05:33.982 end cache.ParseGoSrc (+398.25µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+40.792µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+15.917µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+150.708µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+136.417µs) 10:05:33.982 end cache.ParseGoSrc (+480.084µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+61.75µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+162.959µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+206.875µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+18.833µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+242.416µs) 10:05:33.982 end cache.ParseGoSrc (+2.5115ms) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+135.083µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+336.542µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+269.459µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+307.292µs) 10:05:33.983 end cache.ParseGoSrc (+421.417µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+206.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+71.792µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+15.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+98µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+74.083µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+75.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+171.625µs) 10:05:33.983 end cache.ParseGoSrc (+38.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+34.542µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+35.334µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+151.458µs) 10:05:33.983 end cache.ParseGoSrc (+162.25µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+541.333µs) 10:05:33.983 end cache.ParseGoSrc (+170.959µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+56.542µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+142.291µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+62.708µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+185.209µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+330.708µs) 10:05:33.983 end cache.ParseGoSrc (+201.917µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+37.166µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+120.209µs) 10:05:33.983 end cache.ParseGoSrc (+540.875µs) 10:05:33.983 end cache.ParseGoSrc (+113.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+34.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+80.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+306.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+192.417µs) 10:05:33.984 end cache.ParseGoSrc (+78.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+164.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+109.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+359.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+134.083µs) 10:05:33.984 end cache.ParseGoSrc (+73.583µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+91.208µs) 10:05:33.984 end cache.ParseGoSrc (+683.917µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+812.792µs) 10:05:33.984 end cache.ParseGoSrc (+208.083µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+65.084µs) 10:05:33.984 end cache.ParseGoSrc (+163.083µs) 10:05:33.984 end cache.ParseGoSrc (+202.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+77.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+115.375µs) 10:05:33.985 end cache.ParseGoSrc (+61.791µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+229.25µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+473.042µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+391.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+168.333µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+188.708µs) 10:05:33.985 end cache.ParseGoSrc (+251.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+280.084µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+256µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+337.625µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+846.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+153.416µs) 10:05:33.986 end cache.ParseGoSrc (+285.708µs) 10:05:33.986 end cache.ParseGoSrc (+149.583µs) 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+38.5µs) 10:05:33.986 end cache.ParseGoSrc (+101.75µs) 10:05:33.986 end cache.ParseGoSrc (+461.5µs) 10:05:33.986 end cache.ParseGoSrc (+222.542µs) 10:05:36.968 end Server.diagnose (+3.055607042s) snapshot=21 10:05:33.912 start work.Diagnostics snapshot=21 10:05:33.912 end work.Diagnostics (+24.75µs) snapshot=21 10:05:33.912 start mod.Diagnostics snapshot=21 10:05:33.913 end mod.Diagnostics (+100.083µs) snapshot=21 10:05:33.913 start mod.UpgradeDiagnostics snapshot=21 10:05:33.913 end mod.UpgradeDiagnostics (+55.958µs) snapshot=21 10:05:33.913 start mod.VulnerabilityDiagnostics snapshot=21 10:05:33.913 end mod.VulnerabilityDiagnostics (+43.208µs) snapshot=21 10:05:33.921 start mod.Diagnostics snapshot=21 10:05:33.921 end mod.Diagnostics (+301.75µs) snapshot=21 10:05:33.921 event (+2.94163975s) message="tidy: ... module lookup disabled by GOPROXY=off 10:05:33.921 start cache.snapshot.ModTidy 10:05:33.921 end cache.snapshot.ModTidy (+51.625µs) 10:05:33.923 start snapshot.Analyze 10:05:33.923 start cache.snapshot.PackageDiagnostics 10:05:36.819 end cache.snapshot.PackageDiagnostics (+2.896602542s) 10:05:33.923 start cache.forEachPackage packages=375 10:05:36.819 end cache.forEachPackage (+2.896547166s) packages=375 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 end cache.typeCheckBatch.importPackage (+173.375µs) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+230.959µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+91.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+345.667µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+360.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+166.334µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+54.584µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+956.875µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.063125ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.104708ms) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+896.208µs) 10:05:33.947 end cache.typeCheckBatch.importPackage (+195.5µs) 10:05:33.947 start cache.typeCheckBatch.checkPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+877.75µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+917.958µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+891.584µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+857.416µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.959µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+582.875µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+883.292µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+846.791µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+881.791µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+618.625µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+897.75µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+183.959µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+297.5µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+856.917µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+615.708µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+60.458µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+154.459µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+331.792µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+176.209µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.812292ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+325.458µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.150334ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+298.042µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.963583ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.202083ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.0205ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 end cache.typeCheckBatch.importPackage (+145.958µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.414041ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+5.097292ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.081458ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+244.25µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.9345ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.644ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.979ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+2.457042ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+110.75µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+161.166µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.014625ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+28.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.34125ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.422041ms) 10:05:33.951 start cache.typeCheckBatch.checkPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.314875ms) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+65.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.34925ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.74775ms) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.125µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+199.833µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.103917ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.441083ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+635.333µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+401µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.575333ms) 10:05:33.952 end cache.typeCheckBatch.importPackage (+1.766ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+645.833µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+7.349ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+6.320792ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.497417ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.29025ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+304.542µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+257.958µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+122.708µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+133.417µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+488.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+119.917µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+111µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+112.833µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+421.334µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+100.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+97.542µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+95.708µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+119.166µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+107.125µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+124.333µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+102.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.240458ms) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.994208ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+425.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.76525ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+423.959µs) 10:05:33.955 end cache.typeCheckBatch.checkPackage (+3.791875ms) 10:05:33.955 start cache.typeCheckBatch.checkPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+10.237583ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+9.275084ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.955 end cache.typeCheckBatch.importPackage (+8.408208ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+5.617292ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+8.508417ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+7.02175ms) 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.961 end cache.typeCheckBatch.checkPackage (+6.619875ms) 10:05:34.018 end cache.typeCheckBatch.checkPackage (+62.004ms) 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 end cache.typeCheckBatch.checkPackage (+685.458µs) 10:05:34.022 end cache.typeCheckBatch.checkPackage (+4.431375ms) 10:05:34.075 end cache.typeCheckBatch.checkPackage (+119.14925ms) 10:05:36.819 end cache.typeCheckBatch.checkPackage (+2.872711375s) 10:05:36.968 end snapshot.Analyze (+3.044961459s) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+53.583µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+44.584µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+71µs) 10:05:33.979 end cache.ParseGoSrc (+138.459µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+100.792µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+226.75µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+339.041µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+24.25µs) 10:05:33.979 end cache.ParseGoSrc (+44.959µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+39.542µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+61.959µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+440.542µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+414µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+213.125µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+411.708µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+143.834µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+198.542µs) 10:05:33.980 end cache.ParseGoSrc (+17.375µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+299.916µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+93.833µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+61µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+98.875µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+117.834µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+229.709µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+112.167µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+38.084µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+316.792µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+64.542µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+521.583µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+22.792µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+104.625µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+23.708µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+54.959µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+50.833µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+35µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+106.667µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+21.625µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+30.333µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+144.042µs) 10:05:33.981 end cache.ParseGoSrc (+239.333µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+634.792µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+68.625µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+43.291µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+134.416µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+134.125µs) 10:05:33.981 end cache.ParseGoSrc (+38.75µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+20.333µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+180.417µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+114.125µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+18.709µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+289.542µs) 10:05:33.981 end cache.ParseGoSrc (+19.5µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+153.958µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+592.125µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+542.917µs) 10:05:33.982 end cache.ParseGoSrc (+398.25µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+40.792µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+15.917µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+150.708µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+136.417µs) 10:05:33.982 end cache.ParseGoSrc (+480.084µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+61.75µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+162.959µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+206.875µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+18.833µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+242.416µs) 10:05:33.982 end cache.ParseGoSrc (+2.5115ms) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+135.083µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+336.542µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+269.459µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+307.292µs) 10:05:33.983 end cache.ParseGoSrc (+421.417µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+206.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+71.792µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+15.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+98µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+74.083µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+75.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+171.625µs) 10:05:33.983 end cache.ParseGoSrc (+38.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+34.542µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+35.334µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+151.458µs) 10:05:33.983 end cache.ParseGoSrc (+162.25µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+541.333µs) 10:05:33.983 end cache.ParseGoSrc (+170.959µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+56.542µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+142.291µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+62.708µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+185.209µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+330.708µs) 10:05:33.983 end cache.ParseGoSrc (+201.917µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+37.166µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+120.209µs) 10:05:33.983 end cache.ParseGoSrc (+540.875µs) 10:05:33.983 end cache.ParseGoSrc (+113.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+34.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+80.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+306.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+192.417µs) 10:05:33.984 end cache.ParseGoSrc (+78.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+164.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+109.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+359.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+134.083µs) 10:05:33.984 end cache.ParseGoSrc (+73.583µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+91.208µs) 10:05:33.984 end cache.ParseGoSrc (+683.917µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+812.792µs) 10:05:33.984 end cache.ParseGoSrc (+208.083µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+65.084µs) 10:05:33.984 end cache.ParseGoSrc (+163.083µs) 10:05:33.984 end cache.ParseGoSrc (+202.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+77.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+115.375µs) 10:05:33.985 end cache.ParseGoSrc (+61.791µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+229.25µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+473.042µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+391.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+168.333µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+188.708µs) 10:05:33.985 end cache.ParseGoSrc (+251.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+280.084µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+256µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+337.625µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+846.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+153.416µs) 10:05:33.986 end cache.ParseGoSrc (+285.708µs) 10:05:33.986 end cache.ParseGoSrc (+149.583µs) 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+38.5µs) 10:05:33.986 end cache.ParseGoSrc (+101.75µs) 10:05:33.986 end cache.ParseGoSrc (+461.5µs) 10:05:33.986 end cache.ParseGoSrc (+222.542µs) 10:05:36.968 start Server.publishDiagnostics 10:05:36.968 end Server.publishDiagnostics (+61.875µs) 10:05:36.968 end Server.diagnoseSnapshot (+5.988188625s) snapshot=21 10:05:31.000 start Server.diagnoseChangedFiles snapshot=21 10:05:32.931 end Server.diagnoseChangedFiles (+1.930986708s) snapshot=21 10:05:31.000 start cache.snapshot.PackageDiagnostics 10:05:32.931 end cache.snapshot.PackageDiagnostics (+1.930934s) 10:05:31.000 start cache.forEachPackage packages=1 10:05:32.931 end cache.forEachPackage (+1.930917833s) packages=1 10:05:31.002 start cache.typeCheckBatch.checkPackage 10:05:32.931 end cache.typeCheckBatch.checkPackage (+1.928451875s) 10:05:32.931 start Server.publishDiagnostics 10:05:32.931 end Server.publishDiagnostics (+138.583µs) 10:05:32.931 start textDocument/publishDiagnostics method="textDocument/publishDiagnostics" direction="out" 10:05:32.931 end textDocument/publishDiagnostics (+69.292µs) method="textDocument/publishDiagnostics" direction="out" 10:05:32.931 event (+1.951336333s) label= status.code="OK" 10:05:33.912 start Server.diagnose snapshot=21 10:05:36.968 end Server.diagnose (+3.055607042s) snapshot=21 10:05:33.912 start work.Diagnostics snapshot=21 10:05:33.912 end work.Diagnostics (+24.75µs) snapshot=21 10:05:33.912 start mod.Diagnostics snapshot=21 10:05:33.913 end mod.Diagnostics (+100.083µs) snapshot=21 10:05:33.913 start mod.UpgradeDiagnostics snapshot=21 10:05:33.913 end mod.UpgradeDiagnostics (+55.958µs) snapshot=21 10:05:33.913 start mod.VulnerabilityDiagnostics snapshot=21 10:05:33.913 end mod.VulnerabilityDiagnostics (+43.208µs) snapshot=21 10:05:33.921 start mod.Diagnostics snapshot=21 10:05:33.921 end mod.Diagnostics (+301.75µs) snapshot=21 10:05:33.921 event (+2.94163975s) message="tidy: diagnosing file:///Users/mischka/projects/meter/api/go.mod" error=err: exit status 1: stderr: go: downloading golang.org/x/crypto v0.22.0 go: downloading golang.org/x/sync v0.7.0 go: downloading golang.org/x/sys v0.19.0 go: downloading github.com/urfave/cli/v2 v2.27.1 go: downloading golang.org/x/net v0.24.0 go: downloading golang.org/x/term v0.19.0 go: downloading github.com/sosodev/duration v1.2.0 go: downloading golang.org/x/mod v0.17.0 go: github.com/meterup/api/src/api imports golang.org/x/crypto/ssh: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports golang.org/x/sync/errgroup: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports golang.org/x/sys/unix: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/gubbins imports golang.org/x/crypto/sha3: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/storage imports golang.org/x/net/publicsuffix: module lookup disabled by GOPROXY=off go: github.com/meterup/api imports github.com/99designs/gqlgen imports github.com/urfave/cli/v2: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/getsentry/sentry-go imports golang.org/x/sys/execabs: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/inconshreveable/log15 imports golang.org/x/term: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/kevinburke/nacl imports golang.org/x/crypto/salsa20/salsa: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/prometheus/client_golang/prometheus imports golang.org/x/sys/windows: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth/bearer imports github.com/o1egl/paseto/v2 imports golang.org/x/crypto/blake2b: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth/bearer imports github.com/o1egl/paseto/v2 imports golang.org/x/crypto/chacha20poly1305: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth/bearer imports github.com/o1egl/paseto/v2 imports golang.org/x/crypto/ed25519: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth/bearer imports github.com/o1egl/paseto/v2 imports golang.org/x/crypto/hkdf: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/graphql/authv2 imports github.com/99designs/gqlgen/graphql imports github.com/sosodev/duration: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/handlers imports github.com/jackc/pgx/v5/pgconn imports golang.org/x/crypto/pbkdf2: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/internal/logic/v2 imports golang.zx2c4.com/wireguard/wgctrl/wgtypes imports golang.org/x/crypto/curve25519: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/lifecycle imports github.com/cloudflare/cloudflare-go imports golang.org/x/net/idna: module lookup disabled by GOPROXY=off go: github.com/meterup/api/clickhouse/postgresmirroring imports gopkg.in/yaml.v2 tested by gopkg.in/yaml.v2.test imports gopkg.in/check.v1: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/99designs/gqlgen/graphql/playground tested by github.com/99designs/gqlgen/graphql/playground.test imports github.com/PuerkitoBio/goquery: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/getsentry/sentry-go tested by github.com/getsentry/sentry-go.test imports github.com/go-errors/errors: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/getsentry/sentry-go tested by github.com/getsentry/sentry-go.test imports github.com/pingcap/errors: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/launchdarkly/go-server-sdk/v6 imports github.com/launchdarkly/go-server-sdk/v6/internal/datastore imports golang.org/x/sync/singleflight: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/launchdarkly/go-server-sdk/v6 tested by github.com/launchdarkly/go-server-sdk/v6.test imports github.com/launchdarkly/go-test-helpers/v3: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/launchdarkly/go-server-sdk/v6 tested by github.com/launchdarkly/go-server-sdk/v6.test imports github.com/launchdarkly/go-test-helpers/v3/httphelpers: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/launchdarkly/go-server-sdk/v6/ldcomponents tested by github.com/launchdarkly/go-server-sdk/v6/ldcomponents.test imports github.com/launchdarkly/go-test-helpers/v3/matchers: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego tested by github.com/open-policy-agent/opa/rego.test imports github.com/fortytw2/leaktest: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/topdown tested by github.com/open-policy-agent/opa/topdown.test imports github.com/foxcpp/go-mockdns: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/clients/scheduler imports github.com/kevinburke/nacl/secretbox imports github.com/kevinburke/nacl/onetimeauth imports golang.org/x/crypto/poly1305: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports modernc.org/sqlite: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/data-backfills/2023-10-30-launchdarkly-notification-preferences imports github.com/launchdarkly/go-server-sdk-evaluation/v2/ldmodel tested by github.com/launchdarkly/go-server-sdk-evaluation/v2/ldmodel.test imports github.com/launchdarkly/go-test-helpers/v3/jsonhelpers: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/deviceeventsmessenger imports github.com/slack-go/slack tested by github.com/slack-go/slack.test imports github.com/go-test/deep: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/envconfig imports github.com/segmentio/kafka-go tested by github.com/segmentio/kafka-go.test imports golang.org/x/net/nettest: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/graphql/directives imports github.com/go-playground/validator/v10 tested by github.com/go-playground/validator/v10.test imports github.com/go-playground/assert/v2: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/graphql/generated imports github.com/vektah/gqlparser/v2/ast tested by github.com/vektah/gqlparser/v2/ast.test imports github.com/andreyvit/diff: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/internal/db imports github.com/jackc/pgx/v5/pgxpool imports github.com/jackc/puddle/v2 imports golang.org/x/sync/semaphore: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/thirdparty/googlemaps imports googlemaps.github.io/maps tested by googlemaps.github.io/maps.test imports github.com/sergi/go-diff/diffmatchpatch: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/thirdparty/twilio imports github.com/twilio/twilio-go tested by github.com/twilio/twilio-go.test imports github.com/localtunnel/go-localtunnel: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego tested by github.com/open-policy-agent/opa/rego.test imports github.com/open-policy-agent/opa/storage/disk imports github.com/dgraph-io/badger/v3: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/go-sql-driver/mysql: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ory/dockertest/v3: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ory/dockertest/v3/docker: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ory/dockertest/v3/docker/types: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/vertica/vertica-sql-go: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ydb-platform/ydb-go-sdk/v3: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ydb-platform/ydb-go-sdk/v3/balancers: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ydb-platform/ydb-go-sdk/v3/log: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/cmd/goose imports github.com/pressly/goose/v3 tested by github.com/pressly/goose/v3.test imports github.com/pressly/goose/v3/internal/testdb imports github.com/ydb-platform/ydb-go-sdk/v3/trace: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/test/client tested by github.com/meterup/api/src/test/client.test imports golang.org/x/tools/go/packages imports golang.org/x/tools/internal/gocommand imports golang.org/x/mod/semver: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/thirdparty/aws imports github.com/aws/aws-sdk-go/service/s3 tested by github.com/aws/aws-sdk-go/service/s3.test imports github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamtest imports golang.org/x/net/http2: module lookup disabled by GOPROXY=off go: github.com/meterup/api imports github.com/Khan/genqlient imports github.com/Khan/genqlient/generate imports golang.org/x/tools/imports imports golang.org/x/tools/internal/imports imports golang.org/x/mod/module: module lookup disabled by GOPROXY=off go: github.com/meterup/api imports github.com/Khan/genqlient imports github.com/Khan/genqlient/generate tested by github.com/Khan/genqlient/generate.test imports github.com/Khan/genqlient/internal/testutil imports github.com/bradleyjkemp/cupaloy/v2: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/launchdarkly/go-server-sdk/v6 imports github.com/launchdarkly/go-server-sdk/v6/internal/datasource imports github.com/launchdarkly/eventsource tested by github.com/launchdarkly/eventsource.test imports github.com/launchdarkly/go-test-helpers/v2/httphelpers: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/api imports github.com/launchdarkly/go-server-sdk/v6 imports github.com/launchdarkly/go-server-sdk/v6/subsystems/ldstoreimpl imports github.com/launchdarkly/ccache tested by github.com/launchdarkly/ccache.test imports github.com/karlseguin/expect: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins imports go.opentelemetry.io/otel/sdk/trace imports go.opentelemetry.io/otel/sdk/resource imports golang.org/x/sys/windows/registry: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/topdown imports github.com/open-policy-agent/opa/internal/gqlparser/validator imports github.com/agnivade/levenshtein tested by github.com/agnivade/levenshtein.test imports github.com/arbovm/levenshtein: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/topdown imports github.com/open-policy-agent/opa/internal/gqlparser/validator imports github.com/agnivade/levenshtein tested by github.com/agnivade/levenshtein.test imports github.com/dgryski/trifles/leven: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/envconfig imports github.com/aws/aws-sdk-go/service/kafka imports github.com/aws/aws-sdk-go/aws/awsutil imports github.com/jmespath/go-jmespath tested by github.com/jmespath/go-jmespath.test imports github.com/jmespath/go-jmespath/internal/testify/assert: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/envconfig imports github.com/segmentio/kafka-go imports github.com/segmentio/kafka-go/sasl tested by github.com/segmentio/kafka-go/sasl.test imports github.com/segmentio/kafka-go/sasl/scram imports github.com/xdg-go/scram: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/test/client tested by github.com/meterup/api/src/test/client.test imports golang.org/x/tools/go/packages tested by golang.org/x/tools/go/packages.test imports golang.org/x/tools/internal/testenv imports golang.org/x/mod/modfile: module lookup disabled by GOPROXY=off go: github.com/meterup/api/clickhouse/backfills/2023-09-11-backfill-active-clients imports github.com/ClickHouse/clickhouse-go/v2 imports github.com/ClickHouse/ch-go/proto imports github.com/segmentio/asm/bswap imports github.com/segmentio/asm/cpu imports github.com/segmentio/asm/cpu/arm imports golang.org/x/sys/cpu: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace imports go.opentelemetry.io/proto/otlp/trace/v1: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc imports go.opentelemetry.io/proto/otlp/collector/trace/v1: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports google.golang.org/grpc/credentials imports github.com/golang/protobuf/proto: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego tested by github.com/open-policy-agent/opa/rego.test imports github.com/open-policy-agent/opa/features/wasm imports github.com/open-policy-agent/opa/internal/wasm/sdk/opa imports github.com/open-policy-agent/opa/internal/wasm/sdk/internal/wasm imports github.com/bytecodealliance/wasmtime-go/v3: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/thirdparty/googlemaps imports googlemaps.github.io/maps imports googlemaps.github.io/maps/metrics imports go.opencensus.io/stats tested by go.opencensus.io/stats.test imports go.opencensus.io/trace imports github.com/golang/groupcache/lru: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports github.com/open-policy-agent/opa/features/tracing imports go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp imports github.com/felixge/httpsnoop: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform imports go.opentelemetry.io/proto/otlp/common/v1: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform imports go.opentelemetry.io/proto/otlp/resource/v1: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry imports github.com/cenkalti/backoff/v4: github.com/sosodev/duration@v1.2.0: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc imports google.golang.org/grpc imports golang.org/x/net/trace: module lookup disabled by GOPROXY=off go: github.com/meterup/api/src/auth imports github.com/open-policy-agent/opa/rego imports github.com/open-policy-agent/opa/plugins tested by github.com/open-policy-agent/opa/plugins.test imports github.com/open-policy-agent/opa/internal/distributedtracing imports go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc imports google.golang.org/grpc imports google.golang.org/grpc/internal/transport imports golang.org/x/net/http2/hpack: module lookup disabled by GOPROXY=off 10:05:33.921 start cache.snapshot.ModTidy 10:05:33.921 end cache.snapshot.ModTidy (+51.625µs) 10:05:33.923 start snapshot.Analyze 10:05:33.923 start cache.snapshot.PackageDiagnostics 10:05:36.819 end cache.snapshot.PackageDiagnostics (+2.896602542s) 10:05:33.923 start cache.forEachPackage packages=375 10:05:36.819 end cache.forEachPackage (+2.896547166s) packages=375 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.945 end cache.typeCheckBatch.importPackage (+173.375µs) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+230.959µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+91.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+345.667µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+360.125µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+166.334µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+54.584µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+956.875µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.063125ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+1.104708ms) 10:05:33.945 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+896.208µs) 10:05:33.947 end cache.typeCheckBatch.importPackage (+195.5µs) 10:05:33.947 start cache.typeCheckBatch.checkPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+877.75µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+917.958µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+891.584µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+857.416µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.959µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+582.875µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+883.292µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+846.791µs) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+881.791µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+618.625µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+897.75µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+183.959µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+297.5µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+856.917µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+615.708µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+60.458µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+154.459µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+331.792µs) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+176.209µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.812292ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+325.458µs) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.150334ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+298.042µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.963583ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.202083ms) 10:05:33.950 end cache.typeCheckBatch.importPackage (+5.0205ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.947 end cache.typeCheckBatch.importPackage (+145.958µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.414041ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+5.097292ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.081458ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+244.25µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.9345ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.644ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+4.979ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+2.457042ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+110.75µs) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.946 end cache.typeCheckBatch.importPackage (+161.166µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+2.014625ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+28.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.34125ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.422041ms) 10:05:33.951 start cache.typeCheckBatch.checkPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.314875ms) 10:05:33.950 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+65.75µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.34925ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.74775ms) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+204.125µs) 10:05:33.948 start cache.typeCheckBatch.importPackage 10:05:33.948 end cache.typeCheckBatch.importPackage (+199.833µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+1.103917ms) 10:05:33.951 end cache.typeCheckBatch.importPackage (+3.441083ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+635.333µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+401µs) 10:05:33.951 end cache.typeCheckBatch.importPackage (+2.575333ms) 10:05:33.952 end cache.typeCheckBatch.importPackage (+1.766ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+645.833µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+7.349ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+6.320792ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.497417ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+3.29025ms) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+304.542µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+257.958µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.951 end cache.typeCheckBatch.importPackage (+122.708µs) 10:05:33.951 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+133.417µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+488.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+119.917µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+111µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+112.833µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+421.334µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+100.083µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+97.542µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.952 end cache.typeCheckBatch.importPackage (+95.708µs) 10:05:33.952 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+119.166µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+107.125µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+124.333µs) 10:05:33.953 start cache.typeCheckBatch.importPackage 10:05:33.953 end cache.typeCheckBatch.importPackage (+102.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.240458ms) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.994208ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.949 end cache.typeCheckBatch.importPackage (+425.375µs) 10:05:33.953 end cache.typeCheckBatch.importPackage (+4.76525ms) 10:05:33.949 start cache.typeCheckBatch.importPackage 10:05:33.950 end cache.typeCheckBatch.importPackage (+423.959µs) 10:05:33.955 end cache.typeCheckBatch.checkPackage (+3.791875ms) 10:05:33.955 start cache.typeCheckBatch.checkPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+10.237583ms) 10:05:33.946 start cache.typeCheckBatch.importPackage 10:05:33.956 end cache.typeCheckBatch.importPackage (+9.275084ms) 10:05:33.947 start cache.typeCheckBatch.importPackage 10:05:33.955 end cache.typeCheckBatch.importPackage (+8.408208ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+5.617292ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+8.508417ms) 10:05:33.956 end cache.typeCheckBatch.importPackage (+7.02175ms) 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.956 start cache.typeCheckBatch.checkPackage 10:05:33.961 end cache.typeCheckBatch.checkPackage (+6.619875ms) 10:05:34.018 end cache.typeCheckBatch.checkPackage (+62.004ms) 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 start cache.typeCheckBatch.checkPackage 10:05:34.018 end cache.typeCheckBatch.checkPackage (+685.458µs) 10:05:34.022 end cache.typeCheckBatch.checkPackage (+4.431375ms) 10:05:34.075 end cache.typeCheckBatch.checkPackage (+119.14925ms) 10:05:36.819 end cache.typeCheckBatch.checkPackage (+2.872711375s) 10:05:36.968 end snapshot.Analyze (+3.044961459s) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+53.583µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+44.584µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+71µs) 10:05:33.979 end cache.ParseGoSrc (+138.459µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+100.792µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+226.75µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+339.041µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+24.25µs) 10:05:33.979 end cache.ParseGoSrc (+44.959µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+39.542µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+61.959µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+440.542µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+414µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.979 end cache.ParseGoSrc (+213.125µs) 10:05:33.979 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+411.708µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+143.834µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+198.542µs) 10:05:33.980 end cache.ParseGoSrc (+17.375µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+299.916µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+93.833µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+61µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+98.875µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+117.834µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+229.709µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+112.167µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+38.084µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+316.792µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+64.542µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+521.583µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+22.792µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+104.625µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+23.708µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+54.959µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+50.833µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+35µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+106.667µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+21.625µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.980 end cache.ParseGoSrc (+30.333µs) 10:05:33.980 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+144.042µs) 10:05:33.981 end cache.ParseGoSrc (+239.333µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+634.792µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+68.625µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+43.291µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+134.416µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+134.125µs) 10:05:33.981 end cache.ParseGoSrc (+38.75µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+20.333µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+180.417µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+114.125µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+18.709µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+289.542µs) 10:05:33.981 end cache.ParseGoSrc (+19.5µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+153.958µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.981 end cache.ParseGoSrc (+592.125µs) 10:05:33.981 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+542.917µs) 10:05:33.982 end cache.ParseGoSrc (+398.25µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+40.792µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+15.917µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+150.708µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+136.417µs) 10:05:33.982 end cache.ParseGoSrc (+480.084µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+61.75µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+162.959µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+206.875µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+18.833µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+242.416µs) 10:05:33.982 end cache.ParseGoSrc (+2.5115ms) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+135.083µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+336.542µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.982 end cache.ParseGoSrc (+269.459µs) 10:05:33.982 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+307.292µs) 10:05:33.983 end cache.ParseGoSrc (+421.417µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+206.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+71.792µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+15.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+98µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+74.083µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+75.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+171.625µs) 10:05:33.983 end cache.ParseGoSrc (+38.208µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+34.542µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+35.334µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+151.458µs) 10:05:33.983 end cache.ParseGoSrc (+162.25µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+541.333µs) 10:05:33.983 end cache.ParseGoSrc (+170.959µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+56.542µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+142.291µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+62.708µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+185.209µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+330.708µs) 10:05:33.983 end cache.ParseGoSrc (+201.917µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+37.166µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 end cache.ParseGoSrc (+120.209µs) 10:05:33.983 end cache.ParseGoSrc (+540.875µs) 10:05:33.983 end cache.ParseGoSrc (+113.125µs) 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.983 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+34.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+80.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+306.875µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+192.417µs) 10:05:33.984 end cache.ParseGoSrc (+78.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+164.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+109.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+359.958µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+134.083µs) 10:05:33.984 end cache.ParseGoSrc (+73.583µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+91.208µs) 10:05:33.984 end cache.ParseGoSrc (+683.917µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+812.792µs) 10:05:33.984 end cache.ParseGoSrc (+208.083µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+65.084µs) 10:05:33.984 end cache.ParseGoSrc (+163.083µs) 10:05:33.984 end cache.ParseGoSrc (+202.5µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 start cache.ParseGoSrc 10:05:33.984 end cache.ParseGoSrc (+77.25µs) 10:05:33.984 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+115.375µs) 10:05:33.985 end cache.ParseGoSrc (+61.791µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+229.25µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+473.042µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+391.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+168.333µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+188.708µs) 10:05:33.985 end cache.ParseGoSrc (+251.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+280.084µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+256µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+337.625µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.985 end cache.ParseGoSrc (+846.417µs) 10:05:33.985 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+153.416µs) 10:05:33.986 end cache.ParseGoSrc (+285.708µs) 10:05:33.986 end cache.ParseGoSrc (+149.583µs) 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 start cache.ParseGoSrc 10:05:33.986 end cache.ParseGoSrc (+38.5µs) 10:05:33.986 end cache.ParseGoSrc (+101.75µs) 10:05:33.986 end cache.ParseGoSrc (+461.5µs) 10:05:33.986 end cache.ParseGoSrc (+222.542µs) 10:05:36.968 start Server.publishDiagnostics 10:05:36.968 end Server.publishDiagnostics (+61.875µs)
We've actually binary searched by deleting code and found that the issue was not this library with its many methods, it's a separate codegen library https://github.com/sqlc-dev/sqlc which generates an interface with ~1000 methods. Deleting the interface but keeping the implementation structs makes everything fast again.
@jacobmischka Presumably there was a use for the interface? While such a large interface seems esoteric it would still be good (for us) to know where the issue with compilation is. Is it just the presence of the interface or some particular use of it? Do you know?
Here's the PR in the library that implements the feature: https://github.com/sqlc-dev/sqlc/pull/240
In brief, the library exposes both a struct that represents a database connection, and a separate struct that represents a database transaction. The interface represents either, so if the consumer doesn't care whether it's in a transaction or not it can use that.
Edit: Oh sorry, I didn't answer your question. Just deleting the methods from the interface makes gopls instantly fast (despite obviously most of our code no longer working and having diagnostic errors). I think that suggests it's just the presence of the interface?
The PR you mention shows a small-ish interface. Presumably there's a much larger one, or this one grew eventually to the huge size, is that correct?
Obviously, having the interface is causing the slow-down, but your code is also not working anymore, which is of course not what you want. For us it would be good to have a concrete test case (it may suffice to generate an artificial interface with 1000 methods and and corresponding structs that satisfy the interface) - this would allow us to profile this case and find out if there's anything that can be done about it.
Do you need a single huge interface? Maybe you can make your code work with a set of smaller interfaces that have exactly (more or less) the methods that you need.
Sorry, the PR I linked is for the library that generates it, just for context. Its usage in our code base has generated an interface with 1250 functions now. We're currently looking into refactoring to remove the interface. Will also look a minimal reproduction.
Unfortunately, a basic reproduction with almost 5000 functions in the interface doesn't immediately reproduce the issue :/
https://gist.github.com/jacobmischka/6d41f0c3361db29eaa3115e469132315
Okay, we've found the root cause (embedding the struct which implements that large interface into another struct, which is itself a field in the other non-interface struct with 4500 methods on it) and I'll stop prematurely updating. Will write back with final learnings once we've finished refactoring.
@jacobmischka I’ve encountered a similar issue with slow autocompletion. In a large package with a very large number of constants (around 15,000+, generated by an automated script) and many exported variables, autocompletion takes 4-5 seconds to respond. Additionally, having many exported functions in a large package also causes the same problem.
In a discussion of gopls performance issues on #66647, a user is reporting difficulty working in a package that has a very large (140K lines) amount of code gen. Tracing showed that type checking that package was taking 2s.
Looking at their profile, it seems that almost almost all the time is spent in the
assignableTo
predicate. I'm guessing that the generated code assigns a lot of values of the same type. I wonder if we should consider caching predicates during the type checking pass. In this case it appears that may reduce type checking by an order of magnitude. Would this be an overfit solution?Trace profile checkPackage
Originally posted by @jacobmischka in https://github.com/golang/go/issues/66647#issuecomment-2040075084