@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.
Files changed (50) hide show
  1. package/lib/browser/catalog.json +30 -2
  2. package/lib/browser/frontend-application-contribution.d.ts +2 -2
  3. package/lib/browser/frontend-application-contribution.d.ts.map +1 -1
  4. package/lib/browser/frontend-application.d.ts +2 -0
  5. package/lib/browser/frontend-application.d.ts.map +1 -1
  6. package/lib/browser/frontend-application.js +15 -6
  7. package/lib/browser/frontend-application.js.map +1 -1
  8. package/lib/browser/performance/frontend-stopwatch.js +1 -1
  9. package/lib/browser/performance/frontend-stopwatch.js.map +1 -1
  10. package/lib/common/performance/index.d.ts +1 -0
  11. package/lib/common/performance/index.d.ts.map +1 -1
  12. package/lib/common/performance/index.js +1 -0
  13. package/lib/common/performance/index.js.map +1 -1
  14. package/lib/common/performance/simple-stopwatch.d.ts +18 -0
  15. package/lib/common/performance/simple-stopwatch.d.ts.map +1 -0
  16. package/lib/common/performance/simple-stopwatch.js +80 -0
  17. package/lib/common/performance/simple-stopwatch.js.map +1 -0
  18. package/lib/common/performance/stopwatch.d.ts +41 -0
  19. package/lib/common/performance/stopwatch.d.ts.map +1 -1
  20. package/lib/common/performance/stopwatch.js +89 -3
  21. package/lib/common/performance/stopwatch.js.map +1 -1
  22. package/lib/common/performance/stopwatch.spec.d.ts +2 -0
  23. package/lib/common/performance/stopwatch.spec.d.ts.map +1 -0
  24. package/lib/common/performance/stopwatch.spec.js +256 -0
  25. package/lib/common/performance/stopwatch.spec.js.map +1 -0
  26. package/lib/electron-main/electron-main-application-module.d.ts.map +1 -1
  27. package/lib/electron-main/electron-main-application-module.js +3 -0
  28. package/lib/electron-main/electron-main-application-module.js.map +1 -1
  29. package/lib/electron-main/electron-main-application.d.ts +2 -0
  30. package/lib/electron-main/electron-main-application.d.ts.map +1 -1
  31. package/lib/electron-main/electron-main-application.js +14 -5
  32. package/lib/electron-main/electron-main-application.js.map +1 -1
  33. package/lib/node/backend-application.d.ts +2 -0
  34. package/lib/node/backend-application.d.ts.map +1 -1
  35. package/lib/node/backend-application.js +17 -5
  36. package/lib/node/backend-application.js.map +1 -1
  37. package/lib/node/performance/node-stopwatch.js +1 -1
  38. package/lib/node/performance/node-stopwatch.js.map +1 -1
  39. package/package.json +4 -4
  40. package/src/browser/frontend-application-contribution.ts +2 -2
  41. package/src/browser/frontend-application.ts +26 -17
  42. package/src/browser/performance/frontend-stopwatch.ts +1 -1
  43. package/src/common/performance/index.ts +1 -0
  44. package/src/common/performance/simple-stopwatch.ts +91 -0
  45. package/src/common/performance/stopwatch.spec.ts +321 -0
  46. package/src/common/performance/stopwatch.ts +103 -2
  47. package/src/electron-main/electron-main-application-module.ts +3 -0
  48. package/src/electron-main/electron-main-application.ts +21 -5
  49. package/src/node/backend-application.ts +27 -10
  50. package/src/node/performance/node-stopwatch.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://json.schemastore.org/schema-catalog.json",
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;IAEpB;;;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,IAAI;CAIrB"}
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,EAAY,SAAS,EAAE,MAAM,WAAW,CAAC;AACnI,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAwC,MAAM,+BAA+B,CAAC;AAC1G,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,+BAA+B,EAAE,MAAM,qCAAqC,CAAC;AAItF,qBACa,mBAAmB;IAkBC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;IAC1C,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB;IAC1C,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,kBAAkB;IACjD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,mBAAmB;IAEnF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC,+BAA+B,CAAC;IAC7D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAC5B,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,+BAA+B;IAtB7G,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAGpD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,aAAa,CAAC;IAGjD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAGxC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;gBAGN,QAAQ,EAAE,eAAe,EACvB,KAAK,EAAE,iBAAiB,EACvB,WAAW,EAAE,kBAAkB,EAC9B,cAAc,EAAE,mBAAmB,EAEhE,aAAa,EAAE,oBAAoB,CAAC,+BAA+B,CAAC,EAC1C,MAAM,EAAE,gBAAgB,EACT,YAAY,EAAE,+BAA+B;IAG7G,IAAI,KAAK,IAAI,gBAAgB,CAE5B;IAED;;;;;;;;OAQG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB5B;;OAEG;IACH,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;IASzC;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,GAAG,SAAS;IAKzE;;OAEG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAiCxC;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAK9C;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAIhD;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD;;;OAGG;cACa,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjD;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAcjD;;;OAGG;cACa,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;cAUpC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU1D;;OAEG;cACa,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoDnD;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;cAcnB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,SAAqB,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAKlI"}
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
- startup.then(idToken => this.backendStopwatch.stop(idToken, 'Frontend application start', []));
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.measure(contribution.constructor.name + '.initializeLayout', () => contribution.initializeLayout(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.measure(contribution.constructor.name + '.onDidInitializeLayout', () => contribution.onDidInitializeLayout(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.measure(contribution.constructor.name + '.initialize', () => contribution.initialize());
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.measure(contribution.constructor.name + '.configure', () => contribution.configure(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.measure(contribution.constructor.name + '.onStart', () => contribution.onStart(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":"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"}
1
+ {"version":3,"file":"frontend-application.js","sourceRoot":"","sources":["../../src/browser/frontend-application.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ const common_1 = require("../../common");
22
22
  let FrontendStopwatch = class FrontendStopwatch extends common_1.Stopwatch {
23
23
  constructor() {
24
24
  super({
25
- owner: 'frontend',
25
+ owner: 'frontend page',
26
26
  now: () => performance.now(),
27
27
  });
28
28
  }
@@ -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,UAAU;YACjB,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
+ {"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,4 +1,5 @@
1
1
  export * from './measurement';
2
2
  export * from './stopwatch';
3
+ export * from './simple-stopwatch';
3
4
  export * from './measurement-protocol';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -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 start = options.owner ? `${options.owner} start` : 'start';
129
- const timeFromStart = `Finished ${(options.now() / 1000).toFixed(3)} s after ${start}`;
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stopwatch.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stopwatch.spec.d.ts","sourceRoot":"","sources":["../../../src/common/performance/stopwatch.spec.ts"],"names":[],"mappings":""}