@interopio/otel 0.0.3 → 0.0.5

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 (71) hide show
  1. package/dist/metrics/application/count.js +8 -8
  2. package/dist/metrics/application/count.js.map +1 -1
  3. package/dist/metrics/application/duration.d.ts +7 -20
  4. package/dist/metrics/application/duration.js +19 -92
  5. package/dist/metrics/application/duration.js.map +1 -1
  6. package/dist/metrics/application/durationBase.d.ts +21 -0
  7. package/dist/metrics/application/durationBase.js +102 -0
  8. package/dist/metrics/application/durationBase.js.map +1 -0
  9. package/dist/metrics/application/durationHistogram.d.ts +4 -6
  10. package/dist/metrics/application/durationHistogram.js +4 -4
  11. package/dist/metrics/application/durationHistogram.js.map +1 -1
  12. package/dist/metrics/application/started.js +4 -4
  13. package/dist/metrics/application/started.js.map +1 -1
  14. package/dist/metrics/application/startup.d.ts +7 -16
  15. package/dist/metrics/application/startup.js +17 -62
  16. package/dist/metrics/application/startup.js.map +1 -1
  17. package/dist/metrics/application/startupBase.d.ts +17 -0
  18. package/dist/metrics/application/startupBase.js +68 -0
  19. package/dist/metrics/application/startupBase.js.map +1 -0
  20. package/dist/metrics/application/startupHistogram.d.ts +4 -6
  21. package/dist/metrics/application/startupHistogram.js +4 -4
  22. package/dist/metrics/application/startupHistogram.js.map +1 -1
  23. package/dist/metrics/application/stopped.js +4 -4
  24. package/dist/metrics/application/stopped.js.map +1 -1
  25. package/dist/metrics/base/gauge.js +7 -5
  26. package/dist/metrics/base/gauge.js.map +1 -1
  27. package/dist/metrics/base/observable.d.ts +20 -0
  28. package/dist/metrics/base/observable.js +70 -0
  29. package/dist/metrics/base/observable.js.map +1 -0
  30. package/dist/metrics/factory.js +1 -1
  31. package/dist/metrics/factory.js.map +1 -1
  32. package/dist/metrics/factoryBuilder.d.ts +0 -1
  33. package/dist/metrics/factoryBuilder.js +7 -17
  34. package/dist/metrics/factoryBuilder.js.map +1 -1
  35. package/dist/metrics/layout/startup.d.ts +7 -17
  36. package/dist/metrics/layout/startup.js +18 -66
  37. package/dist/metrics/layout/startup.js.map +1 -1
  38. package/dist/metrics/layout/startupBase.d.ts +18 -0
  39. package/dist/metrics/layout/startupBase.js +71 -0
  40. package/dist/metrics/layout/startupBase.js.map +1 -0
  41. package/dist/metrics/layout/startupHistogram.d.ts +4 -6
  42. package/dist/metrics/layout/startupHistogram.js +4 -4
  43. package/dist/metrics/layout/startupHistogram.js.map +1 -1
  44. package/dist/metrics/{base/null.d.ts → null.d.ts} +2 -2
  45. package/dist/metrics/null.js.map +1 -0
  46. package/dist/metrics/platform/startup.js +3 -4
  47. package/dist/metrics/platform/startup.js.map +1 -1
  48. package/dist/metrics/settingsBuilder.d.ts +0 -1
  49. package/dist/metrics/settingsBuilder.js +1 -13
  50. package/dist/metrics/settingsBuilder.js.map +1 -1
  51. package/dist/metrics/types.d.ts +24 -15
  52. package/dist/validation/metrics/application/duration.d.ts +4 -6
  53. package/dist/validation/metrics/application/duration.js +4 -4
  54. package/dist/validation/metrics/application/duration.js.map +1 -1
  55. package/dist/validation/metrics/application/startup.d.ts +4 -6
  56. package/dist/validation/metrics/application/startup.js +5 -4
  57. package/dist/validation/metrics/application/startup.js.map +1 -1
  58. package/dist/validation/metrics/base/gauge.d.ts +2 -1
  59. package/dist/validation/metrics/base/gauge.js.map +1 -1
  60. package/dist/validation/metrics/layout/startup.d.ts +4 -6
  61. package/dist/validation/metrics/layout/startup.js +5 -4
  62. package/dist/validation/metrics/layout/startup.js.map +1 -1
  63. package/dist/validation/metrics/platform/startup.d.ts +2 -3
  64. package/dist/validation/metrics/platform/startup.js +4 -3
  65. package/dist/validation/metrics/platform/startup.js.map +1 -1
  66. package/package.json +1 -1
  67. package/dist/metrics/application/durationSum.d.ts +0 -9
  68. package/dist/metrics/application/durationSum.js +0 -17
  69. package/dist/metrics/application/durationSum.js.map +0 -1
  70. package/dist/metrics/base/null.js.map +0 -1
  71. /package/dist/metrics/{base/null.js → null.js} +0 -0
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ApplicationStartupMetricBase = void 0;
13
+ const startup_1 = require("../../validation/metrics/application/startup");
14
+ const observable_1 = require("../base/observable");
15
+ class ApplicationStartupMetricBase extends observable_1.ObservableMetricBase {
16
+ constructor(settings, meter, userId, logger, instanceReadyHandler) {
17
+ super(settings, meter, userId, logger);
18
+ this.instanceReadyHandler = instanceReadyHandler;
19
+ // application -> [data, startup times]
20
+ this.startupTimes = new Map();
21
+ this.validator = new startup_1.ApplicationStartupMetricValidator();
22
+ this.validator.validate(this);
23
+ }
24
+ subscribeCore() {
25
+ this.interopReadyUn = this.instanceReadyHandler(this.handleInstanceReady.bind(this));
26
+ return Promise.resolve();
27
+ }
28
+ observeCore() {
29
+ return __awaiter(this, void 0, void 0, function* () {
30
+ this.startupTimes.forEach((kvp, application) => {
31
+ const metrics = kvp[1];
32
+ if (metrics.length > 0) {
33
+ const data = kvp[0];
34
+ this.sendMetric(metrics, data);
35
+ this.startupTimes.set(application, [data, []]);
36
+ }
37
+ });
38
+ });
39
+ }
40
+ unsubscribeCore() {
41
+ this.interopReadyUn();
42
+ return Promise.resolve();
43
+ }
44
+ handleInstanceReady(args) {
45
+ try {
46
+ this.validator.validateInstanceReady(args);
47
+ this.logger.debug(`instance ready for application ${args.application} and metric ${this.settings.name} is being invoked`);
48
+ const startupTime = args.endTime.getTime() - args.startTime.getTime();
49
+ this.addStartupTime(startupTime, args.application);
50
+ this.logger.debug(`start up time ${startupTime} has been added for metric ${this.settings.name}`);
51
+ }
52
+ catch (error) {
53
+ const message = `error while executing handleInstanceReady for metric from type: ${this.settings.type}`;
54
+ this.logger.error(message, error);
55
+ }
56
+ }
57
+ addStartupTime(time, application) {
58
+ if (!this.startupTimes.has(application)) {
59
+ const data = this.getData(application);
60
+ this.startupTimes.set(application, [data, []]);
61
+ }
62
+ const kvp = this.startupTimes.get(application);
63
+ const metrics = kvp[1];
64
+ metrics.push(time);
65
+ }
66
+ }
67
+ exports.ApplicationStartupMetricBase = ApplicationStartupMetricBase;
68
+ //# sourceMappingURL=startupBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startupBase.js","sourceRoot":"","sources":["../../../src/metrics/application/startupBase.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
- import { Meter } from "@opentelemetry/api";
2
- import { ApplicationStartupMetric } from "./startup";
3
- import { TelemetryMetricData, InstanceReadyHandler, TelemetryMetricSettings } from "../types";
4
- import { TelemetryLogger } from "../../types";
5
- export declare class ApplicationStartupHistogramMetric extends ApplicationStartupMetric {
1
+ import { ApplicationStartupMetricBase } from "./startupBase";
2
+ import { TelemetryMetricData } from "../types";
3
+ export declare class ApplicationStartupHistogramMetric extends ApplicationStartupMetricBase {
6
4
  private appStartupMetric;
7
- constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, instanceReadyHandler: InstanceReadyHandler);
5
+ protected createMetricCore(): Promise<void>;
8
6
  protected sendMetric(startupTimes: number[], data: TelemetryMetricData): void;
9
7
  }
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApplicationStartupHistogramMetric = void 0;
4
- const startup_1 = require("./startup");
5
- class ApplicationStartupHistogramMetric extends startup_1.ApplicationStartupMetric {
6
- constructor(settings, meter, userId, logger, instanceReadyHandler) {
7
- super(settings, meter, userId, logger, instanceReadyHandler);
4
+ const startupBase_1 = require("./startupBase");
5
+ class ApplicationStartupHistogramMetric extends startupBase_1.ApplicationStartupMetricBase {
6
+ createMetricCore() {
8
7
  const advice = { explicitBucketBoundaries: this.settings.buckets };
9
8
  this.appStartupMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
9
+ return Promise.resolve();
10
10
  }
11
11
  sendMetric(startupTimes, data) {
12
12
  startupTimes.forEach((time) => {
@@ -1 +1 @@
1
- {"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/startupHistogram.ts"],"names":[],"mappings":";;;AACA,uCAAqD;AAIrD,MAAa,iCAAkC,SAAQ,kCAAwB;IAG3E,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,oBAA0C;QAE1C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC;QAE7D,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;IACzJ,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;AAtBD,8EAsBC"}
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"}
@@ -28,11 +28,11 @@ class ApplicationStoppedMetric extends base_1.MetricBase {
28
28
  destroyMetric() {
29
29
  return Promise.resolve();
30
30
  }
31
- handleInstanceStopped(e) {
31
+ handleInstanceStopped(args) {
32
32
  try {
33
- this.validator.validateInstanceStopped(e);
34
- this.logger.debug(`instance stopped for application ${e.application} and metric ${this.settings.name} is being invoked`);
35
- const data = this.getData(e.application);
33
+ this.validator.validateInstanceStopped(args);
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);
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,CAA0B;QACpD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEzH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACzC,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,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"}
@@ -21,11 +21,13 @@ class GaugeMetricBase extends base_1.MetricBase {
21
21
  validator.validate(this);
22
22
  }
23
23
  createMetric() {
24
- const name = this.settings.name;
25
- const description = this.settings.description;
26
- const unit = this.settings.unit;
27
- this.metric = this.meter.createObservableGauge(name, { description, unit });
28
- return Promise.resolve();
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const name = this.settings.name;
26
+ const description = this.settings.description;
27
+ const unit = this.settings.unit;
28
+ this.metric = this.meter.createObservableGauge(name, { description, unit });
29
+ yield Promise.resolve();
30
+ });
29
31
  }
30
32
  subscribe() {
31
33
  return __awaiter(this, void 0, void 0, function* () {
@@ -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;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5E,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;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,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"}
@@ -0,0 +1,20 @@
1
+ import { Meter, Observable, ObservableCallback } from "@opentelemetry/api";
2
+ import { MetricBase } from "./base";
3
+ import { TelemetryMetricData, TelemetryMetricSettings } from "../types";
4
+ import { TelemetryLogger } from "../../types";
5
+ export declare abstract class ObservableMetricBase extends MetricBase {
6
+ meter: Meter;
7
+ protected metric: Observable<TelemetryMetricData>;
8
+ protected observableCallback: ObservableCallback<TelemetryMetricData>;
9
+ constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger);
10
+ protected createMetric(): Promise<void>;
11
+ protected subscribe(): Promise<void>;
12
+ protected destroyMetric(): Promise<void>;
13
+ protected unsubscribe(): Promise<void>;
14
+ protected observe(): Promise<void>;
15
+ protected abstract createMetricCore(): Promise<void>;
16
+ protected abstract subscribeCore(): Promise<void>;
17
+ protected abstract observeCore(): Promise<void>;
18
+ protected abstract unsubscribeCore(): Promise<void>;
19
+ private createUniqueName;
20
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ObservableMetricBase = void 0;
13
+ const base_1 = require("./base");
14
+ const gauge_1 = require("../../validation/metrics/base/gauge");
15
+ class ObservableMetricBase extends base_1.MetricBase {
16
+ constructor(settings, meter, userId, logger) {
17
+ super(settings, userId, logger);
18
+ this.meter = meter;
19
+ this.meter = meter;
20
+ const validator = new gauge_1.GaugeMetricBaseValidator();
21
+ validator.validate(this);
22
+ }
23
+ createMetric() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const gaugeName = this.createUniqueName(64);
26
+ this.metric = this.meter.createObservableGauge(gaugeName);
27
+ this.logger.debug(`observable base metric ${gaugeName} has been created`);
28
+ yield this.createMetricCore();
29
+ });
30
+ }
31
+ subscribe() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ this.observableCallback = this.observe.bind(this);
34
+ this.metric.addCallback(this.observableCallback);
35
+ yield this.subscribeCore();
36
+ });
37
+ }
38
+ destroyMetric() {
39
+ this.metric.removeCallback(this.observableCallback);
40
+ return Promise.resolve();
41
+ }
42
+ unsubscribe() {
43
+ return this.unsubscribeCore();
44
+ }
45
+ observe() {
46
+ return __awaiter(this, void 0, void 0, function* () {
47
+ try {
48
+ this.logger.debug(`observe is being invoked for gauge metric ${this.settings.name}`);
49
+ yield this.observeCore();
50
+ this.logger.debug(`gauge metric ${this.settings.name} has been observed`);
51
+ }
52
+ catch (error) {
53
+ const message = `error while executing observe for metric from type: ${this.settings.type}`;
54
+ this.logger.error(message, error);
55
+ }
56
+ });
57
+ }
58
+ createUniqueName(length) {
59
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
60
+ let result = "";
61
+ const randomArray = new Uint8Array(length);
62
+ crypto.getRandomValues(randomArray);
63
+ randomArray.forEach((number) => {
64
+ result += chars[number % chars.length];
65
+ });
66
+ return result;
67
+ }
68
+ }
69
+ exports.ObservableMetricBase = ObservableMetricBase;
70
+ //# sourceMappingURL=observable.js.map
@@ -0,0 +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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetricsFactory = void 0;
4
4
  const factory_1 = require("../validation/metrics/factory");
5
- const null_1 = require("./base/null");
5
+ const null_1 = require("./null");
6
6
  class MetricsFactory {
7
7
  constructor(logger, metricsFactories) {
8
8
  this.logger = logger;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/metrics/factory.ts"],"names":[],"mappings":";;;AACA,2DAAwE;AACxE,sCAAyC;AAGzC,MAAa,cAAc;IACvB,YACW,MAAuB,EACvB,gBAAqE;QADrE,WAAM,GAAN,MAAM,CAAiB;QACvB,qBAAgB,GAAhB,gBAAgB,CAAqD;QAE5E,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,cAAuC;QACjD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,gBAAgB,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;SACjB;aAAM;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC1E,OAAO,UAAU,CAAC;SACrB;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAiC,EAAE,MAAc;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAI,iBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5BD,wCA4BC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/metrics/factory.ts"],"names":[],"mappings":";;;AACA,2DAAwE;AACxE,iCAAoC;AAGpC,MAAa,cAAc;IACvB,YACW,MAAuB,EACvB,gBAAqE;QADrE,WAAM,GAAN,MAAM,CAAiB;QACvB,qBAAgB,GAAhB,gBAAgB,CAAqD;QAE5E,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,cAAuC;QACjD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,gBAAgB,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;SACjB;aAAM;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC1E,OAAO,UAAU,CAAC;SACrB;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAiC,EAAE,MAAc;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAI,iBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5BD,wCA4BC"}
@@ -17,7 +17,6 @@ export declare class MetricsFactoryBuilder {
17
17
  withAppStartupHistogram(): this;
18
18
  withAppCount(): this;
19
19
  withAppDuration(): this;
20
- withAppDurationSum(): this;
21
20
  withAppDurationHistogram(): this;
22
21
  withAppMemory(): this;
23
22
  withAppCPU(): this;
@@ -3,21 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetricsFactoryBuilder = void 0;
4
4
  const started_1 = require("./application/started");
5
5
  const stopped_1 = require("./application/stopped");
6
- const startup_1 = require("./application/startup");
7
6
  const startupHistogram_1 = require("./application/startupHistogram");
8
7
  const count_1 = require("./application/count");
9
- const duration_1 = require("./application/duration");
10
- const durationSum_1 = require("./application/durationSum");
11
8
  const durationHistogram_1 = require("./application/durationHistogram");
12
9
  const memory_1 = require("./application/memory");
13
10
  const cpu_1 = require("./application/cpu");
14
11
  const memory_2 = require("./system/memory");
15
12
  const cpu_2 = require("./system/cpu");
16
- const startup_2 = require("./layout/startup");
17
13
  const startupHistogram_2 = require("./layout/startupHistogram");
18
- const startup_3 = require("./platform/startup");
14
+ const startup_1 = require("./platform/startup");
19
15
  const factory_1 = require("./factory");
20
16
  const factoryBuilder_1 = require("../validation/metrics/factoryBuilder");
17
+ const startup_2 = require("./application/startup");
18
+ const duration_1 = require("./application/duration");
19
+ const startup_3 = require("./layout/startup");
21
20
  class MetricsFactoryBuilder {
22
21
  constructor(meter, dependencyContainer, userId, logger) {
23
22
  this.meter = meter;
@@ -40,7 +39,6 @@ class MetricsFactoryBuilder {
40
39
  .withAppStartupHistogram()
41
40
  .withAppCount()
42
41
  .withAppDuration()
43
- .withAppDurationSum()
44
42
  .withAppDurationHistogram()
45
43
  .withAppMemory()
46
44
  .withAppCPU()
@@ -72,7 +70,7 @@ class MetricsFactoryBuilder {
72
70
  }
73
71
  withAppStartup() {
74
72
  const func = (settings) => {
75
- const metric = new startup_1.ApplicationStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceReadyHandler);
73
+ const metric = new startup_2.ApplicationStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceReadyHandler);
76
74
  return metric;
77
75
  };
78
76
  this.metricsFactories.set("app_startup", func.bind(this));
@@ -102,14 +100,6 @@ class MetricsFactoryBuilder {
102
100
  this.metricsFactories.set("app_duration", func.bind(this));
103
101
  return this;
104
102
  }
105
- withAppDurationSum() {
106
- const func = (settings) => {
107
- const metric = new durationSum_1.ApplicationDurationSumMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
108
- return metric;
109
- };
110
- this.metricsFactories.set("app_duration_sum", func.bind(this));
111
- return this;
112
- }
113
103
  withAppDurationHistogram() {
114
104
  const func = (settings) => {
115
105
  const metric = new durationHistogram_1.ApplicationDurationHistogramMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
@@ -152,7 +142,7 @@ class MetricsFactoryBuilder {
152
142
  }
153
143
  withLayoutStartup() {
154
144
  const func = (settings) => {
155
- const metric = new startup_2.LayoutStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.layoutRestoredHandler);
145
+ const metric = new startup_3.LayoutStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.layoutRestoredHandler);
156
146
  return metric;
157
147
  };
158
148
  this.metricsFactories.set("layout_startup", func.bind(this));
@@ -168,7 +158,7 @@ class MetricsFactoryBuilder {
168
158
  }
169
159
  withPlatformStartup() {
170
160
  const func = (settings) => {
171
- const metric = new startup_3.PlatformStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.platformStartedHandler);
161
+ const metric = new startup_1.PlatformStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.platformStartedHandler);
172
162
  return metric;
173
163
  };
174
164
  this.metricsFactories.set("platform_startup", func.bind(this));
@@ -1 +1 @@
1
- {"version":3,"file":"factoryBuilder.js","sourceRoot":"","sources":["../../src/metrics/factoryBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"factoryBuilder.js","sourceRoot":"","sources":["../../src/metrics/factoryBuilder.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,8 @@
1
- import { Meter, ObservableResult } from "@opentelemetry/api";
2
- import { GaugeMetricBase } from "../base/gauge";
3
- import { TelemetryMetricLayoutData, LayoutRestoredHandler, TelemetryMetricSettings } from "../types";
4
- import { TelemetryLogger } from "../../types";
5
- export declare class LayoutStartupMetric extends GaugeMetricBase {
6
- layoutRestoredHandler: LayoutRestoredHandler;
7
- private layoutStartupTimes;
8
- private layoutRestoredUn;
9
- private validator;
10
- constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, layoutRestoredHandler: LayoutRestoredHandler);
11
- protected subscribeCore(): Promise<void>;
12
- protected observeCore(result: ObservableResult<TelemetryMetricLayoutData>): Promise<void>;
13
- protected unsubscribeCore(): Promise<void>;
14
- protected sendMetric(startupTimes: number[], data: TelemetryMetricLayoutData, result: ObservableResult<TelemetryMetricLayoutData>): void;
15
- private observerCore;
16
- private handleLayoutRestored;
17
- private addRestoredTime;
1
+ import { LayoutStartupMetricBase } from "./startupBase";
2
+ import { TelemetryMetricLayoutData } from "../types";
3
+ export declare class LayoutStartupMetric extends LayoutStartupMetricBase {
4
+ private lastMetrics;
5
+ private layoutStartupMetric;
6
+ protected createMetricCore(): Promise<void>;
7
+ protected sendMetric(startupTimes: number[], data: TelemetryMetricLayoutData): void;
18
8
  }
@@ -1,76 +1,28 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.LayoutStartupMetric = void 0;
13
- const gauge_1 = require("../base/gauge");
14
- const startup_1 = require("../../validation/metrics/layout/startup");
15
- class LayoutStartupMetric extends gauge_1.GaugeMetricBase {
16
- constructor(settings, meter, userId, logger, layoutRestoredHandler) {
17
- super(settings, meter, userId, logger);
18
- this.layoutRestoredHandler = layoutRestoredHandler;
19
- // layout name -> [data, restore times]
20
- this.layoutStartupTimes = new Map();
21
- this.validator = new startup_1.LayoutStartupMetricValidator();
22
- this.validator.validate(this);
23
- }
24
- subscribeCore() {
25
- this.layoutRestoredUn = this.layoutRestoredHandler(this.handleLayoutRestored.bind(this));
26
- return Promise.resolve();
27
- }
28
- observeCore(result) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- this.layoutStartupTimes.forEach((kvp, layout) => {
31
- const metrics = kvp[1];
32
- if (metrics.length > 0) {
33
- const data = kvp[0];
34
- this.observerCore(metrics, data, result);
35
- this.layoutStartupTimes.set(layout, [data, []]);
36
- }
37
- });
38
- });
39
- }
40
- unsubscribeCore() {
41
- this.layoutRestoredUn();
4
+ const startupBase_1 = require("./startupBase");
5
+ class LayoutStartupMetric extends startupBase_1.LayoutStartupMetricBase {
6
+ constructor() {
7
+ super(...arguments);
8
+ // app -> last metric value
9
+ this.lastMetrics = new Map();
10
+ }
11
+ createMetricCore() {
12
+ this.layoutStartupMetric = this.meter.createUpDownCounter(this.settings.name, { description: this.settings.description, unit: this.settings.unit });
42
13
  return Promise.resolve();
43
14
  }
44
- sendMetric(startupTimes, data, result) {
15
+ sendMetric(startupTimes, data) {
16
+ const layout = data.layout;
45
17
  const slowest = Math.max(...startupTimes);
46
- result.observe(slowest, data);
47
- this.logger.debug(`metric ${this.settings.name} sent slowest startup time ${slowest} for layout ${data.layout}`);
48
- }
49
- observerCore(startupTimes, data, result) {
50
- this.sendMetric(startupTimes, data, result);
51
- }
52
- handleLayoutRestored(e) {
53
- try {
54
- this.validator.validateLayoutRestored(e);
55
- this.logger.debug(`layout restored is being invoked for metric ${this.settings.name}`);
56
- const now = (new Date()).getTime();
57
- const startupTime = now - e.startTime.getTime();
58
- this.addRestoredTime(startupTime, e.layout);
59
- this.logger.debug(`startup time ${startupTime} has been added for metric ${this.settings.name}`);
60
- }
61
- catch (error) {
62
- const message = `error while executing handleLayoutRestored for metric from type: ${this.settings.type}`;
63
- this.logger.error(message, error);
18
+ if (this.lastMetrics.has(layout)) {
19
+ const lastSlowestStartup = -this.lastMetrics.get(layout);
20
+ this.layoutStartupMetric.add(lastSlowestStartup, data);
21
+ this.logger.debug(`metric ${this.settings.name} sent startup time ${lastSlowestStartup} for layout ${data.layout}`);
64
22
  }
65
- }
66
- addRestoredTime(time, layout) {
67
- if (!this.layoutStartupTimes.has(layout)) {
68
- const data = Object.assign({ layout }, this.getData());
69
- this.layoutStartupTimes.set(layout, [data, []]);
70
- }
71
- const kvp = this.layoutStartupTimes.get(layout);
72
- const metrics = kvp[1];
73
- metrics.push(time);
23
+ this.layoutStartupMetric.add(slowest, data);
24
+ this.logger.debug(`metric ${this.settings.name} sent slowest startup time ${slowest} for layout ${data.layout}`);
25
+ this.lastMetrics.set(layout, slowest);
74
26
  }
75
27
  }
76
28
  exports.LayoutStartupMetric = LayoutStartupMetric;
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/layout/startup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/layout/startup.ts"],"names":[],"mappings":";;;AACA,+CAAwD;AAGxD,MAAa,mBAAoB,SAAQ,qCAAuB;IAAhE;;QACI,2BAA2B;QACnB,gBAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAuBpD,CAAC;IApBsB,gBAAgB;QAC/B,IAAI,CAAC,mBAAmB,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;QACpJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAA+B;QACjF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9B,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;YAC1D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,kBAAkB,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACvH;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,8BAA8B,OAAO,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACJ;AAzBD,kDAyBC"}
@@ -0,0 +1,18 @@
1
+ import { Meter } from "@opentelemetry/api";
2
+ import { TelemetryMetricLayoutData, LayoutRestoredHandler, TelemetryMetricSettings } from "../types";
3
+ import { TelemetryLogger } from "../../types";
4
+ import { ObservableMetricBase } from "../base/observable";
5
+ export declare abstract class LayoutStartupMetricBase extends ObservableMetricBase {
6
+ layoutRestoredHandler: LayoutRestoredHandler;
7
+ private layoutStartupTimes;
8
+ private layoutRestoredUn;
9
+ private validator;
10
+ constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, layoutRestoredHandler: LayoutRestoredHandler);
11
+ protected subscribeCore(): Promise<void>;
12
+ protected observeCore(): Promise<void>;
13
+ protected unsubscribeCore(): Promise<void>;
14
+ protected abstract sendMetric(startupTimes: number[], data: TelemetryMetricLayoutData): void;
15
+ private observerCore;
16
+ private handleLayoutRestored;
17
+ private addRestoredTime;
18
+ }