Add logging for MD language features (#152792)

This verbose logging will help track down inefficient calling patterns (such as recomputing stuff)
This commit is contained in:
Matt Bierner
2022-06-21 14:18:36 -07:00
committed by GitHub
parent 4ae2e2ddfd
commit d5a75f2ceb
23 changed files with 105 additions and 52 deletions

View File

@@ -14,6 +14,7 @@ import { Disposable } from '../util/dispose';
import { getUriForLinkWithKnownExternalScheme, isOfScheme, Schemes } from '../util/schemes';
import { MdWorkspaceContents, SkinnyTextDocument } from '../workspaceContents';
import { MdDocumentInfoCache } from '../util/workspaceCache';
import { ILogger } from '../logging';
const localize = nls.loadMessageBundle();
@@ -438,10 +439,14 @@ export class MdLinkProvider extends Disposable {
constructor(
tokenizer: IMdParser,
workspaceContents: MdWorkspaceContents,
logger: ILogger,
) {
super();
this.linkComputer = new MdLinkComputer(tokenizer);
this._linkCache = this._register(new MdDocumentInfoCache(workspaceContents, doc => this.linkComputer.getAllLinks(doc, noopToken)));
this._linkCache = this._register(new MdDocumentInfoCache(workspaceContents, doc => {
logger.verbose('LinkProvider', `compute - ${doc.uri}`);
return this.linkComputer.getAllLinks(doc, noopToken);
}));
}
public async getLinks(document: SkinnyTextDocument): Promise<{