From c7341d75ba1c62188c03dfc0e4014e4a269abe47 Mon Sep 17 00:00:00 2001 From: Thijs Louisse Date: Fri, 17 May 2024 20:35:41 +0200 Subject: [PATCH] feat(providence): add perf logs to LogService --- .../src/program/core/LogService.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages-node/providence-analytics/src/program/core/LogService.js b/packages-node/providence-analytics/src/program/core/LogService.js index 6c924555a..ca7bc90ed 100644 --- a/packages-node/providence-analytics/src/program/core/LogService.js +++ b/packages-node/providence-analytics/src/program/core/LogService.js @@ -97,11 +97,25 @@ export class LogService { log(colors.fgBlue, ` info${printTitle(title)}`, colors.reset, text); } + /** + * @param {PerformanceMeasure} measurement + * @param {string} [title] + */ + static perf(measurement, title) { + const text = `${this.pad(`[${measurement.name}]`)} ${measurement.duration}ms`; + // @ts-ignore + this._logHistory.push(`- perf -${printTitle(title)} ${text}`); + if (this.allMuted || !this.perfEnabled) { + return; + } + log(colors.fgGray, ` perf${printTitle(title)}`, colors.reset, text); + } + /** * @param {string} text * @param {number} minChars */ - static pad(text, minChars = 20) { + static pad(text, minChars = 40) { let result = text; const padding = minChars - text.length; if (padding > 0) { @@ -127,6 +141,7 @@ export class LogService { LogService.debugEnabled = false; LogService.allMuted = false; LogService.throwsOnError = false; +LogService.perfEnabled = false; /** @type {string[]} */ LogService._logHistory = [];