golang / go

The Go programming language
https://go.dev
BSD 3-Clause "New" or "Revised" License
122.17k stars 17.46k forks source link

go/types: slow type checking with thousands of methods on a type #66699

Open findleyr opened 4 months ago

findleyr commented 4 months ago

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?

This project has quite a lot of generated code, yes (much to my dismay). Some of the generated files are quite large (almost 140k lines, lol), and there are a fair number of large dependencies in the project.

Here's the profile, let me know if you'd like me to run it again or for longer duration.

Trace profile checkPackage
File: gopls
Type: cpu
Time: Apr 5, 2024 at 10:13am (CDT)
Duration: 10.11s, Total samples = 11.82s (116.95%)
Entering interactive mode (type "help" for commands, "o" for options)
(pprof) top 50 -cum checkPackage
Active filters:
   focus=checkPackage
Showing nodes accounting for 4.70s, 39.76% of 11.82s total
Dropped 87 nodes (cum <= 0.06s)
Showing top 50 nodes out of 73
      flat  flat%   sum%        cum   cum%
         0     0%     0%      5.35s 45.26%  go/types.(*Checker).Files (inline)
         0     0%     0%      5.35s 45.26%  go/types.(*Checker).checkFiles
         0     0%     0%      5.35s 45.26%  go/types.(*Checker).funcBody
         0     0%     0%      5.35s 45.26%  go/types.(*Checker).funcDecl.func1
         0     0%     0%      5.35s 45.26%  go/types.(*Checker).processDelayed
     0.01s 0.085% 0.085%      5.35s 45.26%  go/types.(*Checker).stmt
         0     0% 0.085%      5.35s 45.26%  go/types.(*Checker).stmtList
         0     0% 0.085%      5.35s 45.26%  golang.org/x/sync/errgroup.(*Group).Go.func1
         0     0% 0.085%      5.35s 45.26%  golang.org/x/tools/gopls/internal/cache.(*Snapshot).forEachPackageInternal.func2
         0     0% 0.085%      5.35s 45.26%  golang.org/x/tools/gopls/internal/cache.(*typeCheckBatch).checkPackage
         0     0% 0.085%      5.35s 45.26%  golang.org/x/tools/gopls/internal/cache.(*typeCheckBatch).handleSyntaxPackage
         0     0% 0.085%      5.28s 44.67%  go/types.(*Checker).rawExpr
         0     0% 0.085%      5.27s 44.59%  go/types.(*Checker).exprInternal
         0     0% 0.085%      5.22s 44.16%  go/types.(*Checker).callExpr
         0     0% 0.085%      5.02s 42.47%  go/types.(*Checker).arguments
         0     0% 0.085%      4.98s 42.13%  go/types.(*Checker).assignment
         0     0% 0.085%      4.96s 41.96%  go/types.(*Checker).implements
     0.02s  0.17%  0.25%      4.96s 41.96%  go/types.(*Checker).missingMethod
         0     0%  0.25%      4.96s 41.96%  go/types.(*operand).assignableTo
     0.03s  0.25%  0.51%      4.85s 41.03%  go/types.lookupFieldOrMethodImpl
         0     0%  0.51%      3.62s 30.63%  go/types.(*Checker).multiExpr
         0     0%  0.51%      3.44s 29.10%  go/types.(*Checker).initVars
         0     0%  0.51%      3.35s 28.34%  go/types.(*Checker).shortVarDecl
     0.04s  0.34%  0.85%      2.54s 21.49%  runtime.growslice
     0.50s  4.23%  5.08%      2.36s 19.97%  runtime.mallocgc
     0.03s  0.25%  5.33%      1.93s 16.33%  go/types.(*Named).lookupMethod
     0.99s  8.38% 13.71%      1.93s 16.33%  go/types.lookupMethod
     1.83s 15.48% 29.19%      1.83s 15.48%  runtime.memclrNoHeapPointers
         0     0% 29.19%      1.18s  9.98%  go/types.(*Checker).expr
         0     0% 29.19%      0.97s  8.21%  go/types.(*Checker).unary
     0.88s  7.45% 36.63%      0.94s  7.95%  go/types.(*object).sameId
         0     0% 36.63%      0.91s  7.70%  runtime.(*mcache).nextFree
         0     0% 36.63%      0.91s  7.70%  runtime.(*mcache).refill
         0     0% 36.63%      0.91s  7.70%  runtime.(*mcentral).cacheSpan
         0     0% 36.63%      0.91s  7.70%  runtime.(*mcentral).grow
         0     0% 36.63%      0.89s  7.53%  runtime.(*mspan).initHeapBits
         0     0% 36.63%      0.77s  6.51%  go/types.(*Checker).simpleStmt (inline)
         0     0% 36.63%      0.76s  6.43%  go/types.concat (inline)
         0     0% 36.63%      0.29s  2.45%  go/types.(*Checker).assignVars
     0.25s  2.12% 38.75%      0.25s  2.12%  runtime.memmove
         0     0% 38.75%      0.20s  1.69%  go/types.(*Checker).rangeStmt
         0     0% 38.75%      0.17s  1.44%  go/types.consolidateMultiples
         0     0% 38.75%      0.16s  1.35%  go/types.(*Checker).genericExprList
     0.05s  0.42% 39.17%      0.14s  1.18%  go/types.(*comparer).identical
         0     0% 39.17%      0.14s  1.18%  go/types.Identical (partial-inline)
         0     0% 39.17%      0.14s  1.18%  go/types.lookupType
     0.07s  0.59% 39.76%      0.14s  1.18%  runtime.mapassign
         0     0% 39.76%      0.11s  0.93%  go/types.(*Checker).exprOrType
         0     0% 39.76%      0.11s  0.93%  runtime.newobject (partial-inline)
         0     0% 39.76%      0.09s  0.76%  go/types.(*Checker).selector

Originally posted by @jacobmischka in https://github.com/golang/go/issues/66647#issuecomment-2040075084

findleyr commented 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?

adonovan commented 4 months ago

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.

findleyr commented 4 months ago

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.

jacobmischka commented 4 months ago

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.

findleyr commented 4 months ago

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.

jacobmischka commented 4 months ago

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.

findleyr commented 4 months ago

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.

adonovan commented 4 months ago

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.

griesemer commented 4 months ago

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.

jacobmischka commented 4 months ago

If it's helpful, as a note, some coworkers use goland and they don't experience the same issue.

ericmeter commented 4 months ago

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!

findleyr commented 4 months ago

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.

jacobmischka commented 4 months ago

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).

findleyr commented 4 months ago

@jacobmischka what is your go version?

Can you share gopls -v version?

jacobmischka commented 4 months ago
$ 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.

findleyr commented 4 months ago

@jacobmischka thanks. No, upgrading won't help, but your version puts the profile above in context.

jacobmischka commented 4 months ago

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.

jacobmischka commented 4 months ago

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.

Trace
 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)
jacobmischka commented 4 months ago

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.

griesemer commented 4 months ago

@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?

jacobmischka commented 4 months ago

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?

griesemer commented 4 months ago

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.

jacobmischka commented 4 months ago

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.

jacobmischka commented 4 months ago

Unfortunately, a basic reproduction with almost 5000 functions in the interface doesn't immediately reproduce the issue :/

https://gist.github.com/jacobmischka/6d41f0c3361db29eaa3115e469132315

jacobmischka commented 4 months ago

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.

jheroy commented 3 weeks ago

@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.