@interopio/otel 0.0.1

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 (110) hide show
  1. package/README.md +1 -0
  2. package/dist/container.d.ts +12 -0
  3. package/dist/container.js +37 -0
  4. package/dist/container.js.map +1 -0
  5. package/dist/containerBuilder.d.ts +14 -0
  6. package/dist/containerBuilder.js +31 -0
  7. package/dist/containerBuilder.js.map +1 -0
  8. package/dist/index.d.ts +6 -0
  9. package/dist/index.js +26 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/logs/types.d.ts +6 -0
  12. package/dist/logs/types.js +3 -0
  13. package/dist/logs/types.js.map +1 -0
  14. package/dist/metrics/application/count.d.ts +19 -0
  15. package/dist/metrics/application/count.js +53 -0
  16. package/dist/metrics/application/count.js.map +1 -0
  17. package/dist/metrics/application/cpu.d.ts +11 -0
  18. package/dist/metrics/application/cpu.js +33 -0
  19. package/dist/metrics/application/cpu.js.map +1 -0
  20. package/dist/metrics/application/duration.d.ts +20 -0
  21. package/dist/metrics/application/duration.js +97 -0
  22. package/dist/metrics/application/duration.js.map +1 -0
  23. package/dist/metrics/application/durationHistogram.d.ts +9 -0
  24. package/dist/metrics/application/durationHistogram.js +19 -0
  25. package/dist/metrics/application/durationHistogram.js.map +1 -0
  26. package/dist/metrics/application/durationSum.d.ts +9 -0
  27. package/dist/metrics/application/durationSum.js +17 -0
  28. package/dist/metrics/application/durationSum.js.map +1 -0
  29. package/dist/metrics/application/memory.d.ts +11 -0
  30. package/dist/metrics/application/memory.js +34 -0
  31. package/dist/metrics/application/memory.js.map +1 -0
  32. package/dist/metrics/application/started.d.ts +16 -0
  33. package/dist/metrics/application/started.js +40 -0
  34. package/dist/metrics/application/started.js.map +1 -0
  35. package/dist/metrics/application/startup.d.ts +16 -0
  36. package/dist/metrics/application/startup.js +74 -0
  37. package/dist/metrics/application/startup.js.map +1 -0
  38. package/dist/metrics/application/startupHistogram.d.ts +9 -0
  39. package/dist/metrics/application/startupHistogram.js +19 -0
  40. package/dist/metrics/application/startupHistogram.js.map +1 -0
  41. package/dist/metrics/application/stopped.d.ts +16 -0
  42. package/dist/metrics/application/stopped.js +40 -0
  43. package/dist/metrics/application/stopped.js.map +1 -0
  44. package/dist/metrics/base/base.d.ts +21 -0
  45. package/dist/metrics/base/base.js +64 -0
  46. package/dist/metrics/base/base.js.map +1 -0
  47. package/dist/metrics/base/gauge.d.ts +18 -0
  48. package/dist/metrics/base/gauge.js +54 -0
  49. package/dist/metrics/base/gauge.js.map +1 -0
  50. package/dist/metrics/base/null.d.ts +14 -0
  51. package/dist/metrics/base/null.js +34 -0
  52. package/dist/metrics/base/null.js.map +1 -0
  53. package/dist/metrics/dependencyBuilder.d.ts +19 -0
  54. package/dist/metrics/dependencyBuilder.js +58 -0
  55. package/dist/metrics/dependencyBuilder.js.map +1 -0
  56. package/dist/metrics/factory.d.ts +9 -0
  57. package/dist/metrics/factory.js +30 -0
  58. package/dist/metrics/factory.js.map +1 -0
  59. package/dist/metrics/factoryBuilder.d.ts +30 -0
  60. package/dist/metrics/factoryBuilder.js +189 -0
  61. package/dist/metrics/factoryBuilder.js.map +1 -0
  62. package/dist/metrics/layout/startup.d.ts +17 -0
  63. package/dist/metrics/layout/startup.js +77 -0
  64. package/dist/metrics/layout/startup.js.map +1 -0
  65. package/dist/metrics/layout/startupHistogram.d.ts +9 -0
  66. package/dist/metrics/layout/startupHistogram.js +19 -0
  67. package/dist/metrics/layout/startupHistogram.js.map +1 -0
  68. package/dist/metrics/manager.d.ts +17 -0
  69. package/dist/metrics/manager.js +114 -0
  70. package/dist/metrics/manager.js.map +1 -0
  71. package/dist/metrics/pipeline.d.ts +13 -0
  72. package/dist/metrics/pipeline.js +49 -0
  73. package/dist/metrics/pipeline.js.map +1 -0
  74. package/dist/metrics/platform/startup.d.ts +15 -0
  75. package/dist/metrics/platform/startup.js +63 -0
  76. package/dist/metrics/platform/startup.js.map +1 -0
  77. package/dist/metrics/settingsBuilder.d.ts +25 -0
  78. package/dist/metrics/settingsBuilder.js +230 -0
  79. package/dist/metrics/settingsBuilder.js.map +1 -0
  80. package/dist/metrics/system/cpu.d.ts +11 -0
  81. package/dist/metrics/system/cpu.js +38 -0
  82. package/dist/metrics/system/cpu.js.map +1 -0
  83. package/dist/metrics/system/memory.d.ts +11 -0
  84. package/dist/metrics/system/memory.js +39 -0
  85. package/dist/metrics/system/memory.js.map +1 -0
  86. package/dist/metrics/types.d.ts +95 -0
  87. package/dist/metrics/types.js +3 -0
  88. package/dist/metrics/types.js.map +1 -0
  89. package/dist/metrics/utils/nullMetricsManager.d.ts +5 -0
  90. package/dist/metrics/utils/nullMetricsManager.js +11 -0
  91. package/dist/metrics/utils/nullMetricsManager.js.map +1 -0
  92. package/dist/metrics/utils/nullPerfProvider.d.ts +7 -0
  93. package/dist/metrics/utils/nullPerfProvider.js +19 -0
  94. package/dist/metrics/utils/nullPerfProvider.js.map +1 -0
  95. package/dist/pipeline.d.ts +14 -0
  96. package/dist/pipeline.js +66 -0
  97. package/dist/pipeline.js.map +1 -0
  98. package/dist/traces/types.d.ts +6 -0
  99. package/dist/traces/types.js +3 -0
  100. package/dist/traces/types.js.map +1 -0
  101. package/dist/types.d.ts +25 -0
  102. package/dist/types.js +3 -0
  103. package/dist/types.js.map +1 -0
  104. package/dist/utils/nullManager.d.ts +6 -0
  105. package/dist/utils/nullManager.js +16 -0
  106. package/dist/utils/nullManager.js.map +1 -0
  107. package/dist/utils/validator.d.ts +3 -0
  108. package/dist/utils/validator.js +10 -0
  109. package/dist/utils/validator.js.map +1 -0
  110. package/package.json +32 -0
