@interopio/otel 0.0.5 → 0.0.6

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 (97) hide show
  1. package/dist/metrics/application/count.js +2 -2
  2. package/dist/metrics/application/count.js.map +1 -1
  3. package/dist/metrics/application/cpu.d.ts +3 -3
  4. package/dist/metrics/application/cpu.js +1 -1
  5. package/dist/metrics/application/cpu.js.map +1 -1
  6. package/dist/metrics/application/duration.d.ts +20 -7
  7. package/dist/metrics/application/duration.js +89 -21
  8. package/dist/metrics/application/duration.js.map +1 -1
  9. package/dist/metrics/application/durationHistogram.d.ts +3 -3
  10. package/dist/metrics/application/durationHistogram.js +2 -2
  11. package/dist/metrics/application/durationHistogram.js.map +1 -1
  12. package/dist/metrics/application/memory.d.ts +3 -3
  13. package/dist/metrics/application/memory.js +1 -1
  14. package/dist/metrics/application/memory.js.map +1 -1
  15. package/dist/metrics/application/started.js +1 -1
  16. package/dist/metrics/application/started.js.map +1 -1
  17. package/dist/metrics/application/startupHistogram.d.ts +15 -5
  18. package/dist/metrics/application/startupHistogram.js +35 -8
  19. package/dist/metrics/application/startupHistogram.js.map +1 -1
  20. package/dist/metrics/application/stopped.js +1 -1
  21. package/dist/metrics/application/stopped.js.map +1 -1
  22. package/dist/metrics/base/base.d.ts +4 -2
  23. package/dist/metrics/base/base.js +15 -5
  24. package/dist/metrics/base/base.js.map +1 -1
  25. package/dist/metrics/base/gauge.d.ts +7 -7
  26. package/dist/metrics/base/gauge.js.map +1 -1
  27. package/dist/metrics/base/observable.d.ts +5 -5
  28. package/dist/metrics/base/observable.js.map +1 -1
  29. package/dist/metrics/dependencyBuilder.d.ts +5 -1
  30. package/dist/metrics/dependencyBuilder.js +12 -0
  31. package/dist/metrics/dependencyBuilder.js.map +1 -1
  32. package/dist/metrics/factoryBuilder.d.ts +2 -3
  33. package/dist/metrics/factoryBuilder.js +20 -30
  34. package/dist/metrics/factoryBuilder.js.map +1 -1
  35. package/dist/metrics/layout/startupHistogram.d.ts +15 -5
  36. package/dist/metrics/layout/startupHistogram.js +35 -8
  37. package/dist/metrics/layout/startupHistogram.js.map +1 -1
  38. package/dist/metrics/platform/startup.d.ts +2 -2
  39. package/dist/metrics/platform/startup.js +2 -2
  40. package/dist/metrics/platform/startup.js.map +1 -1
  41. package/dist/metrics/settingsBuilder.d.ts +2 -3
  42. package/dist/metrics/settingsBuilder.js +23 -35
  43. package/dist/metrics/settingsBuilder.js.map +1 -1
  44. package/dist/metrics/system/cpu.d.ts +1 -1
  45. package/dist/metrics/system/cpu.js.map +1 -1
  46. package/dist/metrics/system/memory.d.ts +1 -1
  47. package/dist/metrics/system/memory.js.map +1 -1
  48. package/dist/metrics/types.d.ts +13 -4
  49. package/dist/metrics/workspace/startup.d.ts +8 -0
  50. package/dist/metrics/workspace/startup.js +12 -0
  51. package/dist/metrics/workspace/startup.js.map +1 -0
  52. package/dist/metrics/workspace/stopped.d.ts +17 -0
  53. package/dist/metrics/workspace/stopped.js +46 -0
  54. package/dist/metrics/workspace/stopped.js.map +1 -0
  55. package/dist/validation/metrics/application/count.d.ts +3 -6
  56. package/dist/validation/metrics/application/count.js +6 -6
  57. package/dist/validation/metrics/application/count.js.map +1 -1
  58. package/dist/validation/metrics/application/duration.d.ts +1 -1
  59. package/dist/validation/metrics/application/duration.js +1 -1
  60. package/dist/validation/metrics/application/duration.js.map +1 -1
  61. package/dist/validation/metrics/application/started.d.ts +2 -3
  62. package/dist/validation/metrics/application/started.js +3 -3
  63. package/dist/validation/metrics/application/started.js.map +1 -1
  64. package/dist/validation/metrics/application/startupHistogram.d.ts +6 -0
  65. package/dist/validation/metrics/application/{startup.js → startupHistogram.js} +4 -4
  66. package/dist/validation/metrics/application/startupHistogram.js.map +1 -0
  67. package/dist/validation/metrics/application/stopped.d.ts +2 -3
  68. package/dist/validation/metrics/application/stopped.js +3 -3
  69. package/dist/validation/metrics/application/stopped.js.map +1 -1
  70. package/dist/validation/metrics/base/gauge.d.ts +2 -1
  71. package/dist/validation/metrics/base/gauge.js.map +1 -1
  72. package/dist/validation/metrics/layout/startupHistogram.d.ts +6 -0
  73. package/dist/validation/metrics/layout/{startup.js → startupHistogram.js} +4 -4
  74. package/dist/validation/metrics/layout/startupHistogram.js.map +1 -0
  75. package/dist/validation/metrics/workspace/stopped.d.ts +6 -0
  76. package/dist/validation/metrics/workspace/stopped.js +16 -0
  77. package/dist/validation/metrics/workspace/stopped.js.map +1 -0
  78. package/package.json +1 -1
  79. package/dist/metrics/application/durationBase.d.ts +0 -21
  80. package/dist/metrics/application/durationBase.js +0 -102
  81. package/dist/metrics/application/durationBase.js.map +0 -1
  82. package/dist/metrics/application/startup.d.ts +0 -8
  83. package/dist/metrics/application/startup.js +0 -29
  84. package/dist/metrics/application/startup.js.map +0 -1
  85. package/dist/metrics/application/startupBase.d.ts +0 -17
  86. package/dist/metrics/application/startupBase.js +0 -68
  87. package/dist/metrics/application/startupBase.js.map +0 -1
  88. package/dist/metrics/layout/startup.d.ts +0 -8
  89. package/dist/metrics/layout/startup.js +0 -29
  90. package/dist/metrics/layout/startup.js.map +0 -1
  91. package/dist/metrics/layout/startupBase.d.ts +0 -18
  92. package/dist/metrics/layout/startupBase.js +0 -71
  93. package/dist/metrics/layout/startupBase.js.map +0 -1
  94. package/dist/validation/metrics/application/startup.d.ts +0 -6
  95. package/dist/validation/metrics/application/startup.js.map +0 -1
  96. package/dist/validation/metrics/layout/startup.d.ts +0 -6
  97. package/dist/validation/metrics/layout/startup.js.map +0 -1
