@interopio/otel 0.0.1 → 0.0.2

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 (158) hide show
  1. package/dist/builder.d.ts +14 -0
  2. package/dist/builder.js +47 -0
  3. package/dist/builder.js.map +1 -0
  4. package/dist/container.d.ts +4 -2
  5. package/dist/container.js +10 -1
  6. package/dist/container.js.map +1 -1
  7. package/dist/containerBuilder.d.ts +6 -4
  8. package/dist/containerBuilder.js +8 -1
  9. package/dist/containerBuilder.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +3 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/metrics/application/count.d.ts +4 -3
  14. package/dist/metrics/application/count.js +11 -4
  15. package/dist/metrics/application/count.js.map +1 -1
  16. package/dist/metrics/application/cpu.d.ts +1 -1
  17. package/dist/metrics/application/cpu.js +5 -1
  18. package/dist/metrics/application/cpu.js.map +1 -1
  19. package/dist/metrics/application/duration.d.ts +2 -1
  20. package/dist/metrics/application/duration.js +9 -5
  21. package/dist/metrics/application/duration.js.map +1 -1
  22. package/dist/metrics/application/durationHistogram.js +3 -3
  23. package/dist/metrics/application/durationHistogram.js.map +1 -1
  24. package/dist/metrics/application/durationSum.js +2 -2
  25. package/dist/metrics/application/durationSum.js.map +1 -1
  26. package/dist/metrics/application/memory.d.ts +1 -1
  27. package/dist/metrics/application/memory.js +7 -3
  28. package/dist/metrics/application/memory.js.map +1 -1
  29. package/dist/metrics/application/started.d.ts +3 -2
  30. package/dist/metrics/application/started.js +8 -3
  31. package/dist/metrics/application/started.js.map +1 -1
  32. package/dist/metrics/application/startup.d.ts +3 -2
  33. package/dist/metrics/application/startup.js +18 -19
  34. package/dist/metrics/application/startup.js.map +1 -1
  35. package/dist/metrics/application/startupHistogram.js +3 -3
  36. package/dist/metrics/application/startupHistogram.js.map +1 -1
  37. package/dist/metrics/application/stopped.d.ts +3 -2
  38. package/dist/metrics/application/stopped.js +8 -3
  39. package/dist/metrics/application/stopped.js.map +1 -1
  40. package/dist/metrics/base/base.d.ts +5 -10
  41. package/dist/metrics/base/base.js +41 -40
  42. package/dist/metrics/base/base.js.map +1 -1
  43. package/dist/metrics/base/gauge.d.ts +1 -1
  44. package/dist/metrics/base/gauge.js +9 -5
  45. package/dist/metrics/base/gauge.js.map +1 -1
  46. package/dist/metrics/base/null.d.ts +5 -9
  47. package/dist/metrics/base/null.js +5 -17
  48. package/dist/metrics/base/null.js.map +1 -1
  49. package/dist/metrics/builder.d.ts +15 -0
  50. package/dist/metrics/builder.js +44 -0
  51. package/dist/metrics/builder.js.map +1 -0
  52. package/dist/metrics/dependencyBuilder.d.ts +1 -1
  53. package/dist/metrics/dependencyBuilder.js +3 -3
  54. package/dist/metrics/dependencyBuilder.js.map +1 -1
  55. package/dist/metrics/factory.d.ts +2 -2
  56. package/dist/metrics/factory.js +7 -4
  57. package/dist/metrics/factory.js.map +1 -1
  58. package/dist/metrics/factoryBuilder.d.ts +5 -6
  59. package/dist/metrics/factoryBuilder.js +11 -21
  60. package/dist/metrics/factoryBuilder.js.map +1 -1
  61. package/dist/metrics/layout/startup.d.ts +2 -1
  62. package/dist/metrics/layout/startup.js +16 -17
  63. package/dist/metrics/layout/startup.js.map +1 -1
  64. package/dist/metrics/layout/startupHistogram.js +3 -3
  65. package/dist/metrics/layout/startupHistogram.js.map +1 -1
  66. package/dist/metrics/manager.d.ts +7 -6
  67. package/dist/metrics/manager.js +22 -24
  68. package/dist/metrics/manager.js.map +1 -1
  69. package/dist/metrics/platform/startup.d.ts +2 -1
  70. package/dist/metrics/platform/startup.js +12 -18
  71. package/dist/metrics/platform/startup.js.map +1 -1
  72. package/dist/metrics/settingsBuilder.d.ts +11 -4
  73. package/dist/metrics/settingsBuilder.js +57 -23
  74. package/dist/metrics/settingsBuilder.js.map +1 -1
  75. package/dist/metrics/system/cpu.d.ts +1 -1
  76. package/dist/metrics/system/cpu.js +12 -10
  77. package/dist/metrics/system/cpu.js.map +1 -1
  78. package/dist/metrics/system/memory.d.ts +1 -1
  79. package/dist/metrics/system/memory.js +13 -11
  80. package/dist/metrics/system/memory.js.map +1 -1
  81. package/dist/metrics/types.d.ts +15 -12
  82. package/dist/metrics/utils/nullMetricsManager.d.ts +3 -3
  83. package/dist/metrics/utils/nullMetricsManager.js +1 -1
  84. package/dist/metrics/utils/nullMetricsManager.js.map +1 -1
  85. package/dist/metrics/utils/nullPerfProvider.d.ts +2 -2
  86. package/dist/metrics/utils/nullPerfProvider.js +10 -2
  87. package/dist/metrics/utils/nullPerfProvider.js.map +1 -1
  88. package/dist/types.d.ts +3 -1
  89. package/dist/utils/nullLogger.d.ts +6 -0
  90. package/dist/utils/nullLogger.js +10 -0
  91. package/dist/utils/nullLogger.js.map +1 -0
  92. package/dist/utils/nullManager.d.ts +1 -0
  93. package/dist/utils/nullManager.js +5 -0
  94. package/dist/utils/nullManager.js.map +1 -1
  95. package/dist/utils/validator.d.ts +2 -1
  96. package/dist/utils/validator.js +5 -0
  97. package/dist/utils/validator.js.map +1 -1
  98. package/dist/validation/builder.d.ts +4 -0
  99. package/dist/validation/builder.js +13 -0
  100. package/dist/validation/builder.js.map +1 -0
  101. package/dist/validation/container.d.ts +4 -0
  102. package/dist/validation/container.js +15 -0
  103. package/dist/validation/container.js.map +1 -0
  104. package/dist/validation/containerBuilder.d.ts +4 -0
  105. package/dist/validation/containerBuilder.js +15 -0
  106. package/dist/validation/containerBuilder.js.map +1 -0
  107. package/dist/validation/metrics/application/count.d.ts +10 -0
  108. package/dist/validation/metrics/application/count.js +21 -0
  109. package/dist/validation/metrics/application/count.js.map +1 -0
  110. package/dist/validation/metrics/application/duration.d.ts +8 -0
  111. package/dist/validation/metrics/application/duration.js +17 -0
  112. package/dist/validation/metrics/application/duration.js.map +1 -0
  113. package/dist/validation/metrics/application/started.d.ts +7 -0
  114. package/dist/validation/metrics/application/started.js +16 -0
  115. package/dist/validation/metrics/application/started.js.map +1 -0
  116. package/dist/validation/metrics/application/startup.d.ts +8 -0
  117. package/dist/validation/metrics/application/startup.js +17 -0
  118. package/dist/validation/metrics/application/startup.js.map +1 -0
  119. package/dist/validation/metrics/application/stopped.d.ts +7 -0
  120. package/dist/validation/metrics/application/stopped.js +16 -0
  121. package/dist/validation/metrics/application/stopped.js.map +1 -0
  122. package/dist/validation/metrics/base/base.d.ts +5 -0
  123. package/dist/validation/metrics/base/base.js +20 -0
  124. package/dist/validation/metrics/base/base.js.map +1 -0
  125. package/dist/validation/metrics/base/gauge.d.ts +4 -0
  126. package/dist/validation/metrics/base/gauge.js +12 -0
  127. package/dist/validation/metrics/base/gauge.js.map +1 -0
  128. package/dist/validation/metrics/builder.d.ts +4 -0
  129. package/dist/validation/metrics/builder.js +14 -0
  130. package/dist/validation/metrics/builder.js.map +1 -0
  131. package/dist/validation/metrics/factory.d.ts +4 -0
  132. package/dist/validation/metrics/factory.js +13 -0
  133. package/dist/validation/metrics/factory.js.map +1 -0
  134. package/dist/validation/metrics/factoryBuilder.d.ts +5 -0
  135. package/dist/validation/metrics/factoryBuilder.js +25 -0
  136. package/dist/validation/metrics/factoryBuilder.js.map +1 -0
  137. package/dist/validation/metrics/layout/startup.d.ts +8 -0
  138. package/dist/validation/metrics/layout/startup.js +17 -0
  139. package/dist/validation/metrics/layout/startup.js.map +1 -0
  140. package/dist/validation/metrics/manager.d.ts +4 -0
  141. package/dist/validation/metrics/manager.js +14 -0
  142. package/dist/validation/metrics/manager.js.map +1 -0
  143. package/dist/validation/metrics/perf.d.ts +8 -0
  144. package/dist/validation/metrics/perf.js +41 -0
  145. package/dist/validation/metrics/perf.js.map +1 -0
  146. package/dist/validation/metrics/platform/startup.d.ts +7 -0
  147. package/dist/validation/metrics/platform/startup.js +16 -0
  148. package/dist/validation/metrics/platform/startup.js.map +1 -0
  149. package/dist/validation/metrics/settingsBuilder.d.ts +4 -0
  150. package/dist/validation/metrics/settingsBuilder.js +14 -0
  151. package/dist/validation/metrics/settingsBuilder.js.map +1 -0
  152. package/package.json +4 -1
  153. package/dist/metrics/pipeline.d.ts +0 -13
  154. package/dist/metrics/pipeline.js +0 -49
  155. package/dist/metrics/pipeline.js.map +0 -1
  156. package/dist/pipeline.d.ts +0 -14
  157. package/dist/pipeline.js +0 -66
  158. package/dist/pipeline.js.map +0 -1