@@ -0,0 +1,25 @@
1
+ import { TelemetryMetricSettings } from "./types";
2
+ export declare class MetricsSettingsBuilder {
3
+ private metricsSettings;
4
+ constructor();
5
+ build(): TelemetryMetricSettings[];
6
+ withDefaults(enabled?: boolean): this;
7
+ withCustomMetrics(settings: TelemetryMetricSettings[], mergeIfExists?: boolean): this;
8
+ withCustomMetric(custom: TelemetryMetricSettings, mergeIfExists?: boolean): this;
9
+ withAppStarted(enabled?: boolean): this;
10
+ withAppStopped(enabled?: boolean): this;
11
+ withAppStartup(enabled?: boolean): this;
12
+ withAppStartupHistogram(enabled?: boolean): this;
13
+ withAppCount(enabled?: boolean): this;
14
+ withAppDuration(enabled?: boolean): this;
15
+ withAppDurationSum(enabled?: boolean): this;
16
+ withAppDurationHistogram(enabled?: boolean): this;
17
+ withAppMemory(enabled?: boolean): this;
18
+ withAppCPU(enabled?: boolean): this;
19
+ withSystemMemory(enabled?: boolean): this;
20
+ withSystemCPU(enabled?: boolean): this;
21
+ withLayoutStartup(enabled?: boolean): this;
22
+ withLayoutStartupHistogram(enabled?: boolean): this;
23
+ withPlatformStartup(enabled?: boolean): this;
24
+ private mergeSettings;
25
+ }
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetricsSettingsBuilder = void 0;
4
+ class MetricsSettingsBuilder {
5
+ constructor() {
6
+ this.metricsSettings = new Map;
7
+ }
8
+ build() {
9
+ const settings = [...this.metricsSettings.values()];
10
+ return settings;
11
+ }
12
+ withDefaults(enabled = true) {
13
+ return this.withAppStarted(enabled)
14
+ .withAppStopped(enabled)
15
+ .withAppStartup(enabled)
16
+ .withAppStartupHistogram(enabled)
17
+ .withAppCount(enabled)
18
+ .withAppDuration(enabled)
19
+ .withAppDurationSum(enabled)
20
+ .withAppDurationHistogram(enabled)
21
+ .withAppMemory(enabled)
22
+ .withAppCPU(enabled)
23
+ .withSystemMemory(enabled)
24
+ .withSystemCPU(enabled)
25
+ .withLayoutStartup(enabled)
26
+ .withLayoutStartupHistogram(enabled)
27
+ .withPlatformStartup(enabled);
28
+ }
29
+ withCustomMetrics(settings, mergeIfExists = true) {
30
+ const metricsSettings = settings !== null && settings !== void 0 ? settings : [];
31
+ metricsSettings.forEach((metricSettings) => this.withCustomMetric(metricSettings, mergeIfExists));
32
+ return this;
33
+ }
34
+ withCustomMetric(custom, mergeIfExists = true) {
35
+ const hasSettings = this.metricsSettings.has(custom.type);
36
+ if (!hasSettings) {
37
+ this.metricsSettings.set(custom.type, custom);
38
+ }
39
+ else {
40
+ const existing = this.metricsSettings.get(custom.type);
41
+ if (!mergeIfExists) {
42
+ this.metricsSettings.set(custom.type, custom);
43
+ }
44
+ else {
45
+ const merged = this.mergeSettings(custom, existing);
46
+ this.metricsSettings.set(merged.type, merged);
47
+ }
48
+ }
49
+ return this;
50
+ }
51
+ withAppStarted(enabled = true) {
52
+ const settings = {
53
+ enabled,
54
+ name: "app_started",
55
+ description: "number of times an application has been started",
56
+ type: "app_started"
57
+ };
58
+ this.metricsSettings.set(settings.type, settings);
59
+ return this;
60
+ }
61
+ withAppStopped(enabled = true) {
62
+ const settings = {
63
+ enabled,
64
+ name: "app_stopped",
65
+ description: "number of times an application has been stopped",
66
+ type: "app_stopped"
67
+ };
68
+ this.metricsSettings.set(settings.type, settings);
69
+ return this;
70
+ }
71
+ withAppStartup(enabled = true) {
72
+ const settings = {
73
+ enabled,
74
+ name: "app_startup",
75
+ description: "time to load the application",
76
+ unit: "ms",
77
+ type: "app_startup"
78
+ };
79
+ this.metricsSettings.set(settings.type, settings);
80
+ return this;
81
+ }
82
+ withAppStartupHistogram(enabled = true) {
83
+ const settings = {
84
+ enabled,
85
+ name: "app_startup_histogram",
86
+ description: "time to load the application",
87
+ unit: "ms",
88
+ type: "app_startup_histogram",
89
+ buckets: [3000, 10000, 30000, 60000, 120000]
90
+ };
91
+ this.metricsSettings.set(settings.type, settings);
92
+ return this;
93
+ }
94
+ withAppCount(enabled = true) {
95
+ const settings = {
96
+ enabled,
97
+ name: "app_count",
98
+ description: "number of applications running in the platform",
99
+ type: "app_count"
100
+ };
101
+ this.metricsSettings.set(settings.type, settings);
102
+ return this;
103
+ }
104
+ withAppDuration(enabled = true) {
105
+ const settings = {
106
+ enabled,
107
+ name: "app_duration",
108
+ description: "TBD",
109
+ unit: "ms",
110
+ type: "app_duration"
111
+ };
112
+ this.metricsSettings.set(settings.type, settings);
113
+ return this;
114
+ }
115
+ withAppDurationSum(enabled = true) {
116
+ const settings = {
117
+ enabled,
118
+ name: "app_duration",
119
+ description: "TBD",
120
+ unit: "ms",
121
+ type: "app_duration_sum"
122
+ };
123
+ this.metricsSettings.set(settings.type, settings);
124
+ return this;
125
+ }
126
+ withAppDurationHistogram(enabled = true) {
127
+ const settings = {
128
+ enabled,
129
+ name: "app_duration_histogram",
130
+ description: "TBD",
131
+ unit: "ms",
132
+ type: "app_duration_histogram",
133
+ buckets: [10000, 30000, 60000, 120000]
134
+ };
135
+ this.metricsSettings.set(settings.type, settings);
136
+ return this;
137
+ }
138
+ withAppMemory(enabled = true) {
139
+ const settings = {
140
+ enabled,
141
+ name: "app_memory",
142
+ description: "memory usage for any processes in the platform",
143
+ unit: "mb",
144
+ type: "app_memory"
145
+ };
146
+ this.metricsSettings.set(settings.type, settings);
147
+ return this;
148
+ }
149
+ withAppCPU(enabled = true) {
150
+ const settings = {
151
+ enabled,
152
+ name: "app_cpu",
153
+ description: "cpu usage for any processes in the platform",
154
+ unit: "%",
155
+ type: "app_cpu"
156
+ };
157
+ this.metricsSettings.set(settings.type, settings);
158
+ return this;
159
+ }
160
+ withSystemMemory(enabled = true) {
161
+ const settings = {
162
+ enabled,
163
+ name: "system_memory",
164
+ description: "TBD",
165
+ unit: "gb",
166
+ type: "system_memory"
167
+ };
168
+ this.metricsSettings.set(settings.type, settings);
169
+ return this;
170
+ }
171
+ withSystemCPU(enabled = true) {
172
+ const settings = {
173
+ enabled,
174
+ name: "system_cpu",
175
+ description: "TBD",
176
+ unit: "%",
177
+ type: "system_cpu"
178
+ };
179
+ this.metricsSettings.set(settings.type, settings);
180
+ return this;
181
+ }
182
+ withLayoutStartup(enabled = true) {
183
+ const settings = {
184
+ enabled,
185
+ name: "layout_startup",
186
+ description: "TBD",
187
+ unit: "ms",
188
+ type: "layout_startup"
189
+ };
190
+ this.metricsSettings.set(settings.type, settings);
191
+ return this;
192
+ }
193
+ withLayoutStartupHistogram(enabled = true) {
194
+ const settings = {
195
+ enabled,
196
+ name: "layout_startup_histogram",
197
+ description: "TBD",
198
+ unit: "ms",
199
+ type: "layout_startup_histogram",
200
+ buckets: [10000, 30000, 60000, 120000]
201
+ };
202
+ this.metricsSettings.set(settings.type, settings);
203
+ return this;
204
+ }
205
+ withPlatformStartup(enabled = true) {
206
+ const settings = {
207
+ enabled,
208
+ name: "platform_startup",
209
+ description: "startup time of the platform",
210
+ unit: "ms",
211
+ type: "platform_startup"
212
+ };
213
+ this.metricsSettings.set(settings.type, settings);
214
+ return this;
215
+ }
216
+ mergeSettings(custom, existing) {
217
+ var _a, _b, _c;
218
+ const converted = {
219
+ enabled: custom.enabled,
220
+ name: (_a = custom.name) !== null && _a !== void 0 ? _a : custom.type,
221
+ description: (_b = custom.description) !== null && _b !== void 0 ? _b : existing.description,
222
+ type: custom.type,
223
+ unit: existing.unit,
224
+ buckets: (_c = custom.buckets) !== null && _c !== void 0 ? _c : existing.buckets
225
+ };
226
+ return converted;
227
+ }
228
+ }
229
+ exports.MetricsSettingsBuilder = MetricsSettingsBuilder;
230
+ //# sourceMappingURL=settingsBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsBuilder.js","sourceRoot":"","sources":["../../src/metrics/settingsBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Meter, ObservableResult } from "@opentelemetry/api";
2
+ import { TelemetryMetricData, TelemetryMetricSettings, PerformanceProvider } from "../types";
3
+ import { TelemetryLogger } from "../../types";
4
+ import { GaugeMetricBase } from "../base/gauge";
5
+ export declare class SystemCPUMetric extends GaugeMetricBase {
6
+ private perfProvider;
7
+ constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, perfProvider: PerformanceProvider);
8
+ protected subscribeCore(): Promise<void>;
9
+ protected observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
10
+ protected unsubscribeCore(): Promise<void>;
11
+ }
@@ -0,0 +1,38 @@
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.SystemCPUMetric = void 0;
13
+ const gauge_1 = require("../base/gauge");
14
+ class SystemCPUMetric extends gauge_1.GaugeMetricBase {
15
+ constructor(settings, meter, userId, logger, perfProvider) {
16
+ super(settings, meter, userId, logger);
17
+ this.perfProvider = perfProvider;
18
+ }
19
+ subscribeCore() { return Promise.resolve(); }
20
+ observeCore(result) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const cpu = yield this.perfProvider.getSystemCPU();
23
+ if (cpu) {
24
+ const data = this.getData();
25
+ const metricName = this.name;
26
+ result.observe(cpu.current, Object.assign({ type: "current_system_cpu" }, data));
27
+ this.logger.debug(`metric ${metricName} sent current system cpu ${cpu.current}`);
28
+ result.observe(cpu.average, Object.assign({ type: "average_system_cpu" }, data));
29
+ this.logger.debug(`metric ${metricName} sent average system cpu ${cpu.average}`);
30
+ result.observe(cpu.platform, Object.assign({ type: "average_platform_cpu" }, data));
31
+ this.logger.debug(`metric ${metricName} sent average platform cpu ${cpu.platform}`);
32
+ }
33
+ });
34
+ }
35
+ unsubscribeCore() { return Promise.resolve(); }
36
+ }
37
+ exports.SystemCPUMetric = SystemCPUMetric;
38
+ //# sourceMappingURL=cpu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpu.js","sourceRoot":"","sources":["../../../src/metrics/system/cpu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAEhD,MAAa,eAAgB,SAAQ,uBAAe;IAGhD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,YAAiC;QAEjC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAA6C;;YAC9E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,GAAG,EAAE;gBACL,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;gBAE7B,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,kBAAI,IAAI,EAAE,oBAAoB,IAAK,IAAI,EAAG,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEjF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,kBAAI,IAAI,EAAE,oBAAoB,IAAK,IAAI,EAAG,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEjF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,kBAAI,IAAI,EAAE,sBAAsB,IAAK,IAAI,EAAG,CAAC;gBACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,8BAA8B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;aACvF;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AAlCD,0CAkCC"}
@@ -0,0 +1,11 @@
1
+ import { Meter, ObservableResult } from "@opentelemetry/api";
2
+ import { TelemetryMetricData, TelemetryMetricSettings, PerformanceProvider } from "../types";
3
+ import { TelemetryLogger } from "../../types";
4
+ import { GaugeMetricBase } from "../base/gauge";
5
+ export declare class SystemMemoryMetric extends GaugeMetricBase {
6
+ private perfProvider;
7
+ constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, perfProvider: PerformanceProvider);
8
+ protected subscribeCore(): Promise<void>;
9
+ protected observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
10
+ protected unsubscribeCore(): Promise<void>;
11
+ }
@@ -0,0 +1,39 @@
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.SystemMemoryMetric = void 0;
13
+ const gauge_1 = require("../base/gauge");
14
+ class SystemMemoryMetric extends gauge_1.GaugeMetricBase {
15
+ constructor(settings, meter, userId, logger, perfProvider) {
16
+ super(settings, meter, userId, logger);
17
+ this.perfProvider = perfProvider;
18
+ }
19
+ subscribeCore() { return Promise.resolve(); }
20
+ observeCore(result) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const memory = yield this.perfProvider.getSystemMemory();
23
+ if (memory) {
24
+ const data = this.getData();
25
+ const metricName = this.name;
26
+ result.observe(memory.platformTotal, Object.assign({ type: "used_platform_memory" }, data));
27
+ this.logger.debug(`metric ${metricName} sent used platform memory ${memory.platformTotal}`);
28
+ const usedSystemMemory = memory.systemTotal - memory.systemFree;
29
+ result.observe(usedSystemMemory, Object.assign({ type: "used_system_memory" }, data));
30
+ this.logger.debug(`metric ${metricName} sent used system memory ${usedSystemMemory}`);
31
+ result.observe(memory.systemFree, Object.assign({ type: "free_system_memory" }, data));
32
+ this.logger.debug(`metric ${metricName} sent free system memory ${memory.systemFree}`);
33
+ }
34
+ });
35
+ }
36
+ unsubscribeCore() { return Promise.resolve(); }
37
+ }
38
+ exports.SystemMemoryMetric = SystemMemoryMetric;
39
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/metrics/system/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAEhD,MAAa,kBAAmB,SAAQ,uBAAe;IAGnD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,YAAiC;QAEjC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAA6C;;YAC9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACzD,IAAI,MAAM,EAAE;gBACR,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;gBAE7B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,kBAAI,IAAI,EAAE,sBAAsB,IAAK,IAAI,EAAG,CAAC;gBAChF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,8BAA8B,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;gBAE5F,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;gBAChE,MAAM,CAAC,OAAO,CAAC,gBAAgB,kBAAI,IAAI,EAAE,oBAAoB,IAAK,IAAI,EAAG,CAAC;gBAC1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,4BAA4B,gBAAgB,EAAE,CAAC,CAAC;gBAEtF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,kBAAI,IAAI,EAAE,oBAAoB,IAAK,IAAI,EAAG,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,UAAU,4BAA4B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;aAC1F;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AAnCD,gDAmCC"}
@@ -0,0 +1,95 @@
1
+ import { Attributes, Meter } from "@opentelemetry/api";
2
+ import { TelemetryManager } from "../types";
3
+ export interface TelemetryMetricsManager extends TelemetryManager<TelemetryMetricSettings[]> {
4
+ get(type: TelemetryMetricType): TelemetryMetric | undefined;
5
+ }
6
+ export interface TelemetryMetricsFactory {
7
+ create(settings: TelemetryMetricSettings): TelemetryMetric;
8
+ }
9
+ export interface TelemetryMetricsSettings {
10
+ enabled: boolean;
11
+ meter: Meter;
12
+ userId: string;
13
+ metrics: TelemetryMetricSettings[];
14
+ }
15
+ export interface TelemetryMetricsDependencyContainer {
16
+ perfProvider: PerformanceProvider;
17
+ instanceStartedHandler: InstanceActionHandler;
18
+ instanceStoppedHandler: InstanceActionHandler;
19
+ instanceReadyHandler: InstanceReadyHandler;
20
+ instanceFocusedHandler: InstanceFocusedHandler;
21
+ layoutRestoredHandler: LayoutRestoredHandler;
22
+ platformStartedHandler: PlatformStartedHandler;
23
+ }
24
+ export interface TelemetryMetricSettings {
25
+ enabled: boolean;
26
+ name: string;
27
+ type: TelemetryMetricType;
28
+ description?: string;
29
+ unit?: string;
30
+ buckets?: number[];
31
+ }
32
+ export interface TelemetryMetricData extends Attributes {
33
+ application?: string;
34
+ user: string;
35
+ }
36
+ export interface TelemetryMetricLayoutData extends TelemetryMetricData {
37
+ layout: string;
38
+ }
39
+ export interface TelemetryMetric {
40
+ enabled: boolean;
41
+ name: string;
42
+ type: TelemetryMetricType;
43
+ description?: string;
44
+ unit?: string;
45
+ buckets?: number[];
46
+ start(): Promise<void>;
47
+ stop(): Promise<void>;
48
+ }
49
+ export interface AppCPU {
50
+ app: string;
51
+ instance: string;
52
+ cpu: number;
53
+ }
54
+ export interface AppMemory {
55
+ app: string;
56
+ instance: string;
57
+ memory: number;
58
+ }
59
+ export interface SystemCPU {
60
+ current: number;
61
+ average: number;
62
+ platform: number;
63
+ }
64
+ export interface SystemMemory {
65
+ platformTotal: number;
66
+ systemTotal: number;
67
+ systemFree: number;
68
+ }
69
+ export interface PerformanceProvider {
70
+ getAppsCPU(): Promise<AppCPU[]>;
71
+ getAppsMemory(): Promise<AppMemory[]>;
72
+ getSystemCPU(): Promise<SystemCPU | undefined>;
73
+ getSystemMemory(): Promise<SystemMemory | undefined>;
74
+ }
75
+ export type TelemetryMetricType = "app_started" | "app_stopped" | "app_startup" | "app_startup_histogram" | "app_count" | "app_duration" | "app_duration_sum" | "app_duration_histogram" | "app_memory" | "app_cpu" | "platform_startup" | "system_memory" | "system_cpu" | "layout_startup" | "layout_startup_histogram" | "workspace_startup" | "null";
76
+ export type Un = () => void;
77
+ export type InstanceActionHandler = (callback: (e: {
78
+ application: string;
79
+ }) => void) => Un;
80
+ export type InstanceReadyHandler = (callback: (e: {
81
+ application: string;
82
+ startTime: Date;
83
+ }) => void) => Un;
84
+ export type InstanceFocusedHandler = (callback: (e: {
85
+ application: string;
86
+ focused: boolean;
87
+ }) => void) => Un;
88
+ export type LayoutRestoredHandler = (callback: (e: {
89
+ layout: string;
90
+ startTime: Date;
91
+ }) => void) => Un;
92
+ export type PlatformStartedHandler = (callback: (e: {
93
+ startTime: number;
94
+ }) => void) => Un;
95
+ export type CreateTelemetryMetricFunc = (settings: TelemetryMetricSettings) => TelemetryMetric;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { TelemetryMetric, TelemetryMetricSettings, TelemetryMetricType, TelemetryMetricsManager } from "../types";
2
+ import { NullManager } from "../../utils/nullManager";
3
+ export declare class NullMetricsManager extends NullManager<TelemetryMetricSettings[]> implements TelemetryMetricsManager {
4
+ get(type: TelemetryMetricType): TelemetryMetric | undefined;
5
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullMetricsManager = void 0;
4
+ const nullManager_1 = require("../../utils/nullManager");
5
+ class NullMetricsManager extends nullManager_1.NullManager {
6
+ get(type) {
7
+ return undefined;
8
+ }
9
+ }
10
+ exports.NullMetricsManager = NullMetricsManager;
11
+ //# sourceMappingURL=nullMetricsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nullMetricsManager.js","sourceRoot":"","sources":["../../../src/metrics/utils/nullMetricsManager.ts"],"names":[],"mappings":";;;AACA,yDAAsD;AAEtD,MAAa,kBAAmB,SAAQ,yBAAsC;IACnE,GAAG,CAAC,IAAyB;QAChC,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAJD,gDAIC"}
@@ -0,0 +1,7 @@
1
+ import { AppCPU, AppMemory, PerformanceProvider, SystemCPU, SystemMemory } from "../types";
2
+ export declare class NullPerformanceProvider implements PerformanceProvider {
3
+ getAppsCPU(): Promise<AppCPU[]>;
4
+ getAppsMemory(): Promise<AppMemory[]>;
5
+ getSystemCPU(): Promise<SystemCPU | undefined>;
6
+ getSystemMemory(): Promise<SystemMemory | undefined>;
7
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NullPerformanceProvider = void 0;
4
+ class NullPerformanceProvider {
5
+ getAppsCPU() {
6
+ return Promise.resolve([]);
7
+ }
8
+ getAppsMemory() {
9
+ return Promise.resolve([]);
10
+ }
11
+ getSystemCPU() {
12
+ return Promise.resolve(undefined);
13
+ }
14
+ getSystemMemory() {
15
+ return Promise.resolve(undefined);
16
+ }
17
+ }
18
+ exports.NullPerformanceProvider = NullPerformanceProvider;
19
+ //# sourceMappingURL=nullPerfProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nullPerfProvider.js","sourceRoot":"","sources":["../../../src/metrics/utils/nullPerfProvider.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAuB;IACzB,UAAU;QACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACM,aAAa;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACM,YAAY;QACf,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IACM,eAAe;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACJ;AAbD,0DAaC"}
@@ -0,0 +1,14 @@
1
+ import { TelemetryMetricsDependencyContainer } from "./metrics/types";
2
+ import { TelemetryContainer, TelemetryLogger, TelemetrySettings } from "./types";
3
+ export declare class Pipeline {
4
+ private logger;
5
+ private settings;
6
+ private metricsDependencies;
7
+ create(): TelemetryContainer;
8
+ addLogger(logger: TelemetryLogger): this;
9
+ addSettings(settings: TelemetrySettings): this;
10
+ addMetricsDependencies(container: TelemetryMetricsDependencyContainer): this;
11
+ private createCore;
12
+ private createMetrics;
13
+ private throwIfNotPresent;
14
+ }
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pipeline = void 0;
4
+ const containerBuilder_1 = require("./containerBuilder");
5
+ const pipeline_1 = require("./metrics/pipeline");
6
+ const validator_1 = require("./utils/validator");
7
+ class Pipeline {
8
+ create() {
9
+ this.throwIfNotPresent();
10
+ return this.createCore();
11
+ }
12
+ addLogger(logger) {
13
+ this.logger = logger;
14
+ return this;
15
+ }
16
+ addSettings(settings) {
17
+ this.settings = settings;
18
+ return this;
19
+ }
20
+ addMetricsDependencies(container) {
21
+ this.metricsDependencies = container;
22
+ return this;
23
+ }
24
+ createCore() {
25
+ const builder = new containerBuilder_1.ContainerBuilder();
26
+ if (this.settings.metrics.enabled) {
27
+ const metrics = this.createMetrics();
28
+ builder.withMetrics(metrics);
29
+ }
30
+ if (this.settings.traces.enabled) {
31
+ // traces is not implemented yet
32
+ }
33
+ if (this.settings.logs.enabled) {
34
+ // logs is not implemented yet
35
+ }
36
+ const container = builder.build();
37
+ return container;
38
+ }
39
+ createMetrics() {
40
+ const pipeline = new pipeline_1.MetricsPipeline()
41
+ .addLogger(this.logger)
42
+ .addSettings(this.settings.metrics)
43
+ .addDependencies(this.metricsDependencies);
44
+ const manager = pipeline.create();
45
+ return manager;
46
+ }
47
+ throwIfNotPresent() {
48
+ if (validator_1.Validator.isNullOrUndefined(this.logger)) {
49
+ throw new Error("logger must be provided");
50
+ }
51
+ if (validator_1.Validator.isNullOrUndefined(this.metricsDependencies)) {
52
+ throw new Error("metrics dependency container must be provided");
53
+ }
54
+ if (validator_1.Validator.isNullOrUndefined(this.settings)) {
55
+ throw new Error("settings must be provided");
56
+ }
57
+ if (validator_1.Validator.isNullOrUndefined(this.settings.metrics)) {
58
+ throw new Error("metrics settings must be provided");
59
+ }
60
+ if (validator_1.Validator.isNullOrUndefined(this.settings.metrics.enabled)) {
61
+ throw new Error("setting metrics.enabled must be provided");
62
+ }
63
+ }
64
+ }
65
+ exports.Pipeline = Pipeline;
66
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AACtD,iDAAqD;AAGrD,iDAA8C;AAE9C,MAAa,QAAQ;IAKV,MAAM;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAC,MAAuB;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,QAA2B;QAC1C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,sBAAsB,CAAC,SAA8C;QACxE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,UAAU;QACd,MAAM,OAAO,GAAG,IAAI,mCAAgB,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;SAChC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;YAC9B,gCAAgC;SACnC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;YAC5B,8BAA8B;SACjC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,aAAa;QACjB,MAAM,QAAQ,GAAG,IAAI,0BAAe,EAAE;aACjC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aACtB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aAClC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,iBAAiB;QACrB,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QACD,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACvD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;QACD,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;QACD,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACxD;QACD,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC/D;IACL,CAAC;CACJ;AAxED,4BAwEC"}
@@ -0,0 +1,6 @@
1
+ import { TelemetryManager } from "../types";
2
+ export interface TelemetryTracesManager extends TelemetryManager<TelemetryTracesSettings> {
3
+ }
4
+ export interface TelemetryTracesSettings {
5
+ enabled: boolean;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/traces/types.ts"],"names":[],"mappings":""}