@@ -35,7 +35,7 @@ class ApplicationCountMetric extends base_1.MetricBase {
35
35
  try {
36
36
  this.validator.validateInstanceStarted(args);
37
37
  this.logger.debug(`instance started for application ${args.application} and metric ${this.settings.name} is being invoked`);
38
- const data = this.getData(args.application);
38
+ const data = this.getApplicationData(args.application);
39
39
  this.appCountMetric.add(1, data);
40
40
  this.logger.debug(`metric ${this.settings.name} sent 1 more for app ${data.application}`);
41
41
  }
@@ -48,7 +48,7 @@ class ApplicationCountMetric extends base_1.MetricBase {
48
48
  try {
49
49
  this.validator.validateInstanceStopped(args);
50
50
  this.logger.debug(`instance stopped for application ${args.application} and metric ${this.settings.name} is being invoked`);
51
- const data = this.getData(args.application);
51
+ const data = this.getApplicationData(args.application);
52
52
  this.appCountMetric.add(-1, data);
53
53
  this.logger.debug(`metric ${this.settings.name} sent 1 less for app ${data.application}`);
54
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/metrics/application/count.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/metrics/application/count.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { Meter, ObservableResult } from "@opentelemetry/api";
2
- import { TelemetryMetricData, TelemetryMetricSettings, PerformanceProvider } from "../types";
2
+ import { TelemetryMetricApplicationData, TelemetryMetricSettings, PerformanceProvider } from "../types";
3
3
  import { TelemetryLogger } from "../../types";
4
4
  import { GaugeMetricBase } from "../base/gauge";
5
- export declare class ApplicationCPUMetric extends GaugeMetricBase {
5
+ export declare class ApplicationCPUMetric extends GaugeMetricBase<TelemetryMetricApplicationData> {
6
6
  perfProvider: PerformanceProvider;
7
7
  constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, perfProvider: PerformanceProvider);
8
8
  protected subscribeCore(): Promise<void>;
9
- protected observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
9
+ protected observeCore(result: ObservableResult<TelemetryMetricApplicationData>): Promise<void>;
10
10
  protected unsubscribeCore(): Promise<void>;
11
11
  }
@@ -27,7 +27,7 @@ class ApplicationCPUMetric extends gauge_1.GaugeMetricBase {
27
27
  if (!validator_1.Validator.isNullOrUndefined(appsCPU)) {
28
28
  performanceValidator.validateAppsCPU(appsCPU);
29
29
  appsCPU.forEach((info) => {
30
- const data = Object.assign({ applicationInstance: info.instance }, this.getData(info.app));
30
+ const data = Object.assign({ applicationInstance: info.instance }, this.getApplicationData(info.app));
31
31
  result.observe(info.cpu, data);
32
32
  this.logger.debug(`metric ${this.settings.name} sent cpu ${info.cpu} for app ${data.application} and instance ${data.applicationInstance}`);
33
33
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cpu.js","sourceRoot":"","sources":["../../../src/metrics/application/cpu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAChD,wDAA6E;AAC7E,qDAAkD;AAElD,MAAa,oBAAqB,SAAQ,uBAAe;IACrD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,YAAiC;QAExC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAFhC,iBAAY,GAAZ,YAAY,CAAqB;IAG5C,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAA6C;;YAC9E,MAAM,oBAAoB,GAAG,IAAI,mCAA4B,EAAE,CAAC;YAChE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBACvC,oBAAoB,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAC;gBAE/C,OAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,MAAM,IAAI,mBAAK,mBAAmB,EAAE,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;oBAC/E,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAChJ,CAAC,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AA9BD,oDA8BC"}
1
+ {"version":3,"file":"cpu.js","sourceRoot":"","sources":["../../../src/metrics/application/cpu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAChD,wDAA6E;AAC7E,qDAAkD;AAElD,MAAa,oBAAqB,SAAQ,uBAA+C;IACrF,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,YAAiC;QAExC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAFhC,iBAAY,GAAZ,YAAY,CAAqB;IAG5C,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAAwD;;YACzF,MAAM,oBAAoB,GAAG,IAAI,mCAA4B,EAAE,CAAC;YAChE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBACvC,oBAAoB,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAC;gBAE/C,OAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,MAAM,IAAI,mBAAK,mBAAmB,EAAE,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;oBAC1F,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAChJ,CAAC,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AA9BD,oDA8BC"}
@@ -1,8 +1,21 @@
1
- import { TelemetryMetricData } from "../types";
2
- import { ApplicationDurationMetricBase } from "./durationBase";
3
- export declare class ApplicationDurationMetric extends ApplicationDurationMetricBase {
4
- private lastMetrics;
5
- private appDurationMetric;
6
- protected createMetricCore(): Promise<void>;
7
- protected sendMetric(focusedPeriods: number[], data: TelemetryMetricData): void;
1
+ import { Meter } from "@opentelemetry/api";
2
+ import { InstanceFocusedHandler, TelemetryMetricSettings, TelemetryMetricApplicationData } from "../types";
3
+ import { TelemetryLogger } from "../../types";
4
+ import { ObservableMetricBase } from "../base/observable";
5
+ export declare abstract class ApplicationDurationMetricBase extends ObservableMetricBase<TelemetryMetricApplicationData> {
6
+ instanceFocusHandler: InstanceFocusedHandler;
7
+ private focusedTimes;
8
+ private currentFocusedApp?;
9
+ private unInstanceFocusHandler;
10
+ private validator;
11
+ constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, instanceFocusHandler: InstanceFocusedHandler);
12
+ protected subscribeCore(): Promise<void>;
13
+ protected observeCore(): Promise<void>;
14
+ protected unsubscribeCore(): Promise<void>;
15
+ protected abstract sendMetric(focusedPeriods: number[], data: TelemetryMetricApplicationData): void;
16
+ private handleFocusChanged;
17
+ private handleFocusChangedCore;
18
+ private handleGotFocus;
19
+ private handleLostFocus;
20
+ private addFocusLostEventCore;
8
21
  }
@@ -1,29 +1,97 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApplicationDurationMetric = void 0;
4
- const durationBase_1 = require("./durationBase");
5
- class ApplicationDurationMetric extends durationBase_1.ApplicationDurationMetricBase {
6
- constructor() {
7
- super(...arguments);
8
- // app -> last metric value
9
- this.lastMetrics = new Map();
10
- }
11
- createMetricCore() {
12
- this.appDurationMetric = this.meter.createUpDownCounter(this.settings.name, { description: this.settings.description, unit: this.settings.unit });
3
+ exports.ApplicationDurationMetricBase = void 0;
4
+ const validator_1 = require("../../utils/validator");
5
+ const duration_1 = require("../../validation/metrics/application/duration");
6
+ const observable_1 = require("../base/observable");
7
+ class ApplicationDurationMetricBase extends observable_1.ObservableMetricBase {
8
+ constructor(settings, meter, userId, logger, instanceFocusHandler) {
9
+ super(settings, meter, userId, logger);
10
+ this.instanceFocusHandler = instanceFocusHandler;
11
+ // application -> focused times for a given period
12
+ this.focusedTimes = new Map();
13
+ this.validator = new duration_1.ApplicationDurationMetricValidator();
14
+ this.validator.validate(this);
15
+ }
16
+ subscribeCore() {
17
+ this.unInstanceFocusHandler = this.instanceFocusHandler(this.handleFocusChanged.bind(this));
18
+ return Promise.resolve();
19
+ }
20
+ observeCore() {
21
+ const hasFocusedApp = this.currentFocusedApp !== undefined;
22
+ const currentFocusedApp = hasFocusedApp ? this.currentFocusedApp.name : undefined;
23
+ if (hasFocusedApp) {
24
+ this.handleFocusChanged({ application: currentFocusedApp, focused: false });
25
+ }
26
+ this.focusedTimes.forEach((focusedPeriods, application) => {
27
+ const data = this.getApplicationData(application);
28
+ this.sendMetric(focusedPeriods, data);
29
+ focusedPeriods.splice(0);
30
+ });
31
+ if (hasFocusedApp) {
32
+ this.handleFocusChanged({ application: currentFocusedApp, focused: true });
33
+ }
13
34
  return Promise.resolve();
14
35
  }
15
- sendMetric(focusedPeriods, data) {
16
- const application = data.application;
17
- const focusedTime = focusedPeriods.length === 0 ? 0 : focusedPeriods.reduce((prev, current) => prev + current);
18
- if (this.lastMetrics.has(application)) {
19
- const lastFocusedTime = -this.lastMetrics.get(application);
20
- this.appDurationMetric.add(lastFocusedTime, data);
21
- this.logger.debug(`metric ${this.settings.name} sent focused time ${lastFocusedTime} for app ${application}`);
36
+ unsubscribeCore() {
37
+ this.unInstanceFocusHandler();
38
+ return Promise.resolve();
39
+ }
40
+ handleFocusChanged(args) {
41
+ try {
42
+ this.validator.validateFocusChanged(args);
43
+ this.logger.debug(`focused changed is being invoked for metric ${this.settings.name} with ${JSON.stringify(args)}`);
44
+ return this.handleFocusChangedCore(args);
45
+ }
46
+ catch (error) {
47
+ const message = `error while executing handleFocusChanges for metric from type: ${this.settings.type}`;
48
+ this.logger.error(message, error);
49
+ }
50
+ }
51
+ handleFocusChangedCore(e) {
52
+ const focused = e.focused;
53
+ const application = e.application;
54
+ if (focused) {
55
+ this.handleGotFocus(application);
56
+ }
57
+ else {
58
+ try {
59
+ this.handleLostFocus(application);
60
+ }
61
+ finally {
62
+ this.currentFocusedApp = undefined;
63
+ }
22
64
  }
23
- this.appDurationMetric.add(focusedTime, data);
24
- this.logger.debug(`metric ${this.settings.name} sent focused time ${focusedTime} for app ${application}`);
25
- this.lastMetrics.set(application, focusedTime);
65
+ }
66
+ handleGotFocus(application) {
67
+ const now = new Date().getTime();
68
+ this.currentFocusedApp = { name: application, gotFocusTime: now };
69
+ if (!this.focusedTimes.has(this.currentFocusedApp.name)) {
70
+ this.focusedTimes.set(this.currentFocusedApp.name, []);
71
+ }
72
+ this.logger.debug(`got focus event has been added for metric ${this.settings.name}`);
73
+ }
74
+ handleLostFocus(application) {
75
+ if (validator_1.Validator.isNullOrUndefined(this.currentFocusedApp)) {
76
+ throw new Error(`cannot handle focus lost for application ${application} since there is no previous got focus event`);
77
+ }
78
+ const currentFocusedApp = this.currentFocusedApp.name;
79
+ const gotFocusTime = this.currentFocusedApp.gotFocusTime;
80
+ if (application !== currentFocusedApp) {
81
+ throw new Error(`cannot handle focus lost for application ${application} since the previous got focus event had come from application ${currentFocusedApp}`);
82
+ }
83
+ if (!this.focusedTimes.has(application)) {
84
+ throw new Error(`there is no got focus event for ${application}`);
85
+ }
86
+ this.addFocusLostEventCore(currentFocusedApp, gotFocusTime);
87
+ this.logger.debug(`lost focus event has been added for metric ${this.settings.name}`);
88
+ }
89
+ addFocusLostEventCore(application, gotFocusTime) {
90
+ const now = new Date().getTime();
91
+ const focusedTime = (now - gotFocusTime);
92
+ const focusedTimes = this.focusedTimes.get(application);
93
+ focusedTimes.push(focusedTime);
26
94
  }
27
95
  }
28
- exports.ApplicationDurationMetric = ApplicationDurationMetric;
96
+ exports.ApplicationDurationMetricBase = ApplicationDurationMetricBase;
29
97
  //# sourceMappingURL=duration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/metrics/application/duration.ts"],"names":[],"mappings":";;;AAEA,iDAA+D;AAE/D,MAAa,yBAA0B,SAAQ,4CAA6B;IAA5E;;QACI,2BAA2B;QACnB,gBAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAuBpD,CAAC;IApBsB,gBAAgB;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,cAAwB,EAAE,IAAyB;QAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAY,CAAC;QACtC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;QAE/G,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACnC,MAAM,eAAe,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,eAAe,YAAY,WAAW,EAAE,CAAC,CAAC;SACjH;QAED,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,WAAW,YAAY,WAAW,EAAE,CAAC,CAAC;QAE1G,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;CACJ;AAzBD,8DAyBC"}
1
+ {"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/metrics/application/duration.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { TelemetryMetricData } from "../types";
2
- import { ApplicationDurationMetricBase } from "./durationBase";
1
+ import { TelemetryMetricApplicationData } from "../types";
2
+ import { ApplicationDurationMetricBase } from "./duration";
3
3
  export declare class ApplicationDurationHistogramMetric extends ApplicationDurationMetricBase {
4
4
  private appDurationMetric;
5
5
  protected createMetricCore(): Promise<void>;
6
- protected sendMetric(focusedPeriods: number[], data: TelemetryMetricData): void;
6
+ protected sendMetric(focusedPeriods: number[], data: TelemetryMetricApplicationData): void;
7
7
  }
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApplicationDurationHistogramMetric = void 0;
4
- const durationBase_1 = require("./durationBase");
5
- class ApplicationDurationHistogramMetric extends durationBase_1.ApplicationDurationMetricBase {
4
+ const duration_1 = require("./duration");
5
+ class ApplicationDurationHistogramMetric extends duration_1.ApplicationDurationMetricBase {
6
6
  createMetricCore() {
7
7
  const advice = { explicitBucketBoundaries: this.settings.buckets };
8
8
  this.appDurationMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
@@ -1 +1 @@
1
- {"version":3,"file":"durationHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/durationHistogram.ts"],"names":[],"mappings":";;;AAEA,iDAA+D;AAE/D,MAAa,kCAAmC,SAAQ,4CAA6B;IAG9D,gBAAgB;QAC/B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,cAAwB,EAAE,IAAyB;QAC7E,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,gFAgBC"}
1
+ {"version":3,"file":"durationHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/durationHistogram.ts"],"names":[],"mappings":";;;AAEA,yCAA2D;AAE3D,MAAa,kCAAmC,SAAQ,wCAA6B;IAG9D,gBAAgB;QAC/B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,cAAwB,EAAE,IAAoC;QACxF,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,gFAgBC"}
@@ -1,11 +1,11 @@
1
1
  import { Meter, ObservableResult } from "@opentelemetry/api";
2
- import { TelemetryMetricData, TelemetryMetricSettings, PerformanceProvider } from "../types";
2
+ import { TelemetryMetricApplicationData, TelemetryMetricSettings, PerformanceProvider } from "../types";
3
3
  import { TelemetryLogger } from "../../types";
4
4
  import { GaugeMetricBase } from "../base/gauge";
5
- export declare class ApplicationMemoryMetric extends GaugeMetricBase {
5
+ export declare class ApplicationMemoryMetric extends GaugeMetricBase<TelemetryMetricApplicationData> {
6
6
  perfProvider: PerformanceProvider;
7
7
  constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, perfProvider: PerformanceProvider);
8
8
  protected subscribeCore(): Promise<void>;
9
- protected observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
9
+ protected observeCore(result: ObservableResult<TelemetryMetricApplicationData>): Promise<void>;
10
10
  protected unsubscribeCore(): Promise<void>;
11
11
  }
@@ -28,7 +28,7 @@ class ApplicationMemoryMetric extends gauge_1.GaugeMetricBase {
28
28
  validator.validateAppsMemory(appsMemory);
29
29
  appsMemory.forEach((info) => {
30
30
  var _a;
31
- const data = Object.assign({ applicationInstance: info.instance }, this.getData(info.app));
31
+ const data = Object.assign({ applicationInstance: info.instance }, this.getApplicationData(info.app));
32
32
  result.observe((_a = info.memory) !== null && _a !== void 0 ? _a : 0, data);
33
33
  this.logger.debug(`metric ${this.settings.name} sent memory ${info.memory} for app ${data.application} and instance ${data.applicationInstance}`);
34
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/metrics/application/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAChD,wDAA6E;AAC7E,qDAAkD;AAElD,MAAa,uBAAwB,SAAQ,uBAAe;IACxD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,YAAiC;QAExC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAFhC,iBAAY,GAAZ,YAAY,CAAqB;IAG5C,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAA6C;;YAC9E,MAAM,SAAS,GAAG,IAAI,mCAA4B,EAAE,CAAC;YACrD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YAE3D,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;gBAE1C,SAAS,CAAC,kBAAkB,CAAC,UAAW,CAAC,CAAC;gBAE1C,UAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;oBACzB,MAAM,IAAI,mBAAK,mBAAmB,EAAE,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;oBAC/E,MAAM,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACtJ,CAAC,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AAhCD,0DAgCC"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/metrics/application/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAChD,wDAA6E;AAC7E,qDAAkD;AAElD,MAAa,uBAAwB,SAAQ,uBAA+C;IACxF,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,YAAiC;QAExC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAFhC,iBAAY,GAAZ,YAAY,CAAqB;IAG5C,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAAwD;;YACzF,MAAM,SAAS,GAAG,IAAI,mCAA4B,EAAE,CAAC;YACrD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEtC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YAE3D,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE;gBAE1C,SAAS,CAAC,kBAAkB,CAAC,UAAW,CAAC,CAAC;gBAE1C,UAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;oBACzB,MAAM,IAAI,mBAAK,mBAAmB,EAAE,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;oBAC1F,MAAM,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,gBAAgB,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBACtJ,CAAC,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AAhCD,0DAgCC"}
@@ -32,7 +32,7 @@ class ApplicationStartedMetric extends base_1.MetricBase {
32
32
  try {
33
33
  this.validator.validateInstanceStarted(args);
34
34
  this.logger.debug(`instance started for application ${args.application} and metric ${this.settings.name} is being invoked`);
35
- const data = this.getData(args.application);
35
+ const data = this.getApplicationData(args.application);
36
36
  this.appStartedMetric.add(1, data);
37
37
  this.logger.debug(`metric ${this.settings.name} sent 1 more for app ${data.application}`);
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"started.js","sourceRoot":"","sources":["../../../src/metrics/application/started.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,0EAAiG;AAEjG,MAAa,wBAAyB,SAAQ,iBAAU;IAKpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA6C;QAEpD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAuB;QAGpD,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,IAA+B;QACzD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE5H,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7F;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,qEAAqE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAvDD,4DAuDC"}
1
+ {"version":3,"file":"started.js","sourceRoot":"","sources":["../../../src/metrics/application/started.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,0EAAiG;AAEjG,MAAa,wBAAyB,SAAQ,iBAAU;IAKpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA6C;QAEpD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAuB;QAGpD,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,IAA+B;QACzD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE5H,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7F;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,qEAAqE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAvDD,4DAuDC"}
@@ -1,7 +1,17 @@
1
- import { ApplicationStartupMetricBase } from "./startupBase";
2
- import { TelemetryMetricData } from "../types";
3
- export declare class ApplicationStartupHistogramMetric extends ApplicationStartupMetricBase {
1
+ import { Meter } from "@opentelemetry/api";
2
+ import { InstanceReadyHandler, TelemetryMetricSettings } from "../types";
3
+ import { TelemetryLogger } from "../../types";
4
+ import { MetricBase } from "../base/base";
5
+ export declare class ApplicationStartupHistogramMetric extends MetricBase {
6
+ private meter;
7
+ instanceReadyHandler: InstanceReadyHandler;
8
+ private instanceReadyUn;
9
+ private validator;
4
10
  private appStartupMetric;
5
- protected createMetricCore(): Promise<void>;
6
- protected sendMetric(startupTimes: number[], data: TelemetryMetricData): void;
11
+ constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, instanceReadyHandler: InstanceReadyHandler);
12
+ protected createMetric(): Promise<void>;
13
+ protected subscribe(): Promise<void>;
14
+ protected unsubscribe(): Promise<void>;
15
+ protected destroyMetric(): Promise<void>;
16
+ private handleInstanceReady;
7
17
  }
@@ -1,18 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApplicationStartupHistogramMetric = void 0;
4
- const startupBase_1 = require("./startupBase");
5
- class ApplicationStartupHistogramMetric extends startupBase_1.ApplicationStartupMetricBase {
6
- createMetricCore() {
4
+ const startupHistogram_1 = require("../../validation/metrics/application/startupHistogram");
5
+ const base_1 = require("../base/base");
6
+ class ApplicationStartupHistogramMetric extends base_1.MetricBase {
7
+ constructor(settings, meter, userId, logger, instanceReadyHandler) {
8
+ super(settings, userId, logger);
9
+ this.meter = meter;
10
+ this.instanceReadyHandler = instanceReadyHandler;
11
+ this.validator = new startupHistogram_1.ApplicationStartupHistogramMetricValidator();
12
+ this.validator.validate(this);
13
+ }
14
+ createMetric() {
7
15
  const advice = { explicitBucketBoundaries: this.settings.buckets };
8
16
  this.appStartupMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
9
17
  return Promise.resolve();
10
18
  }
11
- sendMetric(startupTimes, data) {
12
- startupTimes.forEach((time) => {
13
- this.appStartupMetric.record(time, data);
14
- this.logger.debug(`metric ${this.settings.name} sent startup time ${time} for app ${data.application}`);
15
- });
19
+ subscribe() {
20
+ this.instanceReadyUn = this.instanceReadyHandler(this.handleInstanceReady.bind(this));
21
+ return Promise.resolve();
22
+ }
23
+ unsubscribe() {
24
+ this.instanceReadyUn();
25
+ return Promise.resolve();
26
+ }
27
+ destroyMetric() {
28
+ return Promise.resolve();
29
+ }
30
+ handleInstanceReady(args) {
31
+ try {
32
+ this.validator.validateInstanceReady(args);
33
+ this.logger.debug(`instance ready for application ${args.application} and metric ${this.settings.name} is being invoked`);
34
+ const startupTime = args.endTime.getTime() - args.startTime.getTime();
35
+ const data = Object.assign({ api: args.api }, this.getApplicationData(args.application));
36
+ this.appStartupMetric.record(startupTime, data);
37
+ this.logger.debug(`start up time ${startupTime} has been added for metric ${this.settings.name}`);
38
+ }
39
+ catch (error) {
40
+ const message = `error while executing handleInstanceReady for metric from type: ${this.settings.type}`;
41
+ this.logger.error(message, error);
42
+ }
16
43
  }
17
44
  }
18
45
  exports.ApplicationStartupHistogramMetric = ApplicationStartupHistogramMetric;
@@ -1 +1 @@
1
- {"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/startupHistogram.ts"],"names":[],"mappings":";;;AACA,+CAA6D;AAG7D,MAAa,iCAAkC,SAAQ,0CAA4B;IAG5D,gBAAgB;QAC/B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAErJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAAyB;QAC3E,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,IAAI,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,8EAgBC"}
1
+ {"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/startupHistogram.ts"],"names":[],"mappings":";;;AAGA,4FAAmH;AACnH,uCAA0C;AAE1C,MAAa,iCAAkC,SAAQ,iBAAU;IAK7D,YACI,QAAiC,EACzB,KAAY,EACpB,MAAc,EACd,MAAuB,EAChB,oBAA0C;QAEjD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALxB,UAAK,GAAL,KAAK,CAAO;QAGb,yBAAoB,GAApB,oBAAoB,CAAsB;QAIjD,IAAI,CAAC,SAAS,GAAG,IAAI,6DAA0C,EAAE,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAErJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB,CAAC,IAA8B;QACtD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE1H,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACtE,MAAM,IAAI,mBAAK,GAAG,EAAE,IAAI,CAAC,GAAG,IAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAE,CAAC;YAC7E,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,8BAA8B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;SACrG;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,mEAAmE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAvDD,8EAuDC"}
@@ -32,7 +32,7 @@ class ApplicationStoppedMetric extends base_1.MetricBase {
32
32
  try {
33
33
  this.validator.validateInstanceStopped(args);
34
34
  this.logger.debug(`instance stopped for application ${args.application} and metric ${this.settings.name} is being invoked`);
35
- const data = this.getData(args.application);
35
+ const data = this.getApplicationData(args.application);
36
36
  this.appStoppedMetric.add(1, data);
37
37
  this.logger.debug(`metric ${this.settings.name} sent 1 more for app ${data.application}`);
38
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../src/metrics/application/stopped.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,0EAAiG;AAEjG,MAAa,wBAAyB,SAAQ,iBAAU;IAKpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA6C;QAEpD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAuB;QAGpD,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,IAA+B;QACzD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE5H,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7F;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,qEAAqE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAxDD,4DAwDC"}
1
+ {"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../src/metrics/application/stopped.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,0EAAiG;AAEjG,MAAa,wBAAyB,SAAQ,iBAAU;IAKpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA6C;QAEpD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAuB;QAGpD,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,IAA+B;QACzD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAE5H,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7F;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,qEAAqE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAxDD,4DAwDC"}
@@ -1,5 +1,5 @@
1
- import { TelemetryMetricData, TelemetryMetric, TelemetryMetricSettings } from "../types";
2
1
  import { TelemetryLogger } from "../../types";
2
+ import { TelemetryMetricApplicationData, TelemetryMetric, TelemetryMetricSettings, TelemetryMetricLayoutData, TelemetryMetricData } from "../types";
3
3
  export declare abstract class MetricBase implements TelemetryMetric {
4
4
  settings: TelemetryMetricSettings;
5
5
  userId: string;
@@ -12,5 +12,7 @@ export declare abstract class MetricBase implements TelemetryMetric {
12
12
  protected abstract subscribe(): Promise<void>;
13
13
  protected abstract unsubscribe(): Promise<void>;
14
14
  protected abstract destroyMetric(): Promise<void>;
15
- protected getData(application?: string): TelemetryMetricData;
15
+ protected getData(): TelemetryMetricData;
16
+ protected getApplicationData(application: string): TelemetryMetricApplicationData;
17
+ protected getLayoutData(layout: string): TelemetryMetricLayoutData;
16
18
  }
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MetricBase = void 0;
13
- const validator_1 = require("../../utils/validator");
14
13
  const base_1 = require("../../validation/metrics/base/base");
15
14
  class MetricBase {
16
15
  constructor(settings, userId, logger) {
@@ -53,13 +52,24 @@ class MetricBase {
53
52
  return Promise.resolve();
54
53
  });
55
54
  }
56
- getData(application) {
55
+ getData() {
57
56
  const data = {
58
57
  user: this.userId
59
58
  };
60
- if (!validator_1.Validator.isNullOrUndefined(application)) {
61
- data.application = application;
62
- }
59
+ return data;
60
+ }
61
+ getApplicationData(application) {
62
+ const data = {
63
+ user: this.userId,
64
+ application
65
+ };
66
+ return data;
67
+ }
68
+ getLayoutData(layout) {
69
+ const data = {
70
+ user: this.userId,
71
+ layout
72
+ };
63
73
  return data;
64
74
  }
65
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/metrics/base/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAkD;AAClD,6DAAyE;AAEzE,MAAsB,UAAU;IAG5B,YACW,QAAiC,EACjC,MAAc,EACd,MAAuB;QAFvB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAiB;QAL3B,YAAO,GAAY,KAAK,CAAC;QAO5B,MAAM,SAAS,GAAG,IAAI,0BAAmB,EAAE,CAAC;QAC5C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEY,KAAK;;YACd,IAAI;gBACA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBAEjE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,8DAA8D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAEY,IAAI;;YACb,IAAI;gBACA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,CAAC;gBAErE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,gEAAgE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAQS,OAAO,CAAC,WAAoB;QAClC,MAAM,IAAI,GAAwB;YAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QAEF,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAClC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7DD,gCA6DC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/metrics/base/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6DAAyE;AASzE,MAAsB,UAAU;IAG5B,YACW,QAAiC,EACjC,MAAc,EACd,MAAuB;QAFvB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAiB;QAL3B,YAAO,GAAY,KAAK,CAAC;QAO5B,MAAM,SAAS,GAAG,IAAI,0BAAmB,EAAE,CAAC;QAC5C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEY,KAAK;;YACd,IAAI;gBACA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBAEjE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,8DAA8D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAEY,IAAI;;YACb,IAAI;gBACA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,CAAC;gBAErE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,gEAAgE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAQS,OAAO;QACb,MAAM,IAAI,GAAwB;YAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,kBAAkB,CAAC,WAAmB;QAC5C,MAAM,IAAI,GAAmC;YACzC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,WAAW;SACd,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,aAAa,CAAC,MAAc;QAClC,MAAM,IAAI,GAA8B;YACpC,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,MAAM;SACT,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAxED,gCAwEC"}
@@ -1,18 +1,18 @@
1
- import { Meter, Observable, ObservableCallback, ObservableResult } from "@opentelemetry/api";
2
- import { TelemetryMetricData, TelemetryMetricSettings } from "../types";
1
+ import { Attributes, Meter, Observable, ObservableCallback, ObservableResult } from "@opentelemetry/api";
2
+ import { TelemetryMetricSettings } from "../types";
3
3
  import { TelemetryLogger } from "../../types";
4
4
  import { MetricBase } from "./base";
5
- export declare abstract class GaugeMetricBase extends MetricBase {
5
+ export declare abstract class GaugeMetricBase<TData extends Attributes> extends MetricBase {
6
6
  meter: Meter;
7
- protected metric: Observable<TelemetryMetricData>;
8
- protected observableCallback: ObservableCallback<TelemetryMetricData>;
7
+ protected metric: Observable<TData>;
8
+ protected observableCallback: ObservableCallback<TData>;
9
9
  constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger);
10
10
  protected createMetric(): Promise<void>;
11
11
  protected subscribe(): Promise<void>;
12
12
  protected destroyMetric(): Promise<void>;
13
13
  protected unsubscribe(): Promise<void>;
14
- protected observe(result: ObservableResult<TelemetryMetricData>): Promise<void>;
14
+ protected observe(result: ObservableResult<TData>): Promise<void>;
15
15
  protected abstract subscribeCore(): Promise<void>;
16
- protected abstract observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
16
+ protected abstract observeCore(result: ObservableResult<TData>): Promise<void>;
17
17
  protected abstract unsubscribeCore(): Promise<void>;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../src/metrics/base/gauge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,iCAAoC;AACpC,+DAA+E;AAE/E,MAAsB,eAAgB,SAAQ,iBAAU;IAIpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEwB,YAAY;;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5E,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;KAAA;IAEwB,SAAS;;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEkB,aAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEe,OAAO,CAAC,MAA6C;;YACjE,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;QACL,CAAC;KAAA;CAKJ;AA3DD,0CA2DC"}
1
+ {"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../src/metrics/base/gauge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,iCAAoC;AACpC,+DAA+E;AAE/E,MAAsB,eAA0C,SAAQ,iBAAU;IAI9E,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEwB,YAAY;;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5E,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;KAAA;IAEwB,SAAS;;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEkB,aAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEe,OAAO,CAAC,MAA+B;;YACnD,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;QACL,CAAC;KAAA;CAKJ;AA3DD,0CA2DC"}
@@ -1,11 +1,11 @@
1
- import { Meter, Observable, ObservableCallback } from "@opentelemetry/api";
1
+ import { Attributes, Meter, Observable, ObservableCallback } from "@opentelemetry/api";
2
2
  import { MetricBase } from "./base";
3
- import { TelemetryMetricData, TelemetryMetricSettings } from "../types";
3
+ import { TelemetryMetricSettings } from "../types";
4
4
  import { TelemetryLogger } from "../../types";
5
- export declare abstract class ObservableMetricBase extends MetricBase {
5
+ export declare abstract class ObservableMetricBase<TData extends Attributes> extends MetricBase {
6
6
  meter: Meter;
7
- protected metric: Observable<TelemetryMetricData>;
8
- protected observableCallback: ObservableCallback<TelemetryMetricData>;
7
+ protected metric: Observable<TData>;
8
+ protected observableCallback: ObservableCallback<TData>;
9
9
  constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger);
10
10
  protected createMetric(): Promise<void>;
11
11
  protected subscribe(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"observable.js","sourceRoot":"","sources":["../../../src/metrics/base/observable.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iCAAoC;AAGpC,+DAA+E;AAE/E,MAAsB,oBAAqB,SAAQ,iBAAU;IAIzD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY;;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,mBAAmB,CAAC,CAAC;YAE1E,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;KAAA;IAEwB,SAAS;;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEkB,aAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEe,OAAO;;YACnB,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;QACL,CAAC;KAAA;IAOO,gBAAgB,CAAC,MAAc;QACnC,MAAM,KAAK,GAAG,sDAAsD,CAAC;QACrE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAtED,oDAsEC"}
1
+ {"version":3,"file":"observable.js","sourceRoot":"","sources":["../../../src/metrics/base/observable.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iCAAoC;AAGpC,+DAA+E;AAE/E,MAAsB,oBAA+C,SAAQ,iBAAU;IAInF,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY;;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,mBAAmB,CAAC,CAAC;YAE1E,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;KAAA;IAEwB,SAAS;;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEkB,aAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEe,OAAO;;YACnB,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;QACL,CAAC;KAAA;IAOO,gBAAgB,CAAC,MAAc;QACnC,MAAM,KAAK,GAAG,sDAAsD,CAAC;QACrE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAtED,oDAsEC"}
@@ -1,4 +1,4 @@
1
- import { InstanceActionHandler, InstanceFocusedHandler, InstanceReadyHandler, LayoutRestoredHandler, PerformanceProvider, PlatformStartedHandler, TelemetryMetricsDependencyContainer } from "./types";
1
+ import { InstanceActionHandler, InstanceFocusedHandler, InstanceReadyHandler, LayoutRestoredHandler, PerformanceProvider, PlatformStartedHandler, TelemetryMetricsDependencyContainer, WorkspaceActionHandler } from "./types";
2
2
  export declare class MetricsDependencyBuilder {
3
3
  private performanceProvider;
4
4
  private instanceStartedHandler;
@@ -6,6 +6,8 @@ export declare class MetricsDependencyBuilder {
6
6
  private instanceReadyHandler;
7
7
  private instanceFocusedHandler;
8
8
  private layoutRestoredHandler;
9
+ private workspaceRestoredHandler;
10
+ private workspaceStoppedHandler;
9
11
  private platformStartedHandler;
10
12
  constructor();
11
13
  build(): TelemetryMetricsDependencyContainer;
@@ -14,6 +16,8 @@ export declare class MetricsDependencyBuilder {
14
16
  withInstanceReadyHandler(instanceReadyHandler: InstanceReadyHandler): this;
15
17
  withInstanceFocusedHandler(instanceFocusedHandler: InstanceFocusedHandler): this;
16
18
  withLayoutRestoredHandler(layoutRestoredHandler: LayoutRestoredHandler): this;
19
+ withWorkspaceRestoredHandler(workspaceRestoredHandler: LayoutRestoredHandler): this;
20
+ withWorkspaceStoppedHandler(workspaceStoppedHandler: WorkspaceActionHandler): this;
17
21
  withPlatformStartedHandler(platformStartedHandler: PlatformStartedHandler): this;
18
22
  withPerfProvider(perfProvider: PerformanceProvider): this;
19
23
  }