@@ -17,18 +17,19 @@ const startup_2 = require("./layout/startup");
17
17
  const startupHistogram_2 = require("./layout/startupHistogram");
18
18
  const startup_3 = require("./platform/startup");
19
19
  const factory_1 = require("./factory");
20
- const validator_1 = require("../utils/validator");
20
+ const factoryBuilder_1 = require("../validation/metrics/factoryBuilder");
21
21
  class MetricsFactoryBuilder {
22
- constructor(meter, userId, dependencyContainer, logger) {
23
- this.metricsFactories = new Map();
24
- this.metricsFactories = new Map();
22
+ constructor(meter, dependencyContainer, userId, logger) {
25
23
  this.meter = meter;
26
- this.userId = userId;
27
24
  this.dependencyContainer = dependencyContainer;
25
+ this.userId = userId;
28
26
  this.logger = logger;
29
- this.throwIfNotPresent();
27
+ this.metricsFactories = new Map();
28
+ this.metricsFactories = new Map();
30
29
  }
31
30
  build() {
31
+ const validator = new factoryBuilder_1.MetricsFactoryBuilderValidator();
32
+ validator.validate(this);
32
33
  const metricsFactory = new factory_1.MetricsFactory(this.logger, this.metricsFactories);
33
34
  return metricsFactory;
34
35
  }
@@ -119,7 +120,7 @@ class MetricsFactoryBuilder {
119
120
  }
120
121
  withAppMemory() {
121
122
  const func = (settings) => {
122
- const metric = new memory_1.ApplicationMemoryMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
123
+ const metric = new memory_1.ApplicationMemoryMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.performanceProvider);
123
124
  return metric;
124
125
  };
125
126
  this.metricsFactories.set("app_memory", func.bind(this));
@@ -127,7 +128,7 @@ class MetricsFactoryBuilder {
127
128
  }
128
129
  withAppCPU() {
129
130
  const func = (settings) => {
130
- const metric = new cpu_1.ApplicationCPUMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
131
+ const metric = new cpu_1.ApplicationCPUMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.performanceProvider);
131
132
  return metric;
132
133
  };
133
134
  this.metricsFactories.set("app_cpu", func.bind(this));
@@ -135,7 +136,7 @@ class MetricsFactoryBuilder {
135
136
  }
136
137
  withSystemMemory() {
137
138
  const func = (settings) => {
138
- const metric = new memory_2.SystemMemoryMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
139
+ const metric = new memory_2.SystemMemoryMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.performanceProvider);
139
140
  return metric;
140
141
  };
141
142
  this.metricsFactories.set("system_memory", func.bind(this));
@@ -143,7 +144,7 @@ class MetricsFactoryBuilder {
143
144
  }
144
145
  withSystemCPU() {
145
146
  const func = (settings) => {
146
- const metric = new cpu_2.SystemCPUMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
147
+ const metric = new cpu_2.SystemCPUMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.performanceProvider);
147
148
  return metric;
148
149
  };
149
150
  this.metricsFactories.set("system_cpu", func.bind(this));
@@ -173,17 +174,6 @@ class MetricsFactoryBuilder {
173
174
  this.metricsFactories.set("platform_startup", func.bind(this));
174
175
  return this;
175
176
  }
176
- throwIfNotPresent() {
177
- if (validator_1.Validator.isNullOrUndefined(this.logger)) {
178
- throw new Error("logger must be provided");
179
- }
180
- if (validator_1.Validator.isNullOrUndefined(this.meter)) {
181
- throw new Error("meter must be provided");
182
- }
183
- if (validator_1.Validator.isNullOrUndefined(this.dependencyContainer)) {
184
- throw new Error("dependency container must be provided");
185
- }
186
- }
187
177
  }
188
178
  exports.MetricsFactoryBuilder = MetricsFactoryBuilder;
189
179
  //# sourceMappingURL=factoryBuilder.js.map
@@ -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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"}
@@ -3,9 +3,10 @@ import { GaugeMetricBase } from "../base/gauge";
3
3
  import { TelemetryMetricLayoutData, LayoutRestoredHandler, TelemetryMetricSettings } from "../types";
4
4
  import { TelemetryLogger } from "../../types";
5
5
  export declare class LayoutStartupMetric extends GaugeMetricBase {
6
+ layoutRestoredHandler: LayoutRestoredHandler;
6
7
  private layoutStartupTimes;
7
- private layoutRestoredHandler;
8
8
  private layoutRestoredUn;
9
+ private validator;
9
10
  constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, layoutRestoredHandler: LayoutRestoredHandler);
10
11
  protected subscribeCore(): Promise<void>;
11
12
  protected observeCore(result: ObservableResult<TelemetryMetricLayoutData>): Promise<void>;
@@ -11,12 +11,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.LayoutStartupMetric = void 0;
13
13
  const gauge_1 = require("../base/gauge");
14
+ const startup_1 = require("../../validation/metrics/layout/startup");
14
15
  class LayoutStartupMetric extends gauge_1.GaugeMetricBase {
15
16
  constructor(settings, meter, userId, logger, layoutRestoredHandler) {
16
17
  super(settings, meter, userId, logger);
18
+ this.layoutRestoredHandler = layoutRestoredHandler;
17
19
  // layout name -> [data, restore times]
18
20
  this.layoutStartupTimes = new Map();
19
- this.layoutRestoredHandler = layoutRestoredHandler;
21
+ this.validator = new startup_1.LayoutStartupMetricValidator();
22
+ this.validator.validate(this);
20
23
  }
21
24
  subscribeCore() {
22
25
  this.layoutRestoredUn = this.layoutRestoredHandler(this.handleLayoutRestored.bind(this));
@@ -24,19 +27,14 @@ class LayoutStartupMetric extends gauge_1.GaugeMetricBase {
24
27
  }
25
28
  observeCore(result) {
26
29
  return __awaiter(this, void 0, void 0, function* () {
27
- try {
28
- this.layoutStartupTimes.forEach((kvp, layout) => {
29
- const metrics = kvp[1];
30
- if (metrics.length > 0) {
31
- const data = kvp[0];
32
- this.observerCore(metrics, data, result);
33
- this.layoutStartupTimes.set(layout, [data, []]);
34
- }
35
- });
36
- }
37
- catch (error) {
38
- this.logger.error(error);
39
- }
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
+ });
40
38
  });
41
39
  }
42
40
  unsubscribeCore() {
@@ -46,18 +44,19 @@ class LayoutStartupMetric extends gauge_1.GaugeMetricBase {
46
44
  sendMetric(startupTimes, data, result) {
47
45
  const slowest = Math.max(...startupTimes);
48
46
  result.observe(slowest, data);
49
- this.logger.debug(`metric ${this.name} sent slowest startup time ${slowest} for layout ${data.layout}`);
47
+ this.logger.debug(`metric ${this.settings.name} sent slowest startup time ${slowest} for layout ${data.layout}`);
50
48
  }
51
49
  observerCore(startupTimes, data, result) {
52
50
  this.sendMetric(startupTimes, data, result);
53
51
  }
54
52
  handleLayoutRestored(e) {
55
53
  try {
56
- this.logger.debug(`layout restored is being invoked for metric ${this.name}`);
54
+ this.validator.validateLayoutRestored(e);
55
+ this.logger.debug(`layout restored is being invoked for metric ${this.settings.name}`);
57
56
  const now = (new Date()).getTime();
58
57
  const startupTime = now - e.startTime.getTime();
59
58
  this.addRestoredTime(startupTime, e.layout);
60
- this.logger.debug(`startup time ${startupTime} has been added for metric ${this.name}`);
59
+ this.logger.debug(`startup time ${startupTime} has been added for metric ${this.settings.name}`);
61
60
  }
62
61
  catch (error) {
63
62
  this.logger.error(error);
@@ -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":"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"}
@@ -5,13 +5,13 @@ const startup_1 = require("./startup");
5
5
  class LayoutStartupHistogramMetric extends startup_1.LayoutStartupMetric {
6
6
  constructor(settings, meter, userId, logger, layoutRestoredHandler) {
7
7
  super(settings, meter, userId, logger, layoutRestoredHandler);
8
- const advice = { explicitBucketBoundaries: this.buckets };
9
- this.layoutStartupMetric = this.meter.createHistogram(this.name, { description: this.description, unit: this.unit, advice });
8
+ const advice = { explicitBucketBoundaries: this.settings.buckets };
9
+ this.layoutStartupMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
10
10
  }
11
11
  sendMetric(startupTimes, data) {
12
12
  startupTimes.forEach((time) => {
13
13
  this.layoutStartupMetric.record(time, data);
14
- this.logger.debug(`metric ${this.name} sent startup time ${time} for layout ${data.layout}`);
14
+ this.logger.debug(`metric ${this.settings.name} sent startup time ${time} for layout ${data.layout}`);
15
15
  });
16
16
  }
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/layout/startupHistogram.ts"],"names":[],"mappings":";;;AACA,uCAAgD;AAIhD,MAAa,4BAA6B,SAAQ,6BAAmB;IAGjE,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,qBAA4C;QAE5C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjI,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAA+B;QACjF,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,sBAAsB,IAAI,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAtBD,oEAsBC"}
1
+ {"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/layout/startupHistogram.ts"],"names":[],"mappings":";;;AACA,uCAAgD;AAIhD,MAAa,4BAA6B,SAAQ,6BAAmB;IAGjE,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,qBAA4C;QAE5C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,mBAAmB,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;IAC5J,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAA+B;QACjF,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,IAAI,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAtBD,oEAsBC"}
@@ -1,17 +1,18 @@
1
1
  import { TelemetryLogger } from "../types";
2
- import { TelemetryMetric, TelemetryMetricsFactory, TelemetryMetricSettings, TelemetryMetricType, TelemetryMetricsManager } from "./types";
2
+ import { TelemetryMetric, TelemetryMetricsFactory, TelemetryMetricType, TelemetryMetricsManager, TelemetryMetricsSettings } from "./types";
3
3
  export declare class MetricsManager implements TelemetryMetricsManager {
4
- settings: TelemetryMetricSettings[];
4
+ settings: TelemetryMetricsSettings;
5
+ factory: TelemetryMetricsFactory;
6
+ logger: TelemetryLogger;
5
7
  private metrics;
6
- private factory;
7
- private logger;
8
- constructor(settings: TelemetryMetricSettings[], factory: TelemetryMetricsFactory, logger: TelemetryLogger);
8
+ started: boolean;
9
+ constructor(settings: TelemetryMetricsSettings, factory: TelemetryMetricsFactory, logger: TelemetryLogger);
9
10
  get(type: TelemetryMetricType): TelemetryMetric | undefined;
10
11
  start(): Promise<void>;
11
12
  stop(): Promise<void>;
13
+ startCore(): Promise<void>;
12
14
  private createMetrics;
13
15
  private createMetric;
14
16
  private startMetric;
15
17
  private stopMetric;
16
- private throwIfNotPresent;
17
18
  }
@@ -10,42 +10,51 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MetricsManager = void 0;
13
- const validator_1 = require("../utils/validator");
13
+ const manager_1 = require("../validation/metrics/manager");
14
14
  class MetricsManager {
15
15
  constructor(settings, factory, logger) {
16
16
  this.settings = settings;
17
- this.metrics = new Map();
18
17
  this.factory = factory;
19
18
  this.logger = logger;
20
- this.throwIfNotPresent();
19
+ this.metrics = new Map();
20
+ this.started = false;
21
+ const validator = new manager_1.MetricsManagerValidator();
22
+ validator.validate(this);
21
23
  }
22
24
  get(type) {
23
25
  const metric = this.metrics.get(type);
24
26
  return metric;
25
27
  }
26
28
  start() {
29
+ // keep in mind that the manager can be started dynamically
30
+ const startPromise = this.settings.enabled ? this.startCore() : Promise.resolve();
31
+ return startPromise;
32
+ }
33
+ stop() {
27
34
  return __awaiter(this, void 0, void 0, function* () {
28
35
  try {
29
- this.metrics = this.createMetrics(this.settings);
30
36
  for (const metricKvp of this.metrics) {
31
37
  const metric = metricKvp[1];
32
- yield this.startMetric(metric);
38
+ yield this.stopMetric(metric);
33
39
  }
34
- this.logger.info(`telemetry metrics manager has been started`);
40
+ this.started = false;
41
+ this.logger.info("metrics manager has been stopped");
35
42
  }
36
43
  catch (error) {
37
44
  this.logger.error(error);
38
45
  }
39
46
  });
40
47
  }
41
- stop() {
48
+ startCore() {
42
49
  return __awaiter(this, void 0, void 0, function* () {
43
50
  try {
51
+ this.metrics = this.createMetrics(this.settings.metrics);
44
52
  for (const metricKvp of this.metrics) {
45
53
  const metric = metricKvp[1];
46
- yield this.stopMetric(metric);
54
+ yield this.startMetric(metric);
47
55
  }
48
- this.logger.info(`telemetry metrics manager has been stopped`);
56
+ this.started = true;
57
+ this.logger.info("metrics manager has been started");
49
58
  }
50
59
  catch (error) {
51
60
  this.logger.error(error);
@@ -57,7 +66,7 @@ class MetricsManager {
57
66
  settings.forEach((metricSettings) => {
58
67
  const metric = this.createMetric(metricSettings);
59
68
  if (metric) {
60
- metrics.set(metric.type, metric);
69
+ metrics.set(metric.settings.type, metric);
61
70
  }
62
71
  });
63
72
  return metrics;
@@ -74,9 +83,9 @@ class MetricsManager {
74
83
  startMetric(metric) {
75
84
  return __awaiter(this, void 0, void 0, function* () {
76
85
  try {
77
- if (!metric.enabled) {
78
- // metric can be started dynamically
79
- this.logger.info(`metric ${metric.name} is disabled, will not start it.`);
86
+ if (!metric.settings.enabled) {
87
+ // keep in mind that a metric can be started dynamically
88
+ this.logger.info(`metric ${metric.settings.name} is disabled, will not start it.`);
80
89
  }
81
90
  else {
82
91
  yield metric.start();
@@ -98,17 +107,6 @@ class MetricsManager {
98
107
  }
99
108
  });
100
109
  }
101
- throwIfNotPresent() {
102
- if (validator_1.Validator.isNullOrUndefined(this.logger)) {
103
- throw new Error("logger must be provided");
104
- }
105
- if (validator_1.Validator.isNullOrUndefined(this.settings)) {
106
- throw new Error("settings must be provided");
107
- }
108
- if (validator_1.Validator.isNullOrUndefined(this.factory)) {
109
- throw new Error("factory container must be provided");
110
- }
111
- }
112
110
  }
113
111
  exports.MetricsManager = MetricsManager;
114
112
  //# sourceMappingURL=manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/metrics/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/metrics/manager.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,10 @@ import { GaugeMetricBase } from "../base/gauge";
3
3
  import { TelemetryMetricData, TelemetryMetricSettings, PlatformStartedHandler } from "../types";
4
4
  import { TelemetryLogger } from "../../types";
5
5
  export declare class PlatformStartupMetric extends GaugeMetricBase {
6
+ platformStartedHandler: PlatformStartedHandler;
6
7
  private startupTime;
7
- private platformStartedHandler;
8
8
  private applicationStartedUn;
9
+ private validator;
9
10
  constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, platformStartedHandler: PlatformStartedHandler);
10
11
  protected subscribeCore(): Promise<void>;
11
12
  protected observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
@@ -12,10 +12,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PlatformStartupMetric = void 0;
13
13
  const gauge_1 = require("../base/gauge");
14
14
  const validator_1 = require("../../utils/validator");
15
+ const startup_1 = require("../../validation/metrics/platform/startup");
15
16
  class PlatformStartupMetric extends gauge_1.GaugeMetricBase {
16
17
  constructor(settings, meter, userId, logger, platformStartedHandler) {
17
18
  super(settings, meter, userId, logger);
18
19
  this.platformStartedHandler = platformStartedHandler;
20
+ this.validator = new startup_1.PlatformStartupMetricValidator();
21
+ this.validator.validate(this);
19
22
  }
20
23
  subscribeCore() {
21
24
  this.applicationStartedUn = this.platformStartedHandler(this.handlePlatformStarted.bind(this));
@@ -23,14 +26,9 @@ class PlatformStartupMetric extends gauge_1.GaugeMetricBase {
23
26
  }
24
27
  observeCore(result) {
25
28
  return __awaiter(this, void 0, void 0, function* () {
26
- try {
27
- if (!validator_1.Validator.isNullOrUndefined(this.startupTime)) {
28
- const data = this.getData();
29
- this.sendMetric(this.startupTime, data, result);
30
- }
31
- }
32
- catch (error) {
33
- this.logger.error(error);
29
+ if (!validator_1.Validator.isNullOrUndefined(this.startupTime)) {
30
+ const data = this.getData();
31
+ this.sendMetric(this.startupTime, data, result);
34
32
  }
35
33
  });
36
34
  }
@@ -40,19 +38,15 @@ class PlatformStartupMetric extends gauge_1.GaugeMetricBase {
40
38
  }
41
39
  sendMetric(startupTime, data, result) {
42
40
  result.observe(startupTime, data);
43
- this.logger.debug(`metric ${this.name} sent startup time ${startupTime}`);
41
+ this.logger.debug(`metric ${this.settings.name} sent startup time ${startupTime}`);
44
42
  }
45
43
  handlePlatformStarted(e) {
46
44
  try {
47
- try {
48
- this.logger.debug(`platform started is being invoked for metric ${this.name}`);
49
- const now = (new Date()).getTime();
50
- this.startupTime = now - e.startTime;
51
- this.logger.debug(`start up time ${this.startupTime} has been added for metric ${this.name}`);
52
- }
53
- catch (error) {
54
- this.logger.error(error);
55
- }
45
+ this.validator.validatePlatformStarted(e);
46
+ this.logger.debug(`platform started is being invoked for metric ${this.settings.name}`);
47
+ const now = (new Date()).getTime();
48
+ this.startupTime = now - e.startTime;
49
+ this.logger.debug(`start up time ${this.startupTime} has been added for metric ${this.settings.name}`);
56
50
  }
57
51
  catch (error) {
58
52
  this.logger.error(error);
@@ -1 +1 @@
1
- {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/platform/startup.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAAgD;AAGhD,qDAAkD;AAElD,MAAa,qBAAsB,SAAQ,uBAAe;IAMtD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,sBAA8C;QAE9C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACzD,CAAC;IAEkB,aAAa;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEwB,WAAW,CAAC,MAA6C;;YAC9E,IAAI;gBACA,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;iBACnD;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC5B;QACL,CAAC;KAAA;IAEkB,eAAe;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,WAAmB,EAAE,IAAyB,EAAE,MAA6C;QAC5G,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,sBAAsB,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEO,qBAAqB,CAAC,CAAwB;QAClD,IAAI;YACA,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE/E,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;gBAErC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACjG;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC5B;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;IACL,CAAC;CACJ;AA5DD,sDA4DC"}
1
+ {"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/platform/startup.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAAgD;AAGhD,qDAAkD;AAClD,uEAA2F;AAE3F,MAAa,qBAAsB,SAAQ,uBAAe;IAKtD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,sBAA8C;QAErD,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAFhC,2BAAsB,GAAtB,sBAAsB,CAAwB;QAGrD,IAAI,CAAC,SAAS,GAAG,IAAI,wCAA8B,EAAE,CAAC;QACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,aAAa;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEwB,WAAW,CAAC,MAA6C;;YAC9E,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;aACnD;QACL,CAAC;KAAA;IAEkB,eAAe;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,WAAmB,EAAE,IAAyB,EAAE,MAA6C;QAC5G,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,WAAW,EAAE,CAAC,CAAC;IACvF,CAAC;IAEO,qBAAqB,CAAC,CAAwB;QAClD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAExF,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;YAErC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,8BAA8B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;SAC1G;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;IACL,CAAC;CACJ;AAtDD,sDAsDC"}
@@ -1,9 +1,16 @@
1
- import { TelemetryMetricSettings } from "./types";
1
+ import { TelemetryMetricSettings, TelemetryMetricsSettings } from "./types";
2
2
  export declare class MetricsSettingsBuilder {
3
- private metricsSettings;
3
+ private metrics;
4
+ enabled: boolean;
5
+ userId: string;
6
+ defaultMetricsEnabled: boolean;
4
7
  constructor();
5
- build(): TelemetryMetricSettings[];
6
- withDefaults(enabled?: boolean): this;
8
+ build(): TelemetryMetricsSettings;
9
+ withSettings(settings: TelemetryMetricsSettings): this;
10
+ withEnabled(enabled: boolean): this;
11
+ withUserId(userId: string): this;
12
+ withDefaultMetricsEnabled(enabled: boolean): this;
13
+ withDefaultMetrics(enabled?: boolean): this;
7
14
  withCustomMetrics(settings: TelemetryMetricSettings[], mergeIfExists?: boolean): this;
8
15
  withCustomMetric(custom: TelemetryMetricSettings, mergeIfExists?: boolean): this;
9
16
  withAppStarted(enabled?: boolean): this;