@interopio/insights-metrics 0.0.171 → 0.0.172

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 (196) hide show
  1. package/dist/constants.d.ts +27 -0
  2. package/dist/constants.js +31 -0
  3. package/dist/constants.js.map +1 -0
  4. package/dist/factory/builder.d.ts +34 -0
  5. package/dist/factory/builder.js +290 -0
  6. package/dist/factory/builder.js.map +1 -0
  7. package/dist/factory/factory.d.ts +10 -0
  8. package/dist/factory/factory.js +71 -0
  9. package/dist/factory/factory.js.map +1 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.js +41 -6
  12. package/dist/index.js.map +1 -1
  13. package/dist/manager.d.ts +26 -0
  14. package/dist/manager.js +164 -0
  15. package/dist/manager.js.map +1 -0
  16. package/dist/meter/lazyProvider.d.ts +15 -0
  17. package/dist/meter/lazyProvider.js +36 -0
  18. package/dist/meter/lazyProvider.js.map +1 -0
  19. package/dist/meter/providerFactory.d.ts +6 -0
  20. package/dist/meter/providerFactory.js +38 -0
  21. package/dist/meter/providerFactory.js.map +1 -0
  22. package/dist/metrics/application/count.d.ts +19 -0
  23. package/dist/metrics/application/count.js +69 -0
  24. package/dist/metrics/application/count.js.map +1 -0
  25. package/dist/metrics/application/cpu.d.ts +10 -0
  26. package/dist/metrics/application/cpu.js +48 -0
  27. package/dist/metrics/application/cpu.js.map +1 -0
  28. package/dist/metrics/application/crash.d.ts +16 -0
  29. package/dist/metrics/application/crash.js +49 -0
  30. package/dist/metrics/application/crash.js.map +1 -0
  31. package/dist/metrics/application/duration.d.ts +25 -0
  32. package/dist/metrics/application/duration.js +105 -0
  33. package/dist/metrics/application/duration.js.map +1 -0
  34. package/dist/metrics/application/durationSoft.d.ts +4 -0
  35. package/dist/metrics/application/durationSoft.js +34 -0
  36. package/dist/metrics/application/durationSoft.js.map +1 -0
  37. package/dist/metrics/application/error.d.ts +16 -0
  38. package/dist/metrics/application/error.js +49 -0
  39. package/dist/metrics/application/error.js.map +1 -0
  40. package/dist/metrics/application/memory.d.ts +11 -0
  41. package/dist/metrics/application/memory.js +50 -0
  42. package/dist/metrics/application/memory.js.map +1 -0
  43. package/dist/metrics/application/started.d.ts +16 -0
  44. package/dist/metrics/application/started.js +49 -0
  45. package/dist/metrics/application/started.js.map +1 -0
  46. package/dist/metrics/application/startup.d.ts +16 -0
  47. package/dist/metrics/application/startup.js +50 -0
  48. package/dist/metrics/application/startup.js.map +1 -0
  49. package/dist/metrics/application/stopped.d.ts +16 -0
  50. package/dist/metrics/application/stopped.js +49 -0
  51. package/dist/metrics/application/stopped.js.map +1 -0
  52. package/dist/metrics/base/base.d.ts +29 -0
  53. package/dist/metrics/base/base.js +198 -0
  54. package/dist/metrics/base/base.js.map +1 -0
  55. package/dist/metrics/base/observable.d.ts +19 -0
  56. package/dist/metrics/base/observable.js +83 -0
  57. package/dist/metrics/base/observable.js.map +1 -0
  58. package/dist/metrics/base/observableGauge.d.ts +6 -0
  59. package/dist/metrics/base/observableGauge.js +12 -0
  60. package/dist/metrics/base/observableGauge.js.map +1 -0
  61. package/dist/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.d.ts +12 -0
  62. package/dist/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.js +39 -0
  63. package/dist/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.js.map +1 -0
  64. package/dist/metrics/custom/customCounter.d.ts +10 -0
  65. package/dist/metrics/custom/customCounter.js +24 -0
  66. package/dist/metrics/custom/customCounter.js.map +1 -0
  67. package/dist/metrics/custom/customGauge.d.ts +10 -0
  68. package/dist/metrics/custom/customGauge.js +24 -0
  69. package/dist/metrics/custom/customGauge.js.map +1 -0
  70. package/dist/metrics/custom/customHistogram.d.ts +10 -0
  71. package/dist/metrics/custom/customHistogram.js +24 -0
  72. package/dist/metrics/custom/customHistogram.js.map +1 -0
  73. package/dist/metrics/custom/customObservableCounter.d.ts +6 -0
  74. package/dist/metrics/custom/customObservableCounter.js +13 -0
  75. package/dist/metrics/custom/customObservableCounter.js.map +1 -0
  76. package/dist/metrics/custom/customObservableGauge.d.ts +6 -0
  77. package/dist/metrics/custom/customObservableGauge.js +13 -0
  78. package/dist/metrics/custom/customObservableGauge.js.map +1 -0
  79. package/dist/metrics/custom/customObservableUpDownCounter.d.ts +6 -0
  80. package/dist/metrics/custom/customObservableUpDownCounter.js +13 -0
  81. package/dist/metrics/custom/customObservableUpDownCounter.js.map +1 -0
  82. package/dist/metrics/custom/customUpDownCounter.d.ts +10 -0
  83. package/dist/metrics/custom/customUpDownCounter.js +24 -0
  84. package/dist/metrics/custom/customUpDownCounter.js.map +1 -0
  85. package/dist/metrics/layout/startup.d.ts +15 -0
  86. package/dist/metrics/layout/startup.js +47 -0
  87. package/dist/metrics/layout/startup.js.map +1 -0
  88. package/dist/metrics/platform/error.d.ts +15 -0
  89. package/dist/metrics/platform/error.js +47 -0
  90. package/dist/metrics/platform/error.js.map +1 -0
  91. package/dist/metrics/platform/startup.d.ts +16 -0
  92. package/dist/metrics/platform/startup.js +63 -0
  93. package/dist/metrics/platform/startup.js.map +1 -0
  94. package/dist/metrics/system/cpu.d.ts +10 -0
  95. package/dist/metrics/system/cpu.js +50 -0
  96. package/dist/metrics/system/cpu.js.map +1 -0
  97. package/dist/metrics/system/memory.d.ts +10 -0
  98. package/dist/metrics/system/memory.js +51 -0
  99. package/dist/metrics/system/memory.js.map +1 -0
  100. package/dist/metrics/workspace/count.d.ts +23 -0
  101. package/dist/metrics/workspace/count.js +94 -0
  102. package/dist/metrics/workspace/count.js.map +1 -0
  103. package/dist/metrics/workspace/selected.d.ts +14 -0
  104. package/dist/metrics/workspace/selected.js +47 -0
  105. package/dist/metrics/workspace/selected.js.map +1 -0
  106. package/dist/metrics/workspace/started.d.ts +17 -0
  107. package/dist/metrics/workspace/started.js +49 -0
  108. package/dist/metrics/workspace/started.js.map +1 -0
  109. package/dist/metrics/workspace/startupLegacy.d.ts +8 -0
  110. package/dist/metrics/workspace/startupLegacy.js +20 -0
  111. package/dist/metrics/workspace/startupLegacy.js.map +1 -0
  112. package/dist/metrics/workspace/stopped.d.ts +15 -0
  113. package/dist/metrics/workspace/stopped.js +46 -0
  114. package/dist/metrics/workspace/stopped.js.map +1 -0
  115. package/dist/metrics/workspace/timedGauge.d.ts +14 -0
  116. package/dist/metrics/workspace/timedGauge.js +54 -0
  117. package/dist/metrics/workspace/timedGauge.js.map +1 -0
  118. package/dist/settings/builder.d.ts +26 -0
  119. package/dist/settings/builder.js +142 -0
  120. package/dist/settings/builder.js.map +1 -0
  121. package/dist/settings/default.d.ts +40 -0
  122. package/dist/settings/default.js +178 -0
  123. package/dist/settings/default.js.map +1 -0
  124. package/dist/validation/builder.d.ts +4 -0
  125. package/dist/validation/builder.js +12 -0
  126. package/dist/validation/builder.js.map +1 -0
  127. package/dist/validation/container.d.ts +4 -0
  128. package/dist/validation/container.js +14 -0
  129. package/dist/validation/container.js.map +1 -0
  130. package/dist/validation/metrics/application/count.d.ts +7 -0
  131. package/dist/validation/metrics/application/count.js +21 -0
  132. package/dist/validation/metrics/application/count.js.map +1 -0
  133. package/dist/validation/metrics/application/duration.d.ts +6 -0
  134. package/dist/validation/metrics/application/duration.js +17 -0
  135. package/dist/validation/metrics/application/duration.js.map +1 -0
  136. package/dist/validation/metrics/application/error.d.ts +6 -0
  137. package/dist/validation/metrics/application/error.js +16 -0
  138. package/dist/validation/metrics/application/error.js.map +1 -0
  139. package/dist/validation/metrics/application/started.d.ts +6 -0
  140. package/dist/validation/metrics/application/started.js +16 -0
  141. package/dist/validation/metrics/application/started.js.map +1 -0
  142. package/dist/validation/metrics/application/startupHistogram.d.ts +6 -0
  143. package/dist/validation/metrics/application/startupHistogram.js +18 -0
  144. package/dist/validation/metrics/application/startupHistogram.js.map +1 -0
  145. package/dist/validation/metrics/application/stopped.d.ts +6 -0
  146. package/dist/validation/metrics/application/stopped.js +16 -0
  147. package/dist/validation/metrics/application/stopped.js.map +1 -0
  148. package/dist/validation/metrics/base/base.d.ts +5 -0
  149. package/dist/validation/metrics/base/base.js +22 -0
  150. package/dist/validation/metrics/base/base.js.map +1 -0
  151. package/dist/validation/metrics/base/gauge.d.ts +5 -0
  152. package/dist/validation/metrics/base/gauge.js +12 -0
  153. package/dist/validation/metrics/base/gauge.js.map +1 -0
  154. package/dist/validation/metrics/builder.d.ts +2 -0
  155. package/dist/validation/metrics/builder.js +7 -0
  156. package/dist/validation/metrics/builder.js.map +1 -0
  157. package/dist/validation/metrics/factory.d.ts +4 -0
  158. package/dist/validation/metrics/factory.js +13 -0
  159. package/dist/validation/metrics/factory.js.map +1 -0
  160. package/dist/validation/metrics/factoryBuilder.d.ts +5 -0
  161. package/dist/validation/metrics/factoryBuilder.js +23 -0
  162. package/dist/validation/metrics/factoryBuilder.js.map +1 -0
  163. package/dist/validation/metrics/layout/startupHistogram.d.ts +6 -0
  164. package/dist/validation/metrics/layout/startupHistogram.js +18 -0
  165. package/dist/validation/metrics/layout/startupHistogram.js.map +1 -0
  166. package/dist/validation/metrics/manager.d.ts +4 -0
  167. package/dist/validation/metrics/manager.js +15 -0
  168. package/dist/validation/metrics/manager.js.map +1 -0
  169. package/dist/validation/metrics/meterFactory.d.ts +2 -0
  170. package/dist/validation/metrics/meterFactory.js +8 -0
  171. package/dist/validation/metrics/meterFactory.js.map +1 -0
  172. package/dist/validation/metrics/perf.d.ts +8 -0
  173. package/dist/validation/metrics/perf.js +41 -0
  174. package/dist/validation/metrics/perf.js.map +1 -0
  175. package/dist/validation/metrics/platform/crash.d.ts +6 -0
  176. package/dist/validation/metrics/platform/crash.js +16 -0
  177. package/dist/validation/metrics/platform/crash.js.map +1 -0
  178. package/dist/validation/metrics/platform/error.d.ts +6 -0
  179. package/dist/validation/metrics/platform/error.js +15 -0
  180. package/dist/validation/metrics/platform/error.js.map +1 -0
  181. package/dist/validation/metrics/platform/startup.d.ts +6 -0
  182. package/dist/validation/metrics/platform/startup.js +18 -0
  183. package/dist/validation/metrics/platform/startup.js.map +1 -0
  184. package/dist/validation/metrics/settingsBuilder.d.ts +4 -0
  185. package/dist/validation/metrics/settingsBuilder.js +26 -0
  186. package/dist/validation/metrics/settingsBuilder.js.map +1 -0
  187. package/dist/validation/metrics/workspace/count.d.ts +8 -0
  188. package/dist/validation/metrics/workspace/count.js +25 -0
  189. package/dist/validation/metrics/workspace/count.js.map +1 -0
  190. package/dist/validation/metrics/workspace/startedOrStoppedMetric.d.ts +8 -0
  191. package/dist/validation/metrics/workspace/startedOrStoppedMetric.js +19 -0
  192. package/dist/validation/metrics/workspace/startedOrStoppedMetric.js.map +1 -0
  193. package/dist/validation/validator.d.ts +4 -0
  194. package/dist/validation/validator.js +15 -0
  195. package/dist/validation/validator.js.map +1 -0
  196. package/package.json +2 -1
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceStartedMetric = void 0;
4
+ const base_1 = require("../base/base");
5
+ const startedOrStoppedMetric_1 = require("../../validation/metrics/workspace/startedOrStoppedMetric");
6
+ const otel_1 = require("@interopio/otel");
7
+ class WorkspaceStartedMetric extends base_1.MetricBase {
8
+ constructor(settings, meter, logger, generalSettings, workspaceActionHandler, workspaceRestoredHandler, defaultFilters) {
9
+ super(settings, meter, logger, generalSettings, defaultFilters);
10
+ this.meter = meter;
11
+ this.workspaceActionHandler = workspaceActionHandler;
12
+ this.workspaceRestoredHandler = workspaceRestoredHandler;
13
+ this.validator = new startedOrStoppedMetric_1.WorkspaceStartedOrStoppedMetricValidator();
14
+ this.validator.validate(this);
15
+ }
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ createMetricCore(name, baseSettings) {
18
+ return this.workspaceStartedMetric = this.meter.createCounter(name, baseSettings);
19
+ }
20
+ subscribe() {
21
+ this.workspaceStartedUn = otel_1.Container.errorless(() => this.workspaceActionHandler(this.handleWorkspaceStarted.bind(this)));
22
+ this.workspaceRestoredUn = otel_1.Container.errorless(() => this.workspaceRestoredHandler(this.handleWorkspaceStarted.bind(this)));
23
+ return Promise.resolve();
24
+ }
25
+ unsubscribe() {
26
+ otel_1.Container.errorless(() => { var _a; return (_a = this.workspaceStartedUn) === null || _a === void 0 ? void 0 : _a.call(this); });
27
+ otel_1.Container.errorless(() => { var _a; return (_a = this.workspaceRestoredUn) === null || _a === void 0 ? void 0 : _a.call(this); });
28
+ return Promise.resolve();
29
+ }
30
+ handleWorkspaceStarted(args) {
31
+ var _a;
32
+ try {
33
+ this.validator.validateWorkspaceStarted(args);
34
+ this.logger.debug(`workspace Started for layout ${args.layout} and metric ${this.settings.name} is being invoked`);
35
+ const data = this.getLayoutData(args.layout);
36
+ if (((_a = this.getFilter(data)) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
37
+ return;
38
+ }
39
+ this.workspaceStartedMetric.add(1, this.prePublish(data));
40
+ this.logger.debug(`metric ${this.settings.name} sent 1 more for workspace layout ${data.layout}`);
41
+ }
42
+ catch (error) {
43
+ const message = `error while executing handleWorkspaceStarted for metric from type: ${this.settings.type}`;
44
+ this.logger.warn(message, error);
45
+ }
46
+ }
47
+ }
48
+ exports.WorkspaceStartedMetric = WorkspaceStartedMetric;
49
+ //# sourceMappingURL=started.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"started.js","sourceRoot":"","sources":["../../../src/metrics/workspace/started.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAC1C,sGAAqH;AACrH,0CAA4C;AAG5C,MAAa,sBAAuB,SAAQ,iBAAU;IAOlD,YACI,QAAmC,EAC5B,KAAY,EACnB,MAAyB,EACzB,eAA2C,EACpC,sBAAuG,EACvG,wBAAyG,EAChH,cAAiD;QAEjD,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAPzD,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAiF;QACvG,6BAAwB,GAAxB,wBAAwB,CAAiF;QAIhH,IAAI,CAAC,SAAS,GAAG,IAAI,iEAAwC,EAAE,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,8DAA8D;IAC3C,gBAAgB,CAAC,IAAY,EAAE,YAAiB;QAC/D,OAAO,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtF,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,kBAAkB,GAAG,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzH,IAAI,CAAC,mBAAmB,GAAG,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5H,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,kBAAkB,oDAAI,CAAA,EAAA,CAAC,CAAC;QACvD,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,mBAAmB,oDAAI,CAAA,EAAA,CAAC,CAAC;QAExD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,sBAAsB,CAAC,IAA2C;;QACtE,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEnH,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0CAAE,OAAO,MAAK,KAAK,EAAE;gBACzC,OAAO;aACV;YACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC,CAAC;YAEjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,qCAAqC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrG;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,sEAAsE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACpC;IACL,CAAC;CACJ;AA1DD,wDA0DC"}
@@ -0,0 +1,8 @@
1
+ import { type Meter } from "@opentelemetry/api";
2
+ import { LayoutStartupMetric } from "../layout/startup";
3
+ import { IOInsights } from "@interopio/otel/insights";
4
+ export declare class WorkspaceStartupHistogramMetric extends LayoutStartupMetric {
5
+ workspaceLoadedHandler: IOInsights.WorkspaceLoadedHandler;
6
+ workspaceRestoredHandler: IOInsights.WorkspaceRestoredHandler;
7
+ constructor(settings: IOInsights.MetricSettings, meter: Meter, logger: IOInsights.Logger, generalSettings: IOInsights.MetricsSettings, workspaceLoadedHandler: IOInsights.WorkspaceLoadedHandler, workspaceRestoredHandler: IOInsights.WorkspaceRestoredHandler, defaultFilters?: IOInsights.MetricDefaultFilter[]);
8
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceStartupHistogramMetric = void 0;
4
+ const startup_1 = require("../layout/startup");
5
+ class WorkspaceStartupHistogramMetric extends startup_1.LayoutStartupMetric {
6
+ constructor(settings, meter, logger, generalSettings, workspaceLoadedHandler, workspaceRestoredHandler, defaultFilters) {
7
+ super(settings, meter, logger, generalSettings, (callback) => {
8
+ const un1 = this.workspaceLoadedHandler(callback);
9
+ const un2 = this.workspaceRestoredHandler(callback);
10
+ return () => {
11
+ un1();
12
+ un2();
13
+ };
14
+ }, defaultFilters);
15
+ this.workspaceLoadedHandler = workspaceLoadedHandler;
16
+ this.workspaceRestoredHandler = workspaceRestoredHandler;
17
+ }
18
+ }
19
+ exports.WorkspaceStartupHistogramMetric = WorkspaceStartupHistogramMetric;
20
+ //# sourceMappingURL=startupLegacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startupLegacy.js","sourceRoot":"","sources":["../../../src/metrics/workspace/startupLegacy.ts"],"names":[],"mappings":";;;AACA,+CAAwD;AAGxD,MAAa,+BAAgC,SAAQ,6BAAmB;IACpE,YACI,QAAmC,EACnC,KAAY,EACZ,MAAyB,EACzB,eAA2C,EACpC,sBAAyD,EACzD,wBAA6D,EACpE,cAAiD;QAEjD,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE;YACzD,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YACpD,OAAO,GAAG,EAAE;gBACR,GAAG,EAAE,CAAC;gBACN,GAAG,EAAE,CAAC;YACV,CAAC,CAAC;QACN,CAAC,EAAE,cAAc,CAAC,CAAC;QAXZ,2BAAsB,GAAtB,sBAAsB,CAAmC;QACzD,6BAAwB,GAAxB,wBAAwB,CAAqC;IAWxE,CAAC;CACJ;AAnBD,0EAmBC"}
@@ -0,0 +1,15 @@
1
+ import { type Counter, type Meter } from "@opentelemetry/api";
2
+ import { MetricBase } from "../base/base";
3
+ import { IOInsights } from "@interopio/otel/insights";
4
+ export declare class WorkspaceStoppedMetric extends MetricBase {
5
+ meter: Meter;
6
+ workspaceActionHandler: IOInsights.WorkspaceActionHandler;
7
+ private workspaceStoppedMetric;
8
+ private workspaceStoppedUn?;
9
+ private validator;
10
+ constructor(settings: IOInsights.MetricSettings, meter: Meter, logger: IOInsights.Logger, generalSettings: IOInsights.MetricsSettings, workspaceActionHandler: IOInsights.WorkspaceActionHandler, defaultFilters?: IOInsights.MetricDefaultFilter[]);
11
+ protected createMetricCore(name: string, baseSettings: any): Counter<IOInsights.LayoutMetricData>;
12
+ protected subscribe(): Promise<void>;
13
+ protected unsubscribe(): Promise<void>;
14
+ private handleWorkspaceStopped;
15
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceStoppedMetric = void 0;
4
+ const base_1 = require("../base/base");
5
+ const startedOrStoppedMetric_1 = require("../../validation/metrics/workspace/startedOrStoppedMetric");
6
+ const otel_1 = require("@interopio/otel");
7
+ class WorkspaceStoppedMetric extends base_1.MetricBase {
8
+ constructor(settings, meter, logger, generalSettings, workspaceActionHandler, defaultFilters) {
9
+ super(settings, meter, logger, generalSettings, defaultFilters);
10
+ this.meter = meter;
11
+ this.workspaceActionHandler = workspaceActionHandler;
12
+ this.validator = new startedOrStoppedMetric_1.WorkspaceStartedOrStoppedMetricValidator();
13
+ this.validator.validate(this);
14
+ }
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ createMetricCore(name, baseSettings) {
17
+ return this.workspaceStoppedMetric = this.meter.createCounter(name, baseSettings);
18
+ }
19
+ subscribe() {
20
+ this.workspaceStoppedUn = otel_1.Container.errorless(() => this.workspaceActionHandler(this.handleWorkspaceStopped.bind(this)));
21
+ return Promise.resolve();
22
+ }
23
+ unsubscribe() {
24
+ otel_1.Container.errorless(() => { var _a; return (_a = this.workspaceStoppedUn) === null || _a === void 0 ? void 0 : _a.call(this); });
25
+ return Promise.resolve();
26
+ }
27
+ handleWorkspaceStopped(args) {
28
+ var _a;
29
+ try {
30
+ this.validator.validateWorkspaceStopped(args);
31
+ this.logger.debug(`workspace stopped for layout ${args.layout} and metric ${this.settings.name} is being invoked`);
32
+ const data = this.getLayoutData(args.layout);
33
+ if (((_a = this.getFilter(data)) === null || _a === void 0 ? void 0 : _a.enabled) === false) {
34
+ return;
35
+ }
36
+ this.workspaceStoppedMetric.add(1, this.prePublish(data));
37
+ this.logger.debug(`metric ${this.settings.name} sent 1 more for workspace layout ${data.layout}`);
38
+ }
39
+ catch (error) {
40
+ const message = `error while executing handleWorkspaceStopped for metric from type: ${this.settings.type}`;
41
+ this.logger.warn(message, error);
42
+ }
43
+ }
44
+ }
45
+ exports.WorkspaceStoppedMetric = WorkspaceStoppedMetric;
46
+ //# sourceMappingURL=stopped.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../src/metrics/workspace/stopped.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAC1C,sGAAqH;AACrH,0CAA4C;AAG5C,MAAa,sBAAuB,SAAQ,iBAAU;IAKlD,YACI,QAAmC,EAC5B,KAAY,EACnB,MAAyB,EACzB,eAA2C,EACpC,sBAAyD,EAChE,cAAiD;QAEjD,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QANzD,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAmC;QAIhE,IAAI,CAAC,SAAS,GAAG,IAAI,iEAAwC,EAAE,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,8DAA8D;IAC3C,gBAAgB,CAAC,IAAY,EAAE,YAAiB;QAC/D,OAAO,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACtF,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,kBAAkB,GAAG,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzH,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,kBAAkB,oDAAI,CAAA,EAAA,CAAC,CAAC;QAEvD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,sBAAsB,CAAC,IAA2C;;QACtE,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEnH,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0CAAE,OAAO,MAAK,KAAK,EAAE;gBACzC,OAAO;aACV;YACD,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAQ,CAAC,CAAC;YAEjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,qCAAqC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrG;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,sEAAsE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACpC;IACL,CAAC;CACJ;AArDD,wDAqDC"}
@@ -0,0 +1,14 @@
1
+ import { type Attributes, type Gauge, type Histogram, type Meter } from "@opentelemetry/api";
2
+ import { MetricBase } from "../base/base";
3
+ import { IOInsights } from "@interopio/otel/insights";
4
+ export declare class WorkspaceTimedGaugeMetric<T extends IOInsights.WorkspaceTimedActionHandlerArgs> extends MetricBase {
5
+ private subscriber;
6
+ private getAttributes?;
7
+ unsubscribeCallback?: IOInsights.Unsubscribe;
8
+ metric: Histogram<Attributes> | Gauge<Attributes>;
9
+ constructor(settings: IOInsights.MetricSettings, generalSettings: IOInsights.MetricsSettings, meter: Meter, logger: IOInsights.Logger, subscriber: IOInsights.WorkspaceGenericActionHandler<T>, defaultFilters?: IOInsights.MetricDefaultFilter[], getAttributes?: ((args: T) => any) | undefined);
10
+ protected createMetricCore(name: string, baseSettings: any): Gauge<Attributes> | Histogram<Attributes>;
11
+ protected subscribe(): Promise<void>;
12
+ protected unsubscribe(): Promise<void>;
13
+ private handler;
14
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkspaceTimedGaugeMetric = void 0;
4
+ const base_1 = require("../base/base");
5
+ const otel_1 = require("@interopio/otel");
6
+ class WorkspaceTimedGaugeMetric extends base_1.MetricBase {
7
+ constructor(settings, generalSettings, meter, logger, subscriber, defaultFilters,
8
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
+ getAttributes) {
10
+ super(settings, meter, logger, generalSettings, defaultFilters);
11
+ this.subscriber = subscriber;
12
+ this.getAttributes = getAttributes;
13
+ if (!getAttributes) {
14
+ this.getAttributes = (args) => {
15
+ const toReturn = Object.assign({}, args);
16
+ delete toReturn.startTime;
17
+ delete toReturn.endTime;
18
+ return toReturn;
19
+ };
20
+ }
21
+ }
22
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
23
+ createMetricCore(name, baseSettings) {
24
+ return this.metric = this.createRecordingMetric(name, baseSettings, "gauge");
25
+ }
26
+ subscribe() {
27
+ this.unsubscribeCallback = otel_1.Container.errorless(() => this.subscriber(this.handler.bind(this)));
28
+ return Promise.resolve();
29
+ }
30
+ unsubscribe() {
31
+ otel_1.Container.errorless(() => { var _a; return (_a = this.unsubscribeCallback) === null || _a === void 0 ? void 0 : _a.call(this); });
32
+ return Promise.resolve();
33
+ }
34
+ handler(args) {
35
+ var _a, _b;
36
+ try {
37
+ this.logger.debug(`handler is being invoked for metric ${this.settings.name}`);
38
+ const data = this.getLayoutData(args.layout);
39
+ const allData = Object.assign(Object.assign({}, data), (_a = this.getAttributes) === null || _a === void 0 ? void 0 : _a.call(this, args));
40
+ if (((_b = this.getFilter(allData)) === null || _b === void 0 ? void 0 : _b.enabled) === false) {
41
+ return;
42
+ }
43
+ const duration = args.endTime.getTime() - args.startTime.getTime();
44
+ this.metric.record(duration, this.prePublish(allData));
45
+ this.logger.debug(`metric ${this.settings.name} sent duration ${duration} for layout ${data.layout}`);
46
+ }
47
+ catch (error) {
48
+ const message = `error while executing handler for metric from type: ${this.settings.type}`;
49
+ this.logger.warn(message, error);
50
+ }
51
+ }
52
+ }
53
+ exports.WorkspaceTimedGaugeMetric = WorkspaceTimedGaugeMetric;
54
+ //# sourceMappingURL=timedGauge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timedGauge.js","sourceRoot":"","sources":["../../../src/metrics/workspace/timedGauge.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAC1C,0CAA4C;AAG5C,MAAa,yBAAgF,SAAQ,iBAAU;IAI3G,YACI,QAAmC,EACnC,eAA2C,EAC3C,KAAY,EACZ,MAAyB,EACjB,UAAuD,EAC/D,cAAiD;IACjD,8DAA8D;IACtD,aAAgC;QACxC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;QAJxD,eAAU,GAAV,UAAU,CAA6C;QAGvD,kBAAa,GAAb,aAAa,CAAmB;QAExC,IAAI,CAAC,aAAa,EAAE;YAChB,IAAI,CAAC,aAAa,GAAG,CAAC,IAAO,EAAE,EAAE;gBAC7B,MAAM,QAAQ,qBAAoB,IAAI,CAAE,CAAC;gBACzC,OAAO,QAAQ,CAAC,SAAS,CAAC;gBAC1B,OAAO,QAAQ,CAAC,OAAO,CAAC;gBACxB,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC;SACL;IACL,CAAC;IAED,8DAA8D;IAC3C,gBAAgB,CAAC,IAAY,EAAE,YAAiB;QAC/D,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,mBAAmB,GAAG,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,gBAAS,CAAC,SAAS,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,mBAAmB,oDAAI,CAAA,EAAA,CAAC,CAAC;QACxD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,OAAO,CAAC,IAAO;;QACnB,IAAI;YACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,OAAO,mCAAQ,IAAI,GAAK,MAAA,IAAI,CAAC,aAAa,qDAAG,IAAI,CAAC,CAAE,CAAC;YAC3D,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAAE,OAAO,MAAK,KAAK,EAAE;gBAC5C,OAAO;aACV;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,kBAAkB,QAAQ,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACzG;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACpC;IACL,CAAC;CACJ;AAvDD,8DAuDC"}
@@ -0,0 +1,26 @@
1
+ import { IOInsights } from "@interopio/otel/insights";
2
+ export declare class MetricsSettingsBuilder {
3
+ private defaultSettings;
4
+ metrics: Map<string, IOInsights.MetricSettings>;
5
+ enabled: boolean;
6
+ userId: string;
7
+ platformMetricsEnabled: boolean;
8
+ platformVersion: string;
9
+ meter: Partial<IOInsights.MetricsSettings>;
10
+ settings?: IOInsights.MetricsSettings;
11
+ otelSettings: IOInsights.Settings | undefined;
12
+ additionalAttributes: any;
13
+ constructor();
14
+ build(): IOInsights.MetricsSettings;
15
+ withSettings(otelSettings?: IOInsights.Settings): this;
16
+ withEnabled(enabled?: boolean): this;
17
+ withUser(userId?: string): this;
18
+ withAdditionalAttributes(additionalAttributes?: Partial<Record<string, unknown>> | (() => Partial<Record<string, unknown>>)): this;
19
+ withPlatformVersion(version?: string): this;
20
+ withPlatformMetricsEnabled(enabled?: boolean): this;
21
+ withMeter(settings?: any): this;
22
+ withCustomMetrics(settings?: IOInsights.MetricSettings[]): this;
23
+ withCustomMetric(custom: IOInsights.MetricSettings): this;
24
+ private convert;
25
+ private mergeSettings;
26
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetricsSettingsBuilder = void 0;
4
+ const default_1 = require("./default");
5
+ const constants_1 = require("../constants");
6
+ const otel_1 = require("@interopio/otel");
7
+ class MetricsSettingsBuilder {
8
+ constructor() {
9
+ this.metrics = new Map();
10
+ this.defaultSettings = new default_1.DefaultMetricsSettings();
11
+ this.withSettings({
12
+ enabled: false,
13
+ platformVersion: constants_1.Defaults.DEFAULT_PLATFORM_VERSION,
14
+ serviceId: constants_1.Defaults.DEFAULT_SERVICE_ID,
15
+ serviceName: constants_1.Defaults.DEFAULT_SERVICE_NAME,
16
+ userId: constants_1.Defaults.DEFAULT_USER,
17
+ serviceVersion: constants_1.Defaults.DEFAULT_SERVICE_VERSION,
18
+ metrics: this.defaultSettings
19
+ });
20
+ }
21
+ build() {
22
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
23
+ if (!this.platformMetricsEnabled) {
24
+ for (const metricType of this.defaultSettings.metrics) {
25
+ this.metrics.delete((_a = metricType.name) !== null && _a !== void 0 ? _a : metricType.type);
26
+ }
27
+ }
28
+ else {
29
+ if ((_b = this.settings) === null || _b === void 0 ? void 0 : _b.useLegacyWorkspaceStartupMetric) {
30
+ this.metrics.set("workspace_startup", this.defaultSettings.getWorkspaceStartupLegacy());
31
+ const custom = (_d = (_c = this.settings) === null || _c === void 0 ? void 0 : _c.metrics) === null || _d === void 0 ? void 0 : _d.find(x => { var _a; return ((_a = x.name) !== null && _a !== void 0 ? _a : x.type) === "workspace_startup"; });
32
+ if (custom) {
33
+ this.withCustomMetric(custom);
34
+ }
35
+ }
36
+ }
37
+ this.metrics.forEach((metric) => {
38
+ var _a;
39
+ this.metrics.set((_a = metric.name) !== null && _a !== void 0 ? _a : metric.type, this.convert(metric));
40
+ });
41
+ const headers = (_f = (_e = this.meter) === null || _e === void 0 ? void 0 : _e.headers) !== null && _f !== void 0 ? _f : Object.assign(Object.assign({}, otel_1.Container.errorless((_g = this.otelSettings) === null || _g === void 0 ? void 0 : _g.headers)), otel_1.Container.errorless((_h = this.settings) === null || _h === void 0 ? void 0 : _h.headers));
42
+ const additionalAttributes = () => {
43
+ var _a, _b;
44
+ return (Object.assign(Object.assign({}, otel_1.Container.errorless((_a = this.otelSettings) === null || _a === void 0 ? void 0 : _a.additionalAttributes)), otel_1.Container.errorless((_b = this.settings) === null || _b === void 0 ? void 0 : _b.additionalAttributes)));
45
+ };
46
+ const settings = Object.assign(Object.assign({}, this.settings), { enabled: this.enabled, platformMetricsEnabled: this.platformMetricsEnabled, url: (_l = (_j = this.meter.url) !== null && _j !== void 0 ? _j : (_k = this.settings) === null || _k === void 0 ? void 0 : _k.url) !== null && _l !== void 0 ? _l : "http://localhost:4318/v1/metrics", publishInterval: (_p = (_m = this.meter.publishInterval) !== null && _m !== void 0 ? _m : (_o = this.settings) === null || _o === void 0 ? void 0 : _o.publishInterval) !== null && _p !== void 0 ? _p : 30000, compression: (_q = this.meter.compression) !== null && _q !== void 0 ? _q : (_r = this.settings) === null || _r === void 0 ? void 0 : _r.compression, headers, hostname: (_s = this.meter.hostname) !== null && _s !== void 0 ? _s : (_t = this.settings) === null || _t === void 0 ? void 0 : _t.hostname, keepAlive: (_u = this.meter.keepAlive) !== null && _u !== void 0 ? _u : (_v = this.settings) === null || _v === void 0 ? void 0 : _v.keepAlive, concurrencyLimit: (_w = this.meter.concurrencyLimit) !== null && _w !== void 0 ? _w : (_x = this.settings) === null || _x === void 0 ? void 0 : _x.concurrencyLimit,
47
+ /** Maximum time the OTLP exporter will wait for each batch export.
48
+ * The default value is 10000ms. */
49
+ timeoutMillis: (_y = this.meter.concurrencyLimit) !== null && _y !== void 0 ? _y : (_z = this.settings) === null || _z === void 0 ? void 0 : _z.timeoutMillis, metrics: [...this.metrics.values()], additionalAttributes });
50
+ return settings;
51
+ }
52
+ withSettings(otelSettings) {
53
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
54
+ const oldOtelSettings = this.otelSettings;
55
+ this.otelSettings = otelSettings;
56
+ const oldSettings = this.settings;
57
+ this.settings = otelSettings === null || otelSettings === void 0 ? void 0 : otelSettings.metrics;
58
+ return this.withEnabled((_b = (_a = this.settings) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : oldSettings === null || oldSettings === void 0 ? void 0 : oldSettings.enabled)
59
+ .withPlatformMetricsEnabled((_d = (_c = this.settings) === null || _c === void 0 ? void 0 : _c.platformMetricsEnabled) !== null && _d !== void 0 ? _d : oldSettings === null || oldSettings === void 0 ? void 0 : oldSettings.platformMetricsEnabled)
60
+ .withUser((_f = (_e = this.otelSettings) === null || _e === void 0 ? void 0 : _e.userId) !== null && _f !== void 0 ? _f : oldOtelSettings === null || oldOtelSettings === void 0 ? void 0 : oldOtelSettings.userId)
61
+ .withPlatformVersion((_h = (_g = this.otelSettings) === null || _g === void 0 ? void 0 : _g.platformVersion) !== null && _h !== void 0 ? _h : oldOtelSettings === null || oldOtelSettings === void 0 ? void 0 : oldOtelSettings.platformVersion)
62
+ .withAdditionalAttributes((_j = this.settings) === null || _j === void 0 ? void 0 : _j.additionalAttributes)
63
+ .withCustomMetrics((_k = this.settings) === null || _k === void 0 ? void 0 : _k.metrics)
64
+ .withMeter((_m = (_l = this.settings) === null || _l === void 0 ? void 0 : _l.meter) !== null && _m !== void 0 ? _m : this.meter);
65
+ }
66
+ withEnabled(enabled) {
67
+ this.enabled = enabled !== null && enabled !== void 0 ? enabled : this.enabled;
68
+ return this;
69
+ }
70
+ withUser(userId) {
71
+ this.userId = userId !== null && userId !== void 0 ? userId : this.userId;
72
+ this.metrics.forEach((metric) => {
73
+ var _a;
74
+ metric.user = this.userId;
75
+ this.metrics.set((_a = metric.name) !== null && _a !== void 0 ? _a : metric.type, metric);
76
+ });
77
+ return this;
78
+ }
79
+ withAdditionalAttributes(additionalAttributes) {
80
+ this.additionalAttributes = additionalAttributes !== null && additionalAttributes !== void 0 ? additionalAttributes : this.additionalAttributes;
81
+ this.metrics.forEach((metric) => {
82
+ var _a;
83
+ metric.additionalAttributes = this.additionalAttributes;
84
+ this.metrics.set((_a = metric.name) !== null && _a !== void 0 ? _a : metric.type, metric);
85
+ });
86
+ return this;
87
+ }
88
+ withPlatformVersion(version) {
89
+ this.platformVersion = version !== null && version !== void 0 ? version : this.platformVersion;
90
+ this.metrics.forEach((metric) => {
91
+ var _a;
92
+ metric.platformVersion = this.platformVersion;
93
+ this.metrics.set((_a = metric.name) !== null && _a !== void 0 ? _a : metric.type, metric);
94
+ });
95
+ return this;
96
+ }
97
+ withPlatformMetricsEnabled(enabled) {
98
+ this.platformMetricsEnabled = enabled !== null && enabled !== void 0 ? enabled : this.platformMetricsEnabled;
99
+ return this;
100
+ }
101
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
102
+ withMeter(settings) {
103
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
104
+ const defaultMeterSettings = this.meter;
105
+ this.meter = Object.assign(Object.assign(Object.assign({}, defaultMeterSettings), (settings !== null && settings !== void 0 ? settings : {})), { url: (_a = settings === null || settings === void 0 ? void 0 : settings.url) !== null && _a !== void 0 ? _a : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.url, publishInterval: (_b = settings === null || settings === void 0 ? void 0 : settings.publishInterval) !== null && _b !== void 0 ? _b : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.publishInterval, compression: (_e = (_c = settings === null || settings === void 0 ? void 0 : settings.compression) !== null && _c !== void 0 ? _c : (_d = this.settings) === null || _d === void 0 ? void 0 : _d.compression) !== null && _e !== void 0 ? _e : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.compression, headers: (_f = settings === null || settings === void 0 ? void 0 : settings.headers) !== null && _f !== void 0 ? _f : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.headers, hostname: (_g = settings === null || settings === void 0 ? void 0 : settings.hostname) !== null && _g !== void 0 ? _g : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.hostname, keepAlive: (_h = settings === null || settings === void 0 ? void 0 : settings.keepAlive) !== null && _h !== void 0 ? _h : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.keepAlive, concurrencyLimit: (_j = settings === null || settings === void 0 ? void 0 : settings.concurrencyLimit) !== null && _j !== void 0 ? _j : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.concurrencyLimit, timeoutMillis: (_k = settings === null || settings === void 0 ? void 0 : settings.timeoutMillis) !== null && _k !== void 0 ? _k : defaultMeterSettings === null || defaultMeterSettings === void 0 ? void 0 : defaultMeterSettings.timeoutMillis });
106
+ return this;
107
+ }
108
+ withCustomMetrics(settings) {
109
+ const customMetrics = settings !== null && settings !== void 0 ? settings : [];
110
+ customMetrics.forEach((metricSettings) => this.withCustomMetric(metricSettings));
111
+ return this;
112
+ }
113
+ withCustomMetric(custom) {
114
+ var _a, _b, _c, _d;
115
+ if (!custom.name) {
116
+ throw new Error("settings.name is not defined");
117
+ }
118
+ const hasSettings = this.metrics.has((_a = custom.name) !== null && _a !== void 0 ? _a : custom.type);
119
+ if (!hasSettings) {
120
+ const converted = this.convert(custom);
121
+ this.metrics.set((_b = custom.name) !== null && _b !== void 0 ? _b : custom.type, converted);
122
+ }
123
+ else {
124
+ const existing = this.metrics.get((_c = custom.name) !== null && _c !== void 0 ? _c : custom.type);
125
+ const merged = this.mergeSettings(custom, existing);
126
+ this.metrics.set((_d = merged.name) !== null && _d !== void 0 ? _d : merged.type, merged);
127
+ }
128
+ return this;
129
+ }
130
+ convert(custom) {
131
+ var _a, _b, _c, _d;
132
+ const converted = Object.assign(Object.assign(Object.assign({}, this.settings), custom), { type: custom.type, user: this.userId, enabled: (_a = custom.enabled) !== null && _a !== void 0 ? _a : true, name: (_b = custom.name) !== null && _b !== void 0 ? _b : custom.type, description: (_c = custom.description) !== null && _c !== void 0 ? _c : ((_d = custom.name) !== null && _d !== void 0 ? _d : custom.type), platformVersion: this.platformVersion, unit: custom.unit, buckets: custom.buckets, additionalAttributes: custom.additionalAttributes });
133
+ return converted;
134
+ }
135
+ mergeSettings(custom, existing) {
136
+ var _a, _b, _c, _d, _e;
137
+ const converted = Object.assign(Object.assign(Object.assign({}, existing), this.settings), { type: custom.type, user: this.userId, enabled: (_a = custom.enabled) !== null && _a !== void 0 ? _a : existing.enabled, name: (_b = custom.name) !== null && _b !== void 0 ? _b : existing.name, description: (_c = custom.description) !== null && _c !== void 0 ? _c : existing.description, platformVersion: this.platformVersion, unit: existing.unit, buckets: (_d = custom.buckets) !== null && _d !== void 0 ? _d : existing.buckets, additionalAttributes: (_e = custom.additionalAttributes) !== null && _e !== void 0 ? _e : existing.additionalAttributes });
138
+ return converted;
139
+ }
140
+ }
141
+ exports.MetricsSettingsBuilder = MetricsSettingsBuilder;
142
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/settings/builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { IOInsights } from "@interopio/otel/insights";
2
+ export declare class DefaultMetricsSettings implements IOInsights.MetricsSettings {
3
+ private unknown;
4
+ get enabled(): boolean;
5
+ get platformMetricsEnabled(): boolean;
6
+ get userId(): string;
7
+ get platformVersion(): string;
8
+ get additionalAttributes(): {
9
+ [key: string]: string;
10
+ };
11
+ get metrics(): IOInsights.MetricSettings[];
12
+ getWorkspaceStartupLegacy(): IOInsights.MetricSettings;
13
+ private getWorkspaceStartup;
14
+ private getWorkspaceStartupFrame;
15
+ private getWorkspaceStartupFrameInit;
16
+ private getWorkspaceStartupFramePageLoad;
17
+ private getWorkspaceStartupFrameWorkspaceRender;
18
+ private getWorkspaceStartupComponent;
19
+ private getWorkspaceStartupApps;
20
+ private getAppStarted;
21
+ private getAppStopped;
22
+ private getAppCount;
23
+ private getAppStartup;
24
+ private getAppDuration;
25
+ private getAppDurationSoft;
26
+ private getAppMemory;
27
+ private getAppCPU;
28
+ private getAppError;
29
+ private getAppCrash;
30
+ private getLayoutStartup;
31
+ private getWorkspaceStarted;
32
+ private getWorkspaceStopped;
33
+ private getWorkspaceSelected;
34
+ private getWorkspaceCount;
35
+ private getPlatformStartup;
36
+ private getPlatformError;
37
+ private getSystemMemory;
38
+ private getSystemCPU;
39
+ private getSettings;
40
+ }