@theia/core 1.71.0-next.64 → 1.71.0-next.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/browser/catalog.json +30 -2
- package/lib/browser/frontend-application-contribution.d.ts +2 -2
- package/lib/browser/frontend-application-contribution.d.ts.map +1 -1
- package/lib/browser/frontend-application.d.ts +2 -0
- package/lib/browser/frontend-application.d.ts.map +1 -1
- package/lib/browser/frontend-application.js +15 -6
- package/lib/browser/frontend-application.js.map +1 -1
- package/lib/browser/performance/frontend-stopwatch.js +1 -1
- package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
- package/lib/common/performance/index.d.ts +1 -0
- package/lib/common/performance/index.d.ts.map +1 -1
- package/lib/common/performance/index.js +1 -0
- package/lib/common/performance/index.js.map +1 -1
- package/lib/common/performance/simple-stopwatch.d.ts +18 -0
- package/lib/common/performance/simple-stopwatch.d.ts.map +1 -0
- package/lib/common/performance/simple-stopwatch.js +80 -0
- package/lib/common/performance/simple-stopwatch.js.map +1 -0
- package/lib/common/performance/stopwatch.d.ts +41 -0
- package/lib/common/performance/stopwatch.d.ts.map +1 -1
- package/lib/common/performance/stopwatch.js +89 -3
- package/lib/common/performance/stopwatch.js.map +1 -1
- package/lib/common/performance/stopwatch.spec.d.ts +2 -0
- package/lib/common/performance/stopwatch.spec.d.ts.map +1 -0
- package/lib/common/performance/stopwatch.spec.js +256 -0
- package/lib/common/performance/stopwatch.spec.js.map +1 -0
- package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application-module.js +3 -0
- package/lib/electron-main/electron-main-application-module.js.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts +2 -0
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +14 -5
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/node/backend-application.d.ts +2 -0
- package/lib/node/backend-application.d.ts.map +1 -1
- package/lib/node/backend-application.js +17 -5
- package/lib/node/backend-application.js.map +1 -1
- package/lib/node/performance/node-stopwatch.js +1 -1
- package/lib/node/performance/node-stopwatch.js.map +1 -1
- package/package.json +4 -4
- package/src/browser/frontend-application-contribution.ts +2 -2
- package/src/browser/frontend-application.ts +26 -17
- package/src/browser/performance/frontend-stopwatch.ts +1 -1
- package/src/common/performance/index.ts +1 -0
- package/src/common/performance/simple-stopwatch.ts +91 -0
- package/src/common/performance/stopwatch.spec.ts +321 -0
- package/src/common/performance/stopwatch.ts +103 -2
- package/src/electron-main/electron-main-application-module.ts +3 -0
- package/src/electron-main/electron-main-application.ts +21 -5
- package/src/node/backend-application.ts +27 -10
- package/src/node/performance/node-stopwatch.ts +1 -1
package/lib/browser/catalog.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "https://
|
|
2
|
+
"$schema": "https://www.schemastore.org/schema-catalog.json",
|
|
3
3
|
"version": 1,
|
|
4
4
|
"schemas": [
|
|
5
5
|
{
|
|
@@ -6779,7 +6779,7 @@
|
|
|
6779
6779
|
{
|
|
6780
6780
|
"name": "Ubuntu Server Autoinstall",
|
|
6781
6781
|
"description": "Settings file for Ubuntu Autoinstall",
|
|
6782
|
-
"fileMatch": ["user-data"],
|
|
6782
|
+
"fileMatch": ["user-data", "autoinstall.yaml"],
|
|
6783
6783
|
"url": "https://www.schemastore.org/ubuntu-server-autoinstall.json"
|
|
6784
6784
|
},
|
|
6785
6785
|
{
|
|
@@ -9707,6 +9707,34 @@
|
|
|
9707
9707
|
"description": "Definition for a single repository",
|
|
9708
9708
|
"fileMatch": ["raid.yaml", "raid.yml", "raid.json"],
|
|
9709
9709
|
"url": "https://raw.githubusercontent.com/8bitAlex/raid/main/schemas/raid-repo.schema.json"
|
|
9710
|
+
},
|
|
9711
|
+
{
|
|
9712
|
+
"name": "OpenDecree",
|
|
9713
|
+
"description": "OpenDecree definition file (https://opendecree.dev) — describes typed configuration fields, constraints, and metadata that the OpenDecree configuration management service serves to applications",
|
|
9714
|
+
"fileMatch": [
|
|
9715
|
+
"decree.schema.yaml",
|
|
9716
|
+
"decree.schema.yml",
|
|
9717
|
+
"*.decree.schema.yaml",
|
|
9718
|
+
"*.decree.schema.yml"
|
|
9719
|
+
],
|
|
9720
|
+
"url": "https://schemas.opendecree.dev/schema/v0.1.0/decree-schema.json",
|
|
9721
|
+
"versions": {
|
|
9722
|
+
"v0.1.0": "https://schemas.opendecree.dev/schema/v0.1.0/decree-schema.json"
|
|
9723
|
+
}
|
|
9724
|
+
},
|
|
9725
|
+
{
|
|
9726
|
+
"name": "OpenDecree Configuration",
|
|
9727
|
+
"description": "OpenDecree configuration values file (https://opendecree.dev) — concrete values for fields declared in a paired main decree yaml",
|
|
9728
|
+
"fileMatch": [
|
|
9729
|
+
"decree.config.yaml",
|
|
9730
|
+
"decree.config.yml",
|
|
9731
|
+
"*.decree.config.yaml",
|
|
9732
|
+
"*.decree.config.yml"
|
|
9733
|
+
],
|
|
9734
|
+
"url": "https://schemas.opendecree.dev/schema/v0.1.0/decree-config.json",
|
|
9735
|
+
"versions": {
|
|
9736
|
+
"v0.1.0": "https://schemas.opendecree.dev/schema/v0.1.0/decree-config.json"
|
|
9737
|
+
}
|
|
9710
9738
|
}
|
|
9711
9739
|
]
|
|
9712
9740
|
}
|
|
@@ -9,7 +9,7 @@ export interface FrontendApplicationContribution {
|
|
|
9
9
|
/**
|
|
10
10
|
* Called on application startup before configure is called.
|
|
11
11
|
*/
|
|
12
|
-
initialize?(): void
|
|
12
|
+
initialize?(): MaybePromise<void>;
|
|
13
13
|
/**
|
|
14
14
|
* Called before commands, key bindings and menus are initialized.
|
|
15
15
|
* Should return a promise if it runs asynchronously.
|
|
@@ -71,6 +71,6 @@ export declare namespace OnWillStopAction {
|
|
|
71
71
|
* methods from the interface but still want to contribute to the frontend application.
|
|
72
72
|
*/
|
|
73
73
|
export declare abstract class DefaultFrontendApplicationContribution implements FrontendApplicationContribution {
|
|
74
|
-
initialize(): void
|
|
74
|
+
initialize(): MaybePromise<void>;
|
|
75
75
|
}
|
|
76
76
|
//# sourceMappingURL=frontend-application-contribution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE;;GAEG;AACH,eAAO,MAAM,+BAA+B,eAA4C,CAAC;AACzF,MAAM,WAAW,+BAA+B;IAE5C;;OAEG;IACH,UAAU,CAAC,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAGlE;;GAEG;AACH,eAAO,MAAM,+BAA+B,eAA4C,CAAC;AACzF,MAAM,WAAW,+BAA+B;IAE5C;;OAEG;IACH,UAAU,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAElC;;;OAGG;IACH,SAAS,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEzD;;;OAGG;IACH,OAAO,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEvD;;;;OAIG;IACH,UAAU,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,GAAG,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEvF;;;;;OAKG;IACH,MAAM,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAExC;;;OAGG;IACH,gBAAgB,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEhE;;OAEG;IACH,qBAAqB,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IACzC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;IACvD;;OAEG;IACH,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IACxE;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,EAAE,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,IAAI,gBAAgB,CAEpE;CACJ;AAED;;;GAGG;AACH,8BACsB,sCAAuC,YAAW,+BAA+B;IAEnG,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC;CAInC"}
|
|
@@ -21,6 +21,7 @@ export declare class FrontendApplication {
|
|
|
21
21
|
protected readonly tooltipService: TooltipService;
|
|
22
22
|
protected readonly stopwatch: Stopwatch;
|
|
23
23
|
protected readonly backendStopwatch: BackendStopwatch;
|
|
24
|
+
private settlementContext?;
|
|
24
25
|
constructor(commands: CommandRegistry, menus: MenuModelRegistry, keybindings: KeybindingRegistry, layoutRestorer: ShellLayoutRestorer, contributions: ContributionProvider<FrontendApplicationContribution>, _shell: ApplicationShell, stateService: FrontendApplicationStateService);
|
|
25
26
|
get shell(): ApplicationShell;
|
|
26
27
|
/**
|
|
@@ -82,6 +83,7 @@ export declare class FrontendApplication {
|
|
|
82
83
|
* Stop the frontend application contributions. This is called when the window is unloaded.
|
|
83
84
|
*/
|
|
84
85
|
protected stopContributions(): void;
|
|
86
|
+
protected measureContribution<T>(contribution: FrontendApplicationContribution, hook: string, fn: () => MaybePromise<T>): Promise<T>;
|
|
85
87
|
protected measure<T>(name: string, fn: () => MaybePromise<T>, message?: string, threshold?: boolean): Promise<T>;
|
|
86
88
|
}
|
|
87
89
|
//# sourceMappingURL=frontend-application.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-application.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-application.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"frontend-application.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,7 @@ let FrontendApplication = class FrontendApplication {
|
|
|
54
54
|
*/
|
|
55
55
|
async start() {
|
|
56
56
|
const startup = this.backendStopwatch.start('frontend');
|
|
57
|
+
this.settlementContext = new common_1.MeasurementContext(this.stopwatch, 'Frontend', TIMER_WARNING_THRESHOLD);
|
|
57
58
|
await this.measure('startContributions', () => this.startContributions(), 'Start frontend contributions', false);
|
|
58
59
|
this.stateService.state = 'started_contributions';
|
|
59
60
|
const host = await this.getHost();
|
|
@@ -67,7 +68,8 @@ let FrontendApplication = class FrontendApplication {
|
|
|
67
68
|
await this.measure('revealShell', () => this.revealShell(host), 'Replace loading indicator with ready workbench UI (animation)', false);
|
|
68
69
|
this.registerEventListeners();
|
|
69
70
|
this.stateService.state = 'ready';
|
|
70
|
-
|
|
71
|
+
this.settlementContext?.armAllSettled();
|
|
72
|
+
startup.then(idToken => this.backendStopwatch.stop(idToken, 'Frontend application startup sequence completed (async work may still be pending)', []));
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
75
|
* Return a promise to the host element to which the application shell is attached.
|
|
@@ -194,14 +196,14 @@ let FrontendApplication = class FrontendApplication {
|
|
|
194
196
|
async createDefaultLayout() {
|
|
195
197
|
for (const contribution of this.contributions.getContributions()) {
|
|
196
198
|
if (contribution.initializeLayout) {
|
|
197
|
-
await this.
|
|
199
|
+
await this.measureContribution(contribution, 'initializeLayout', () => contribution.initializeLayout(this));
|
|
198
200
|
}
|
|
199
201
|
}
|
|
200
202
|
}
|
|
201
203
|
async fireOnDidInitializeLayout() {
|
|
202
204
|
for (const contribution of this.contributions.getContributions()) {
|
|
203
205
|
if (contribution.onDidInitializeLayout) {
|
|
204
|
-
await this.
|
|
206
|
+
await this.measureContribution(contribution, 'onDidInitializeLayout', () => contribution.onDidInitializeLayout(this));
|
|
205
207
|
}
|
|
206
208
|
}
|
|
207
209
|
}
|
|
@@ -212,7 +214,7 @@ let FrontendApplication = class FrontendApplication {
|
|
|
212
214
|
for (const contribution of this.contributions.getContributions()) {
|
|
213
215
|
if (contribution.initialize) {
|
|
214
216
|
try {
|
|
215
|
-
await this.
|
|
217
|
+
await this.measureContribution(contribution, 'initialize', () => contribution.initialize());
|
|
216
218
|
}
|
|
217
219
|
catch (error) {
|
|
218
220
|
console.error('Could not initialize contribution', error);
|
|
@@ -222,7 +224,7 @@ let FrontendApplication = class FrontendApplication {
|
|
|
222
224
|
for (const contribution of this.contributions.getContributions()) {
|
|
223
225
|
if (contribution.configure) {
|
|
224
226
|
try {
|
|
225
|
-
await this.
|
|
227
|
+
await this.measureContribution(contribution, 'configure', () => contribution.configure(this));
|
|
226
228
|
}
|
|
227
229
|
catch (error) {
|
|
228
230
|
console.error('Could not configure contribution', error);
|
|
@@ -240,7 +242,7 @@ let FrontendApplication = class FrontendApplication {
|
|
|
240
242
|
for (const contribution of this.contributions.getContributions()) {
|
|
241
243
|
if (contribution.onStart) {
|
|
242
244
|
try {
|
|
243
|
-
await this.
|
|
245
|
+
await this.measureContribution(contribution, 'onStart', () => contribution.onStart(this));
|
|
244
246
|
}
|
|
245
247
|
catch (error) {
|
|
246
248
|
console.error('Could not start contribution', error);
|
|
@@ -265,6 +267,13 @@ let FrontendApplication = class FrontendApplication {
|
|
|
265
267
|
}
|
|
266
268
|
console.info('<<< All frontend contributions have been stopped.');
|
|
267
269
|
}
|
|
270
|
+
async measureContribution(contribution, hook, fn) {
|
|
271
|
+
let innerResult;
|
|
272
|
+
this.settlementContext?.ensureEntry(contribution);
|
|
273
|
+
const result = await this.measure(contribution.constructor.name + '.' + hook, () => (innerResult = fn()));
|
|
274
|
+
this.settlementContext?.trackSettlement(contribution, innerResult);
|
|
275
|
+
return result;
|
|
276
|
+
}
|
|
268
277
|
async measure(name, fn, message = `Frontend ${name}`, threshold = true) {
|
|
269
278
|
return this.stopwatch.startAsync(name, message, fn, threshold ? { thresholdMillis: TIMER_WARNING_THRESHOLD, defaultLogLevel: common_1.LogLevel.DEBUG } : {});
|
|
270
279
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-application.js","sourceRoot":"","sources":["../../src/browser/frontend-application.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAAsD;AACtD,
|
|
1
|
+
{"version":3,"file":"frontend-application.js","sourceRoot":"","sources":["../../src/browser/frontend-application.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,yCAAsD;AACtD,sCAAuJ;AAEvJ,6CAAkD;AAClD,uCAAmC;AACnC,iEAA6D;AAC7D,yEAA0G;AAC1G,6EAA+E;AAC/E,uCAA4E;AAC5E,iEAA6D;AAC7D,4DAAwD;AACxD,uDAAmD;AACnD,2FAAsF;AAEtF,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAG7B,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAmB5B,YACgD,QAAyB,EACvB,KAAwB,EACvB,WAA+B,EAC9B,cAAmC,EAEhE,aAAoE,EAC1C,MAAwB,EACT,YAA6C;QAP7D,aAAQ,GAAR,QAAQ,CAAiB;QACvB,UAAK,GAAL,KAAK,CAAmB;QACvB,gBAAW,GAAX,WAAW,CAAoB;QAC9B,mBAAc,GAAd,cAAc,CAAqB;QAEhE,kBAAa,GAAb,aAAa,CAAuD;QAC1C,WAAM,GAAN,MAAM,CAAkB;QACT,iBAAY,GAAZ,YAAY,CAAiC;IACzG,CAAC;IAEL,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,2BAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAErG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACjH,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,uBAAuB,CAAC;QAElD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,IAAA,wBAAc,GAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,gBAAgB,CAAC;QAE3C,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAChH,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,oBAAoB,CAAC;QAC/C,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAEvC,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,+DAA+D,EAAE,KAAK,CAAC,CAAC;QACxI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,iBAAiB,EAAE,aAAa,EAAE,CAAC;QAExC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,mFAAmF,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1J,CAAC;IAED;;OAEG;IACO,OAAO;QACb,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,IAAI,OAAO,CAAc,OAAO,CAAC,EAAE,CACtC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAChF,CAAC;IACN,CAAC;IAED;;OAEG;IACO,mBAAmB,CAAC,IAAiB;QAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;QACrE,OAAO,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAgB,CAAC;IACxF,CAAC;IAED;;OAEG;IACO,sBAAsB;QAC5B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,gBAAgB,CAAC;YAC3C,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,WAAW,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEhD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACjG,uDAAuD;QACvD,IAAI,cAAK,EAAE,CAAC;YACR,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,2BAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,yFAAyF;QACzF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACrB,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE;YAC1C,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACrB,KAAK,CAAC,YAAY,CAAC,UAAU,GAAG,MAAM,CAAC;YAC3C,CAAC;YAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC7B,CAAC,EAAE,KAAK,CAAC,CAAC;QACV,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE;YACtC,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;IAEd,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,IAAiB;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC3C,gBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACO,aAAa,CAAC,IAAiB;QACrC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACO,WAAW,CAAC,IAAiB;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;gBACzB,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;oBAC9B,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBAC1D,MAAM,kBAAkB,GAAG,IAAA,sBAAY,EAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;oBAC5E,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;wBACnB,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC;wBACzC,IAAI,MAAM,EAAE,CAAC;4BACT,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;wBACpC,CAAC;wBACD,OAAO,EAAE,CAAC;oBACd,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBAC3B,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC9B,4CAA4C;YAC5C,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;IACpC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,4DAAoC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,mBAAmB;QAC/B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,kBAAkB,EAC3D,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,yBAAyB;QACrC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,YAAY,CAAC,qBAAqB,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,uBAAuB,EAChE,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,kBAAkB;QAC9B,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,EACrD,GAAG,EAAE,CAAC,YAAY,CAAC,UAAW,EAAE,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC;QAED,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,YAAY,CAAC,SAAS,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,EACpD,GAAG,EAAE,CAAC,YAAY,CAAC,SAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;YACL,CAAC;QACL,CAAC;QAED;;;;WAIG;QACH,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,EACjC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAChC,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EACpC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CACnC,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAC9B,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAC7B,CAAC;QACF,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,SAAS,EAClD,GAAG,EAAE,CAAC,YAAY,CAAC,OAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;OAEG;IACO,iBAAiB;QACvB,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;QACvD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC/D,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACD,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACtE,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAI,YAA6C,EAAE,IAAY,EAAE,EAAyB;QACzH,IAAI,WAA4B,CAAC;QACjC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,EACxE,GAAG,EAAE,CAAC,CAAC,WAAW,GAAG,EAAE,EAAE,CAAC,CAC7B,CAAC;QACF,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,YAAY,EAAE,WAAY,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,EAAyB,EAAE,OAAO,GAAG,YAAY,IAAI,EAAE,EAAE,SAAS,GAAG,IAAI;QAC9G,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAC9C,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,uBAAuB,EAAE,eAAe,EAAE,iBAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;CAEJ,CAAA;AA7SY,kDAAmB;AAGT;IADlB,IAAA,kBAAM,EAAC,kCAAe,CAAC;;4DAC4B;AAGjC;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;2DAC2B;AAG9B;IADlB,IAAA,kBAAM,EAAC,gCAAc,CAAC;;2DAC2B;AAG/B;IADlB,IAAA,kBAAM,EAAC,kBAAS,CAAC;sCACY,kBAAS;sDAAC;AAGrB;IADlB,IAAA,kBAAM,EAAC,yBAAgB,CAAC;;6DAC6B;8BAf7C,mBAAmB;IAD/B,IAAA,sBAAU,GAAE;IAqBJ,mBAAA,IAAA,kBAAM,EAAC,wBAAe,CAAC,CAAA;IACvB,mBAAA,IAAA,kBAAM,EAAC,0BAAiB,CAAC,CAAA;IACzB,mBAAA,IAAA,kBAAM,EAAC,+BAAkB,CAAC,CAAA;IAC1B,mBAAA,IAAA,kBAAM,EAAC,2CAAmB,CAAC,CAAA;IAC3B,mBAAA,IAAA,kBAAM,EAAC,6BAAoB,CAAC,CAAA;IAAE,mBAAA,IAAA,iBAAK,EAAC,mEAA+B,CAAC,CAAA;IAEpE,mBAAA,IAAA,kBAAM,EAAC,oCAAgB,CAAC,CAAA;IACxB,mBAAA,IAAA,kBAAM,EAAC,4DAA+B,CAAC,CAAA;6CAPc,wBAAe;QAChB,0BAAiB;QACV,+BAAkB;QACd,2CAAmB,UAG9B,oCAAgB;QACK,4DAA+B;GA3BpG,mBAAmB,CA6S/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-stopwatch.js","sourceRoot":"","sources":["../../../src/browser/performance/frontend-stopwatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;gFAcgF;;;;AAEhF,yCAAuC;AACvC,yCAA0E;AAGnE,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,kBAAS;IAE5C;QACI,KAAK,CAAC;YACF,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"frontend-stopwatch.js","sourceRoot":"","sources":["../../../src/browser/performance/frontend-stopwatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;gFAcgF;;;;AAEhF,yCAAuC;AACvC,yCAA0E;AAGnE,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,kBAAS;IAE5C;QACI,KAAK,CAAC;YACF,KAAK,EAAE,eAAe;YACtB,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,OAA4B;QAC5C,MAAM,WAAW,GAAG,GAAG,IAAI,QAAQ,CAAC;QACpC,MAAM,SAAS,GAAG,GAAG,IAAI,MAAM,CAAC;QAChC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACpC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAElC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE;YACrC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE5B,IAAI,QAAgB,CAAC;YACrB,IAAI,SAAiB,CAAC;YAEtB,IAAI,CAAC;gBACD,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gBAElD,MAAM,OAAO,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACnD,yEAAyE;gBACzE,kCAAkC;gBAClC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC;gBAC7C,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC;YACnD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChB,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;gBACtB,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC;YAC3B,CAAC;YAED,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAChC,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACpC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QACnC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChB,CAAC;CACJ,CAAA;AA5CY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,sBAAU,GAAE;;GACA,iBAAiB,CA4C7B;AAAA,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/performance/index.ts"],"names":[],"mappings":"AAgBA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/performance/index.ts"],"names":[],"mappings":"AAgBA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC"}
|
|
@@ -18,5 +18,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
const tslib_1 = require("tslib");
|
|
19
19
|
tslib_1.__exportStar(require("./measurement"), exports);
|
|
20
20
|
tslib_1.__exportStar(require("./stopwatch"), exports);
|
|
21
|
+
tslib_1.__exportStar(require("./simple-stopwatch"), exports);
|
|
21
22
|
tslib_1.__exportStar(require("./measurement-protocol"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/performance/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,wDAA8B;AAC9B,sDAA4B;AAC5B,iEAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/performance/index.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;AAEhF,wDAA8B;AAC9B,sDAA4B;AAC5B,6DAAmC;AACnC,iEAAuC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Measurement, MeasurementOptions } from './measurement';
|
|
2
|
+
import { Stopwatch } from './stopwatch';
|
|
3
|
+
/**
|
|
4
|
+
* A simple {@link Stopwatch} that uses a caller-supplied time function and logs
|
|
5
|
+
* via `console`. Usable without Inversify DI: this class does not assign nor
|
|
6
|
+
* use the inherited `logger` field.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SimpleStopwatch extends Stopwatch {
|
|
9
|
+
constructor(owner: string, now: () => number);
|
|
10
|
+
start(name: string, options?: MeasurementOptions): Measurement;
|
|
11
|
+
protected log(measurement: Measurement, activity: string, options: {
|
|
12
|
+
now: () => number;
|
|
13
|
+
owner?: string;
|
|
14
|
+
context?: string;
|
|
15
|
+
arguments?: any[];
|
|
16
|
+
} & MeasurementOptions): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=simple-stopwatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-stopwatch.d.ts","sourceRoot":"","sources":["../../../src/common/performance/simple-stopwatch.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAE9B,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,MAAM;IAI5C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;cAU3C,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;QACxE,GAAG,EAAE,MAAM,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;KACrB,GAAG,kBAAkB,GAAG,IAAI;CA0ChC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 STMicroelectronics and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SimpleStopwatch = void 0;
|
|
19
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
20
|
+
const logger_1 = require("../logger");
|
|
21
|
+
const stopwatch_1 = require("./stopwatch");
|
|
22
|
+
/**
|
|
23
|
+
* A simple {@link Stopwatch} that uses a caller-supplied time function and logs
|
|
24
|
+
* via `console`. Usable without Inversify DI: this class does not assign nor
|
|
25
|
+
* use the inherited `logger` field.
|
|
26
|
+
*/
|
|
27
|
+
class SimpleStopwatch extends stopwatch_1.Stopwatch {
|
|
28
|
+
constructor(owner, now) {
|
|
29
|
+
super({ owner, now });
|
|
30
|
+
}
|
|
31
|
+
start(name, options) {
|
|
32
|
+
const now = this.defaultLogOptions.now;
|
|
33
|
+
const startTime = now();
|
|
34
|
+
return this.createMeasurement(name, () => ({
|
|
35
|
+
startTime,
|
|
36
|
+
duration: now() - startTime
|
|
37
|
+
}), options);
|
|
38
|
+
}
|
|
39
|
+
log(measurement, activity, options) {
|
|
40
|
+
const elapsed = measurement.stop();
|
|
41
|
+
const level = this.logLevel(elapsed, options);
|
|
42
|
+
if (Number.isNaN(elapsed)) {
|
|
43
|
+
switch (level) {
|
|
44
|
+
case logger_1.LogLevel.ERROR:
|
|
45
|
+
case logger_1.LogLevel.FATAL:
|
|
46
|
+
break;
|
|
47
|
+
default:
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const origin = options.owner ?? 'application';
|
|
52
|
+
const timeFromStart = `${(options.now() / 1000).toFixed(3)} s since ${origin} start`;
|
|
53
|
+
const whatWasMeasured = options.context ? `[${options.context}] ${activity}` : activity;
|
|
54
|
+
const message = `${whatWasMeasured}: ${elapsed.toFixed(1)} ms [${timeFromStart}]`;
|
|
55
|
+
const args = options.arguments ?? [];
|
|
56
|
+
switch (level) {
|
|
57
|
+
case logger_1.LogLevel.FATAL:
|
|
58
|
+
case logger_1.LogLevel.ERROR:
|
|
59
|
+
console.error(message, ...args);
|
|
60
|
+
break;
|
|
61
|
+
case logger_1.LogLevel.WARN:
|
|
62
|
+
console.warn(message, ...args);
|
|
63
|
+
break;
|
|
64
|
+
case logger_1.LogLevel.INFO:
|
|
65
|
+
console.info(message, ...args);
|
|
66
|
+
break;
|
|
67
|
+
case logger_1.LogLevel.DEBUG:
|
|
68
|
+
console.debug(message, ...args);
|
|
69
|
+
break;
|
|
70
|
+
case logger_1.LogLevel.TRACE:
|
|
71
|
+
console.trace(message, ...args);
|
|
72
|
+
break;
|
|
73
|
+
default:
|
|
74
|
+
console.log(message, ...args);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.SimpleStopwatch = SimpleStopwatch;
|
|
80
|
+
//# sourceMappingURL=simple-stopwatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-stopwatch.js","sourceRoot":"","sources":["../../../src/common/performance/simple-stopwatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,5 +72,46 @@ export declare abstract class Stopwatch {
|
|
|
72
72
|
protected log(measurement: Measurement, activity: string, options: LogOptions): void;
|
|
73
73
|
get storedMeasurements(): ReadonlyArray<MeasurementResult>;
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Tracks the settlement of async work initiated by contributions during application startup.
|
|
77
|
+
*
|
|
78
|
+
* A contribution "settles" when all promises it returned from lifecycle methods (initialize, configure, onStart, etc.)
|
|
79
|
+
* have resolved. Individual settlement is only logged when a contribution returned promises from more than one lifecycle
|
|
80
|
+
* method; otherwise the single lifecycle measurement already describes the work. An aggregate "all settled" message is
|
|
81
|
+
* logged once all tracked promises across all contributions have resolved.
|
|
82
|
+
*
|
|
83
|
+
* Typical usage:
|
|
84
|
+
* 1. Create the context at the start of the application lifecycle.
|
|
85
|
+
* 2. Before each lifecycle call, call {@link ensureEntry} to start the per-contribution clock.
|
|
86
|
+
* 3. After each lifecycle call, call {@link trackSettlement} with the return value.
|
|
87
|
+
* 4. After the startup sequence completes, call {@link armAllSettled} to enable the aggregate message.
|
|
88
|
+
*/
|
|
89
|
+
export declare class MeasurementContext<T extends object = object> {
|
|
90
|
+
protected readonly stopwatch: Stopwatch;
|
|
91
|
+
protected readonly owner: string;
|
|
92
|
+
protected readonly thresholdMillis: number;
|
|
93
|
+
private readonly entries;
|
|
94
|
+
private readonly allSettledMeasurement;
|
|
95
|
+
private allSettledPending;
|
|
96
|
+
private allSettledArmed;
|
|
97
|
+
constructor(stopwatch: Stopwatch, owner: string, thresholdMillis: number);
|
|
98
|
+
/**
|
|
99
|
+
* Ensure that settlement tracking has been started for the given contribution.
|
|
100
|
+
* Starts the per-contribution measurement clock on the first call for each contribution.
|
|
101
|
+
*/
|
|
102
|
+
ensureEntry(item: T): void;
|
|
103
|
+
/**
|
|
104
|
+
* Track a promise returned by a contribution's lifecycle method.
|
|
105
|
+
* Must be called after the corresponding {@link Stopwatch.startAsync} has completed so that
|
|
106
|
+
* the settlement log appears after the lifecycle measurement log.
|
|
107
|
+
*/
|
|
108
|
+
trackSettlement(item: T, result: MaybePromise<unknown>): void;
|
|
109
|
+
/**
|
|
110
|
+
* Arm the aggregate "all settled" log message. Call this after the startup sequence has finished
|
|
111
|
+
* collecting all promises. If all promises have already settled, the message is logged immediately.
|
|
112
|
+
*/
|
|
113
|
+
armAllSettled(): void;
|
|
114
|
+
private onPromiseSettled;
|
|
115
|
+
}
|
|
75
116
|
export {};
|
|
76
117
|
//# sourceMappingURL=stopwatch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stopwatch.d.ts","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;gFAcgF;AAKhF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAK1C;;GAEG;AACH,UAAU,UAAW,SAAQ,kBAAkB;IAC3C,gGAAgG;IAChG,GAAG,EAAE,MAAM,MAAM,CAAC;IAElB,gHAAgH;IAChH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,qGAAqG;IACrG,aAAa,CAAC,EAAE,QAAQ,CAAC;IAEzB,gIAAgI;IAChI,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,8BACsB,SAAS;IAYF,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,UAAU;IATzE,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEnC,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,CAAM;IAExD,SAAS,CAAC,gCAAgC,6BAAoC;IAC9E,IAAI,yBAAyB,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAExD;gBAE2C,iBAAiB,EAAE,UAAU;IASzE;;;;;;OAMG;aACa,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;IAE9E;;;;;;;;;;;;OAYG;IACU,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,CAAC;IAa3I,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,WAAW;IAgC5I,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAQvE,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,GAAG,EAAE,GAAG,UAAU;IAIrG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,QAAQ;IAQ5E,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;IAsBpF,IAAI,kBAAkB,IAAI,aAAa,CAAC,iBAAiB,CAAC,CAEzD;CAEJ"}
|
|
1
|
+
{"version":3,"file":"stopwatch.d.ts","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
16
|
*******************************************************************************/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.Stopwatch = void 0;
|
|
18
|
+
exports.MeasurementContext = exports.Stopwatch = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
21
21
|
const inversify_1 = require("inversify");
|
|
@@ -125,8 +125,8 @@ let Stopwatch = class Stopwatch {
|
|
|
125
125
|
return;
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
-
const
|
|
129
|
-
const timeFromStart =
|
|
128
|
+
const origin = options.owner ?? 'application';
|
|
129
|
+
const timeFromStart = `${(options.now() / 1000).toFixed(3)} s since ${origin} start`;
|
|
130
130
|
const whatWasMeasured = options.context ? `[${options.context}] ${activity}` : activity;
|
|
131
131
|
this.logger.log(level, `${whatWasMeasured}: ${elapsed.toFixed(1)} ms [${timeFromStart}]`, ...(options.arguments ?? []));
|
|
132
132
|
}
|
|
@@ -144,4 +144,90 @@ exports.Stopwatch = Stopwatch = tslib_1.__decorate([
|
|
|
144
144
|
tslib_1.__param(0, (0, inversify_1.unmanaged)()),
|
|
145
145
|
tslib_1.__metadata("design:paramtypes", [Object])
|
|
146
146
|
], Stopwatch);
|
|
147
|
+
/**
|
|
148
|
+
* Tracks the settlement of async work initiated by contributions during application startup.
|
|
149
|
+
*
|
|
150
|
+
* A contribution "settles" when all promises it returned from lifecycle methods (initialize, configure, onStart, etc.)
|
|
151
|
+
* have resolved. Individual settlement is only logged when a contribution returned promises from more than one lifecycle
|
|
152
|
+
* method; otherwise the single lifecycle measurement already describes the work. An aggregate "all settled" message is
|
|
153
|
+
* logged once all tracked promises across all contributions have resolved.
|
|
154
|
+
*
|
|
155
|
+
* Typical usage:
|
|
156
|
+
* 1. Create the context at the start of the application lifecycle.
|
|
157
|
+
* 2. Before each lifecycle call, call {@link ensureEntry} to start the per-contribution clock.
|
|
158
|
+
* 3. After each lifecycle call, call {@link trackSettlement} with the return value.
|
|
159
|
+
* 4. After the startup sequence completes, call {@link armAllSettled} to enable the aggregate message.
|
|
160
|
+
*/
|
|
161
|
+
class MeasurementContext {
|
|
162
|
+
constructor(stopwatch, owner, thresholdMillis) {
|
|
163
|
+
this.stopwatch = stopwatch;
|
|
164
|
+
this.owner = owner;
|
|
165
|
+
this.thresholdMillis = thresholdMillis;
|
|
166
|
+
this.entries = new Map();
|
|
167
|
+
this.allSettledPending = 0;
|
|
168
|
+
this.allSettledArmed = false;
|
|
169
|
+
this.allSettledMeasurement = this.stopwatch.start(`${owner.toLowerCase()}-all-settled`);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Ensure that settlement tracking has been started for the given contribution.
|
|
173
|
+
* Starts the per-contribution measurement clock on the first call for each contribution.
|
|
174
|
+
*/
|
|
175
|
+
ensureEntry(item) {
|
|
176
|
+
if (!this.entries.has(item)) {
|
|
177
|
+
const name = item.constructor.name;
|
|
178
|
+
this.entries.set(item, {
|
|
179
|
+
name,
|
|
180
|
+
measurement: this.stopwatch.start(`${name}.settled`, { thresholdMillis: this.thresholdMillis }),
|
|
181
|
+
pending: 0,
|
|
182
|
+
total: 0
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Track a promise returned by a contribution's lifecycle method.
|
|
188
|
+
* Must be called after the corresponding {@link Stopwatch.startAsync} has completed so that
|
|
189
|
+
* the settlement log appears after the lifecycle measurement log.
|
|
190
|
+
*/
|
|
191
|
+
trackSettlement(item, result) {
|
|
192
|
+
if (result instanceof Promise) {
|
|
193
|
+
const entry = this.entries.get(item);
|
|
194
|
+
entry.pending++;
|
|
195
|
+
entry.total++;
|
|
196
|
+
this.allSettledPending++;
|
|
197
|
+
const onSettled = () => {
|
|
198
|
+
this.onPromiseSettled(item);
|
|
199
|
+
};
|
|
200
|
+
result.then(onSettled, onSettled);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Arm the aggregate "all settled" log message. Call this after the startup sequence has finished
|
|
205
|
+
* collecting all promises. If all promises have already settled, the message is logged immediately.
|
|
206
|
+
*/
|
|
207
|
+
armAllSettled() {
|
|
208
|
+
this.allSettledArmed = true;
|
|
209
|
+
if (this.allSettledPending === 0) {
|
|
210
|
+
this.allSettledMeasurement.info(`All ${this.owner.toLowerCase()} contributions settled`);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
onPromiseSettled(item) {
|
|
214
|
+
const entry = this.entries.get(item);
|
|
215
|
+
if (entry && --entry.pending === 0) {
|
|
216
|
+
const { name, measurement, total } = entry;
|
|
217
|
+
this.entries.delete(item);
|
|
218
|
+
if (total > 1) {
|
|
219
|
+
if (measurement.stop() > this.thresholdMillis) {
|
|
220
|
+
measurement.warn(`${this.owner} ${name} took longer than expected to settle`);
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
measurement.debug(`${this.owner} ${name} settled`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (--this.allSettledPending === 0 && this.allSettledArmed) {
|
|
228
|
+
this.allSettledMeasurement.info(`All ${this.owner.toLowerCase()} contributions settled`);
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.MeasurementContext = MeasurementContext;
|
|
147
233
|
//# sourceMappingURL=stopwatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopwatch.spec.d.ts","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.spec.ts"],"names":[],"mappings":""}
|