LSIF: Update logging
Created by: efritz
This PR moves all of the logAndTraceSpan
to the "leaves" of the callstack where the work is non-trivial. This will help us better pin-point which of these atomic operations are happening too frequently or taking too long to occur. The following are logged:
- all gitserver requests
- all jobs
- all steps of importing a dump (correlation, canonicalization, insertion of docs, result chunks)
- insertion of dump/packages/references into the cross-repo database
- non-trivial cross-repo queries: closest-commit, update tips, update commits
- all public methods of database (defs, refs, hover, rangeByPosition, and monikerResults)
Previously we logged some of these, but some were collapsed into larger spans, which can hide the reason a request or job can take a long time.
This additionally adds metrics around gitserver requests.