@interopio/insights-metrics 0.0.188 → 0.1.0
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.
- package/dist/constants.d.ts +27 -27
- package/dist/constants.js +30 -30
- package/dist/factory/builder.d.ts +34 -34
- package/dist/factory/builder.js +296 -296
- package/dist/factory/factory.d.ts +10 -10
- package/dist/factory/factory.js +82 -82
- package/dist/factory/factory.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +47 -47
- package/dist/index.js.map +1 -1
- package/dist/manager.d.ts +26 -26
- package/dist/manager.js +165 -167
- package/dist/manager.js.map +1 -1
- package/dist/meter/lazyProvider.d.ts +15 -15
- package/dist/meter/lazyProvider.js +35 -35
- package/dist/meter/lazyProvider.js.map +1 -1
- package/dist/meter/providerFactory.d.ts +6 -6
- package/dist/meter/providerFactory.js +47 -47
- package/dist/meter/providerFactory.js.map +1 -1
- package/dist/metrics/application/count.d.ts +19 -19
- package/dist/metrics/application/count.js +68 -68
- package/dist/metrics/application/count.js.map +1 -1
- package/dist/metrics/application/cpu.d.ts +10 -10
- package/dist/metrics/application/cpu.js +47 -47
- package/dist/metrics/application/cpu.js.map +1 -1
- package/dist/metrics/application/crash.d.ts +16 -16
- package/dist/metrics/application/crash.js +48 -48
- package/dist/metrics/application/crash.js.map +1 -1
- package/dist/metrics/application/duration.d.ts +25 -25
- package/dist/metrics/application/duration.js +104 -104
- package/dist/metrics/application/duration.js.map +1 -1
- package/dist/metrics/application/durationSoft.d.ts +4 -4
- package/dist/metrics/application/durationSoft.js +33 -33
- package/dist/metrics/application/durationSoft.js.map +1 -1
- package/dist/metrics/application/error.d.ts +16 -16
- package/dist/metrics/application/error.js +48 -48
- package/dist/metrics/application/error.js.map +1 -1
- package/dist/metrics/application/memory.d.ts +11 -11
- package/dist/metrics/application/memory.js +49 -49
- package/dist/metrics/application/memory.js.map +1 -1
- package/dist/metrics/application/started.d.ts +16 -16
- package/dist/metrics/application/started.js +48 -48
- package/dist/metrics/application/started.js.map +1 -1
- package/dist/metrics/application/startup.d.ts +16 -16
- package/dist/metrics/application/startup.js +49 -49
- package/dist/metrics/application/startup.js.map +1 -1
- package/dist/metrics/application/stopped.d.ts +16 -16
- package/dist/metrics/application/stopped.js +48 -48
- package/dist/metrics/application/stopped.js.map +1 -1
- package/dist/metrics/base/base.d.ts +28 -28
- package/dist/metrics/base/base.js +181 -180
- package/dist/metrics/base/base.js.map +1 -1
- package/dist/metrics/base/observable.d.ts +19 -19
- package/dist/metrics/base/observable.js +88 -88
- package/dist/metrics/base/observable.js.map +1 -1
- package/dist/metrics/base/observableGauge.d.ts +6 -6
- package/dist/metrics/base/observableGauge.js +11 -11
- package/dist/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.d.ts +12 -12
- package/dist/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.js +38 -38
- package/dist/metrics/base/zeroOutClosedAppObservableGaugeMetricBase.js.map +1 -1
- package/dist/metrics/custom/customCounter.d.ts +10 -10
- package/dist/metrics/custom/customCounter.js +23 -23
- package/dist/metrics/custom/customCounter.js.map +1 -1
- package/dist/metrics/custom/customGauge.d.ts +10 -10
- package/dist/metrics/custom/customGauge.js +23 -23
- package/dist/metrics/custom/customGauge.js.map +1 -1
- package/dist/metrics/custom/customHistogram.d.ts +10 -10
- package/dist/metrics/custom/customHistogram.js +23 -23
- package/dist/metrics/custom/customHistogram.js.map +1 -1
- package/dist/metrics/custom/customObservableCounter.d.ts +6 -6
- package/dist/metrics/custom/customObservableCounter.js +12 -12
- package/dist/metrics/custom/customObservableGauge.d.ts +6 -6
- package/dist/metrics/custom/customObservableGauge.js +12 -12
- package/dist/metrics/custom/customObservableUpDownCounter.d.ts +6 -6
- package/dist/metrics/custom/customObservableUpDownCounter.js +12 -12
- package/dist/metrics/custom/customUpDownCounter.d.ts +10 -10
- package/dist/metrics/custom/customUpDownCounter.js +23 -23
- package/dist/metrics/custom/customUpDownCounter.js.map +1 -1
- package/dist/metrics/layout/startup.d.ts +15 -15
- package/dist/metrics/layout/startup.js +46 -46
- package/dist/metrics/layout/startup.js.map +1 -1
- package/dist/metrics/platform/error.d.ts +15 -15
- package/dist/metrics/platform/error.js +46 -46
- package/dist/metrics/platform/error.js.map +1 -1
- package/dist/metrics/platform/startup.d.ts +16 -16
- package/dist/metrics/platform/startup.js +46 -46
- package/dist/metrics/platform/startup.js.map +1 -1
- package/dist/metrics/system/cpu.d.ts +10 -10
- package/dist/metrics/system/cpu.js +49 -49
- package/dist/metrics/system/cpu.js.map +1 -1
- package/dist/metrics/system/memory.d.ts +10 -10
- package/dist/metrics/system/memory.js +50 -50
- package/dist/metrics/system/memory.js.map +1 -1
- package/dist/metrics/workspace/count.d.ts +23 -23
- package/dist/metrics/workspace/count.js +93 -93
- package/dist/metrics/workspace/count.js.map +1 -1
- package/dist/metrics/workspace/selected.d.ts +14 -14
- package/dist/metrics/workspace/selected.js +46 -46
- package/dist/metrics/workspace/selected.js.map +1 -1
- package/dist/metrics/workspace/started.d.ts +17 -17
- package/dist/metrics/workspace/started.js +48 -48
- package/dist/metrics/workspace/started.js.map +1 -1
- package/dist/metrics/workspace/startupLegacy.d.ts +8 -8
- package/dist/metrics/workspace/startupLegacy.js +19 -19
- package/dist/metrics/workspace/stopped.d.ts +15 -15
- package/dist/metrics/workspace/stopped.js +45 -45
- package/dist/metrics/workspace/stopped.js.map +1 -1
- package/dist/metrics/workspace/timedGauge.d.ts +14 -14
- package/dist/metrics/workspace/timedGauge.js +53 -53
- package/dist/metrics/workspace/timedGauge.js.map +1 -1
- package/dist/settings/builder.d.ts +26 -26
- package/dist/settings/builder.js +141 -141
- package/dist/settings/builder.js.map +1 -1
- package/dist/settings/default.d.ts +41 -41
- package/dist/settings/default.js +179 -179
- package/dist/settings/default.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +49 -50
- package/dist/utils.js.map +1 -1
- package/dist/validation/builder.d.ts +4 -4
- package/dist/validation/builder.js +11 -11
- package/dist/validation/container.d.ts +4 -4
- package/dist/validation/container.js +13 -13
- package/dist/validation/metrics/application/count.d.ts +7 -7
- package/dist/validation/metrics/application/count.js +20 -20
- package/dist/validation/metrics/application/duration.d.ts +6 -6
- package/dist/validation/metrics/application/duration.js +16 -16
- package/dist/validation/metrics/application/error.d.ts +6 -6
- package/dist/validation/metrics/application/error.js +15 -15
- package/dist/validation/metrics/application/started.d.ts +6 -6
- package/dist/validation/metrics/application/started.js +15 -15
- package/dist/validation/metrics/application/startupHistogram.d.ts +6 -6
- package/dist/validation/metrics/application/startupHistogram.js +17 -17
- package/dist/validation/metrics/application/stopped.d.ts +6 -6
- package/dist/validation/metrics/application/stopped.js +15 -15
- package/dist/validation/metrics/base/base.d.ts +5 -5
- package/dist/validation/metrics/base/base.js +21 -21
- package/dist/validation/metrics/base/gauge.d.ts +5 -5
- package/dist/validation/metrics/base/gauge.js +11 -11
- package/dist/validation/metrics/builder.d.ts +2 -2
- package/dist/validation/metrics/builder.js +6 -6
- package/dist/validation/metrics/factory.d.ts +4 -4
- package/dist/validation/metrics/factory.js +12 -12
- package/dist/validation/metrics/factoryBuilder.d.ts +5 -5
- package/dist/validation/metrics/factoryBuilder.js +22 -22
- package/dist/validation/metrics/layout/startupHistogram.d.ts +6 -6
- package/dist/validation/metrics/layout/startupHistogram.js +17 -17
- package/dist/validation/metrics/manager.d.ts +4 -4
- package/dist/validation/metrics/manager.js +14 -14
- package/dist/validation/metrics/meterFactory.d.ts +2 -2
- package/dist/validation/metrics/meterFactory.js +7 -7
- package/dist/validation/metrics/perf.d.ts +8 -8
- package/dist/validation/metrics/perf.js +40 -40
- package/dist/validation/metrics/platform/crash.d.ts +6 -6
- package/dist/validation/metrics/platform/crash.js +15 -15
- package/dist/validation/metrics/platform/error.d.ts +6 -6
- package/dist/validation/metrics/platform/error.js +14 -14
- package/dist/validation/metrics/platform/startup.d.ts +6 -6
- package/dist/validation/metrics/platform/startup.js +17 -17
- package/dist/validation/metrics/settingsBuilder.d.ts +4 -4
- package/dist/validation/metrics/settingsBuilder.js +25 -25
- package/dist/validation/metrics/workspace/count.d.ts +8 -8
- package/dist/validation/metrics/workspace/count.js +24 -24
- package/dist/validation/metrics/workspace/startedOrStoppedMetric.d.ts +8 -8
- package/dist/validation/metrics/workspace/startedOrStoppedMetric.js +18 -18
- package/dist/validation/validator.d.ts +4 -4
- package/dist/validation/validator.js +14 -14
- package/dist/validation/validator.js.map +1 -1
- package/package.json +17 -15
package/dist/manager.js
CHANGED
|
@@ -1,168 +1,166 @@
|
|
|
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.MetricsManager = void 0;
|
|
13
|
-
const manager_1 = require("./validation/metrics/manager");
|
|
14
|
-
const constants_1 = require("./constants");
|
|
15
|
-
const otel_1 = require("@interopio/otel");
|
|
16
|
-
class MetricsManager {
|
|
17
|
-
constructor(otelSettings, settings, metricsFactory, meterProvider, logger) {
|
|
18
|
-
this.otelSettings = otelSettings;
|
|
19
|
-
this.settings = settings;
|
|
20
|
-
this.metricsFactory = metricsFactory;
|
|
21
|
-
this.meterProvider = meterProvider;
|
|
22
|
-
this.logger = logger;
|
|
23
|
-
this.metrics = new Map();
|
|
24
|
-
this.started = false;
|
|
25
|
-
if ((otelSettings === null || otelSettings === void 0 ? void 0 : otelSettings.logSettingsOnStartup) !== false) {
|
|
26
|
-
logger === null || logger === void 0 ? void 0 : logger.info(`Starting MetricsManager with settings ${(0, otel_1.safeStringify)(settings)}`);
|
|
27
|
-
}
|
|
28
|
-
const validator = new manager_1.MetricsManagerValidator();
|
|
29
|
-
validator.validate(this);
|
|
30
|
-
}
|
|
31
|
-
get(name) {
|
|
32
|
-
const metric = this.getOrCreateMetric(name);
|
|
33
|
-
return metric;
|
|
34
|
-
}
|
|
35
|
-
getFromSettings(settings) {
|
|
36
|
-
const metric = this.getOrCreateMetricFromSettings(settings);
|
|
37
|
-
return metric;
|
|
38
|
-
}
|
|
39
|
-
getObservable(name, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
40
|
-
const metric = this.getOrCreateMetric(name, observeCallback, subscribeCallback, unsubscribeCallback);
|
|
41
|
-
return metric;
|
|
42
|
-
}
|
|
43
|
-
getObservableFromSettings(settings, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
44
|
-
const metric = this.getOrCreateMetricFromSettings(settings, observeCallback, subscribeCallback, unsubscribeCallback);
|
|
45
|
-
return metric;
|
|
46
|
-
}
|
|
47
|
-
start() {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
this.createEnabledMetrics((_a = this.settings.metrics) !== null && _a !== void 0 ? _a : []);
|
|
52
|
-
for (const metricKvp of this.metrics) {
|
|
53
|
-
const metric = metricKvp[1];
|
|
54
|
-
yield this.startMetric(metric);
|
|
55
|
-
}
|
|
56
|
-
this.started = true;
|
|
57
|
-
this.logger.debug("metrics manager has been started");
|
|
58
|
-
}
|
|
59
|
-
catch (error) {
|
|
60
|
-
const message = "error while starting metrics manager";
|
|
61
|
-
this.logger.warn(message, error);
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
stop() {
|
|
66
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
try {
|
|
68
|
-
for (const metricKvp of this.metrics) {
|
|
69
|
-
const metric = metricKvp[1];
|
|
70
|
-
yield this.stopMetric(metric);
|
|
71
|
-
}
|
|
72
|
-
yield this.meterProvider.forceFlush();
|
|
73
|
-
this.started = false;
|
|
74
|
-
this.logger.debug("metrics manager has been stopped");
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
const message = "error while stopping metrics manager";
|
|
78
|
-
this.logger.warn(message, error);
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
waitForFinalExport(timeoutMs) {
|
|
83
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
const
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
}
|
|
167
|
-
exports.MetricsManager = MetricsManager;
|
|
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.MetricsManager = void 0;
|
|
13
|
+
const manager_1 = require("./validation/metrics/manager");
|
|
14
|
+
const constants_1 = require("./constants");
|
|
15
|
+
const otel_1 = require("@interopio/otel");
|
|
16
|
+
class MetricsManager {
|
|
17
|
+
constructor(otelSettings, settings, metricsFactory, meterProvider, logger) {
|
|
18
|
+
this.otelSettings = otelSettings;
|
|
19
|
+
this.settings = settings;
|
|
20
|
+
this.metricsFactory = metricsFactory;
|
|
21
|
+
this.meterProvider = meterProvider;
|
|
22
|
+
this.logger = logger;
|
|
23
|
+
this.metrics = new Map();
|
|
24
|
+
this.started = false;
|
|
25
|
+
if ((otelSettings === null || otelSettings === void 0 ? void 0 : otelSettings.logSettingsOnStartup) !== false) {
|
|
26
|
+
logger === null || logger === void 0 ? void 0 : logger.info(`Starting MetricsManager with settings ${(0, otel_1.safeStringify)(settings)}`);
|
|
27
|
+
}
|
|
28
|
+
const validator = new manager_1.MetricsManagerValidator();
|
|
29
|
+
validator.validate(this);
|
|
30
|
+
}
|
|
31
|
+
get(name) {
|
|
32
|
+
const metric = this.getOrCreateMetric(name);
|
|
33
|
+
return metric;
|
|
34
|
+
}
|
|
35
|
+
getFromSettings(settings) {
|
|
36
|
+
const metric = this.getOrCreateMetricFromSettings(settings);
|
|
37
|
+
return metric;
|
|
38
|
+
}
|
|
39
|
+
getObservable(name, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
40
|
+
const metric = this.getOrCreateMetric(name, observeCallback, subscribeCallback, unsubscribeCallback);
|
|
41
|
+
return metric;
|
|
42
|
+
}
|
|
43
|
+
getObservableFromSettings(settings, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
44
|
+
const metric = this.getOrCreateMetricFromSettings(settings, observeCallback, subscribeCallback, unsubscribeCallback);
|
|
45
|
+
return metric;
|
|
46
|
+
}
|
|
47
|
+
start() {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
var _a;
|
|
50
|
+
try {
|
|
51
|
+
this.createEnabledMetrics((_a = this.settings.metrics) !== null && _a !== void 0 ? _a : []);
|
|
52
|
+
for (const metricKvp of this.metrics) {
|
|
53
|
+
const metric = metricKvp[1];
|
|
54
|
+
yield this.startMetric(metric);
|
|
55
|
+
}
|
|
56
|
+
this.started = true;
|
|
57
|
+
this.logger.debug("metrics manager has been started");
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
const message = "error while starting metrics manager";
|
|
61
|
+
this.logger.warn(message, error);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
stop() {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
try {
|
|
68
|
+
for (const metricKvp of this.metrics) {
|
|
69
|
+
const metric = metricKvp[1];
|
|
70
|
+
yield this.stopMetric(metric);
|
|
71
|
+
}
|
|
72
|
+
yield this.meterProvider.forceFlush();
|
|
73
|
+
this.started = false;
|
|
74
|
+
this.logger.debug("metrics manager has been stopped");
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
const message = "error while stopping metrics manager";
|
|
78
|
+
this.logger.warn(message, error);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
waitForFinalExport(timeoutMs) {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
var _a;
|
|
85
|
+
const now = new Date();
|
|
86
|
+
yield Promise.all(this.meterProvider.metricReaders.map(x => x.collect({ timeoutMillis: timeoutMs })));
|
|
87
|
+
const remainingMs = timeoutMs ? timeoutMs - (new Date().getTime() - now.getTime()) : undefined;
|
|
88
|
+
return (0, otel_1.withTimeout)((_a = this.meterProvider) === null || _a === void 0 ? void 0 : _a.forceFlush(), remainingMs);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
createEnabledMetrics(metrics) {
|
|
92
|
+
const notCreateYet = metrics.filter((m) => { var _a; return !this.metrics.has((_a = m.name) !== null && _a !== void 0 ? _a : m.type); });
|
|
93
|
+
const enabled = notCreateYet.filter((m) => m.enabled);
|
|
94
|
+
enabled.forEach((metricSettings) => this.createMetric(metricSettings));
|
|
95
|
+
}
|
|
96
|
+
getOrCreateMetric(name, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
97
|
+
var _a;
|
|
98
|
+
const hasMetric = this.metrics.has(name);
|
|
99
|
+
if (hasMetric) {
|
|
100
|
+
return this.metrics.get(name);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
let metric;
|
|
104
|
+
const metricSettings = (_a = this.settings.metrics) === null || _a === void 0 ? void 0 : _a.find((m) => m.name === name);
|
|
105
|
+
if (metricSettings) {
|
|
106
|
+
metric = this.createMetric(metricSettings, observeCallback, subscribeCallback, unsubscribeCallback);
|
|
107
|
+
}
|
|
108
|
+
return metric;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
getOrCreateMetricFromSettings(settings, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
112
|
+
var _a, _b;
|
|
113
|
+
if (!settings.name) {
|
|
114
|
+
throw new Error("settings.name not defined");
|
|
115
|
+
}
|
|
116
|
+
const hasMetric = this.metrics.has(settings.name);
|
|
117
|
+
if (hasMetric) {
|
|
118
|
+
return this.metrics.get(settings.name);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
const metricSettings = (_a = this.settings.metrics) === null || _a === void 0 ? void 0 : _a.find((m) => m.name === settings.name);
|
|
122
|
+
return this.createMetric(Object.assign(Object.assign(Object.assign({}, settings), metricSettings), { enabled: (_b = settings.enabled) !== null && _b !== void 0 ? _b : true }), observeCallback, subscribeCallback, unsubscribeCallback);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
createMetric(settings, observeCallback, subscribeCallback, unsubscribeCallback) {
|
|
126
|
+
var _a;
|
|
127
|
+
try {
|
|
128
|
+
const providedSettings = settings.additionalAttributes;
|
|
129
|
+
settings = Object.assign(Object.assign({}, settings), { description: settings.description || constants_1.Defaults.DEFAULT_METRIC_DESCRIPTION, platformVersion: settings.platformVersion || this.otelSettings.platformVersion || "unknown", user: settings.user || this.otelSettings.userId || constants_1.Defaults.DEFAULT_USER, additionalAttributes: () => (Object.assign(Object.assign(Object.assign({}, otel_1.Container.errorless(this.otelSettings.additionalAttributes)), otel_1.Container.errorless(this.settings.additionalAttributes)), otel_1.Container.errorless(providedSettings))) });
|
|
130
|
+
const metric = this.metricsFactory.create(settings, this.settings, observeCallback, subscribeCallback, unsubscribeCallback);
|
|
131
|
+
if (metric) {
|
|
132
|
+
this.metrics.set((_a = settings.name) !== null && _a !== void 0 ? _a : settings.type, metric);
|
|
133
|
+
}
|
|
134
|
+
return metric;
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
const message = `error while creating metric from type: ${settings.type}`;
|
|
138
|
+
this.logger.warn(message, error);
|
|
139
|
+
return undefined;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
startMetric(metric) {
|
|
143
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
+
try {
|
|
145
|
+
yield metric.start();
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
const message = `error while starting metric from type: ${metric.settings.type}`;
|
|
149
|
+
this.logger.warn(message, error);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
stopMetric(metric) {
|
|
154
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
155
|
+
try {
|
|
156
|
+
yield metric.stop();
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
const message = `error while stopping metric from type: ${metric.settings.type}`;
|
|
160
|
+
this.logger.warn(message, error);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
exports.MetricsManager = MetricsManager;
|
|
168
166
|
//# sourceMappingURL=manager.js.map
|
package/dist/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAuE;AAGvE,2CAAuC;AAEvC,
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAuE;AAGvE,2CAAuC;AAEvC,0CAAwE;AAExE,MAAa,cAAc;IAKvB,YACW,YAAiC,EACjC,QAAoC,EACpC,cAAyC,EACzC,aAAuC,EACvC,MAAyB;QAJzB,iBAAY,GAAZ,YAAY,CAAqB;QACjC,aAAQ,GAAR,QAAQ,CAA4B;QACpC,mBAAc,GAAd,cAAc,CAA2B;QACzC,kBAAa,GAAb,aAAa,CAA0B;QACvC,WAAM,GAAN,MAAM,CAAmB;QAT5B,YAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;QAEhD,YAAO,GAAG,KAAK,CAAC;QASnB,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,oBAAoB,MAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAC,yCAAyC,IAAA,oBAAa,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,GAAG,CAAC,IAAY;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAa,IAAI,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,eAAe,CAAC,QAAmC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,6BAA6B,CAAa,QAAQ,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,aAAa,CAChB,IAAY,EACZ,eAAmE,EACnE,iBAAuC,EACvC,mBAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACrG,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,yBAAyB,CAC5B,QAAmC,EACnC,eAAmE,EACnE,iBAAuC,EACvC,mBAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACrH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEY,KAAK;;;YACd,IAAI,CAAC;gBACD,IAAI,CAAC,oBAAoB,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC;gBAEvD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;gBAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,sCAAsC,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KAAA;IAEY,IAAI;;YACb,IAAI,CAAC;gBACD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC;gBAED,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;gBAEtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,sCAAsC,CAAC;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KAAA;IAEY,kBAAkB,CAAC,SAAkB;;;YAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/F,OAAO,IAAA,kBAAW,EAAC,MAAA,IAAI,CAAC,aAAa,0CAAE,UAAU,EAAE,EAAE,WAAW,CAAC,CAAC;QACtE,CAAC;KAAA;IAEO,oBAAoB,CAAC,OAAoC;QAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,iBAAiB,CACrB,IAAY,EACZ,eAAoE,EACpE,iBAAuC,EACvC,mBAAyC;;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACJ,IAAI,MAAqC,CAAC;YAE1C,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC3E,IAAI,cAAc,EAAE,CAAC;gBACjB,MAAM,GAAG,IAAI,CAAC,YAAY,CACtB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAEO,6BAA6B,CACjC,QAAmC,EACnC,eAAoE,EACpE,iBAAuC,EACvC,mBAAyC;;QACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC,YAAY,CAAC,8CAClB,QAAQ,GACR,cAAc,KACjB,OAAO,EAAE,MAAA,QAAQ,CAAC,OAAO,mCAAI,IAAI,GACP,EAC9B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAEO,YAAY,CAChB,QAAmC,EACnC,eAAoE,EACpE,iBAAuC,EACvC,mBAAyC;;QACzC,IAAI,CAAC;YACD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,oBAAoB,CAAC;YACvD,QAAQ,mCACD,QAAQ,KACX,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,oBAAQ,CAAC,0BAA0B,EACxE,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,SAAS,EAC3F,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,oBAAQ,CAAC,YAAY,EACxE,oBAAoB,EAAE,GAAG,EAAE,CAAC,+CACrB,gBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAC3D,gBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GACvD,gBAAS,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAC1C,GACL,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CACrC,QAAQ,EACR,IAAI,CAAC,QAAQ,EACb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,CAAC,CAAC;YACzB,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAA,QAAQ,CAAC,IAAI,mCAAI,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,0CAA0C,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACjC,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAEa,WAAW,CAAC,MAAyB;;YAC/C,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,0CAA0C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KAAA;IAEa,UAAU,CAAC,MAAyB;;YAC9C,IAAI,CAAC;gBACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,0CAA0C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACjF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;KAAA;CACJ;AAtMD,wCAsMC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { type Meter } from "@opentelemetry/api";
|
|
2
|
-
import { type MetricReader } from "@opentelemetry/sdk-metrics";
|
|
3
|
-
import { IOInsights } from "@interopio/otel/insights";
|
|
4
|
-
export declare class LazyMetricsMeterProvider {
|
|
5
|
-
private meterProviderCreateFunc;
|
|
6
|
-
private serviceName;
|
|
7
|
-
private meterProvider;
|
|
8
|
-
private _metricReaders;
|
|
9
|
-
get metricReaders(): MetricReader[];
|
|
10
|
-
constructor(meterProviderCreateFunc: IOInsights.MetricsMeterProviderCreateFunc, serviceName: string);
|
|
11
|
-
getMeter(): Meter;
|
|
12
|
-
forceFlush(): Promise<void>;
|
|
13
|
-
getMeterProvider(): IOInsights.MetricsMeterProvider;
|
|
14
|
-
private buildMeterProvider;
|
|
15
|
-
}
|
|
1
|
+
import { type Meter } from "@opentelemetry/api";
|
|
2
|
+
import { type MetricReader } from "@opentelemetry/sdk-metrics";
|
|
3
|
+
import { IOInsights } from "@interopio/otel/insights";
|
|
4
|
+
export declare class LazyMetricsMeterProvider {
|
|
5
|
+
private meterProviderCreateFunc;
|
|
6
|
+
private serviceName;
|
|
7
|
+
private meterProvider;
|
|
8
|
+
private _metricReaders;
|
|
9
|
+
get metricReaders(): MetricReader[];
|
|
10
|
+
constructor(meterProviderCreateFunc: IOInsights.MetricsMeterProviderCreateFunc, serviceName: string);
|
|
11
|
+
getMeter(): Meter;
|
|
12
|
+
forceFlush(): Promise<void>;
|
|
13
|
+
getMeterProvider(): IOInsights.MetricsMeterProvider;
|
|
14
|
+
private buildMeterProvider;
|
|
15
|
+
}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LazyMetricsMeterProvider = void 0;
|
|
4
|
-
class LazyMetricsMeterProvider {
|
|
5
|
-
get metricReaders() {
|
|
6
|
-
if (!this._metricReaders) {
|
|
7
|
-
this.buildMeterProvider();
|
|
8
|
-
}
|
|
9
|
-
return this._metricReaders;
|
|
10
|
-
}
|
|
11
|
-
constructor(meterProviderCreateFunc, serviceName) {
|
|
12
|
-
this.meterProviderCreateFunc = meterProviderCreateFunc;
|
|
13
|
-
this.serviceName = serviceName;
|
|
14
|
-
}
|
|
15
|
-
getMeter() {
|
|
16
|
-
const provider = this.getMeterProvider();
|
|
17
|
-
return provider.getMeter(this.serviceName);
|
|
18
|
-
}
|
|
19
|
-
forceFlush() {
|
|
20
|
-
const provider = this.getMeterProvider();
|
|
21
|
-
return provider.forceFlush();
|
|
22
|
-
}
|
|
23
|
-
getMeterProvider() {
|
|
24
|
-
if (!this.meterProvider) {
|
|
25
|
-
this.buildMeterProvider();
|
|
26
|
-
}
|
|
27
|
-
return this.meterProvider;
|
|
28
|
-
}
|
|
29
|
-
buildMeterProvider() {
|
|
30
|
-
const result = this.meterProviderCreateFunc();
|
|
31
|
-
this.meterProvider = result.meterProvider;
|
|
32
|
-
this._metricReaders = result.metricReaders;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.LazyMetricsMeterProvider = LazyMetricsMeterProvider;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LazyMetricsMeterProvider = void 0;
|
|
4
|
+
class LazyMetricsMeterProvider {
|
|
5
|
+
get metricReaders() {
|
|
6
|
+
if (!this._metricReaders) {
|
|
7
|
+
this.buildMeterProvider();
|
|
8
|
+
}
|
|
9
|
+
return this._metricReaders;
|
|
10
|
+
}
|
|
11
|
+
constructor(meterProviderCreateFunc, serviceName) {
|
|
12
|
+
this.meterProviderCreateFunc = meterProviderCreateFunc;
|
|
13
|
+
this.serviceName = serviceName;
|
|
14
|
+
}
|
|
15
|
+
getMeter() {
|
|
16
|
+
const provider = this.getMeterProvider();
|
|
17
|
+
return provider.getMeter(this.serviceName);
|
|
18
|
+
}
|
|
19
|
+
forceFlush() {
|
|
20
|
+
const provider = this.getMeterProvider();
|
|
21
|
+
return provider.forceFlush();
|
|
22
|
+
}
|
|
23
|
+
getMeterProvider() {
|
|
24
|
+
if (!this.meterProvider) {
|
|
25
|
+
this.buildMeterProvider();
|
|
26
|
+
}
|
|
27
|
+
return this.meterProvider;
|
|
28
|
+
}
|
|
29
|
+
buildMeterProvider() {
|
|
30
|
+
const result = this.meterProviderCreateFunc();
|
|
31
|
+
this.meterProvider = result.meterProvider;
|
|
32
|
+
this._metricReaders = result.metricReaders;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.LazyMetricsMeterProvider = LazyMetricsMeterProvider;
|
|
36
36
|
//# sourceMappingURL=lazyProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazyProvider.js","sourceRoot":"","sources":["../../src/meter/lazyProvider.ts"],"names":[],"mappings":";;;AAGA,MAAa,wBAAwB;IAIjC,IAAW,aAAa;QACpB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;
|
|
1
|
+
{"version":3,"file":"lazyProvider.js","sourceRoot":"","sources":["../../src/meter/lazyProvider.ts"],"names":[],"mappings":";;;AAGA,MAAa,wBAAwB;IAIjC,IAAW,aAAa;QACpB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,YACY,uBAAkE,EAClE,WAAmB;QADnB,4BAAuB,GAAvB,uBAAuB,CAA2C;QAClE,gBAAW,GAAX,WAAW,CAAQ;IAAI,CAAC;IAE7B,QAAQ;QACX,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/C,CAAC;IAEM,UAAU;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAEM,gBAAgB;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC9B,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC;IAC/C,CAAC;CACJ;AArCD,4DAqCC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IOInsights } from "@interopio/otel/insights";
|
|
2
|
-
import { Logger } from "@interopio/otel";
|
|
3
|
-
export declare class MetricsMeterProviderFactory {
|
|
4
|
-
create(settings: IOInsights.MetricsSettings, otelSettings: IOInsights.Settings, logger: Logger): ReturnType<IOInsights.MetricsMeterProviderCreateFunc>;
|
|
5
|
-
private createMeterProvider;
|
|
6
|
-
}
|
|
1
|
+
import { IOInsights } from "@interopio/otel/insights";
|
|
2
|
+
import { Logger } from "@interopio/otel";
|
|
3
|
+
export declare class MetricsMeterProviderFactory {
|
|
4
|
+
create(settings: IOInsights.MetricsSettings, otelSettings: IOInsights.Settings, logger: Logger): ReturnType<IOInsights.MetricsMeterProviderCreateFunc>;
|
|
5
|
+
private createMeterProvider;
|
|
6
|
+
}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MetricsMeterProviderFactory = void 0;
|
|
4
|
-
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
5
|
-
const otel_1 = require("@interopio/otel");
|
|
6
|
-
const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
|
|
7
|
-
const utils_1 = require("../utils");
|
|
8
|
-
class MetricsMeterProviderFactory {
|
|
9
|
-
create(settings, otelSettings, logger) {
|
|
10
|
-
var _a;
|
|
11
|
-
const exporterSettings = Object.assign(Object.assign({ url: settings.url, concurrencyLimit: settings.concurrencyLimit, timeoutMillis: settings.timeoutMillis, compression: settings.compression, keepAlive: settings.keepAlive }, settings.exporterSettings), { headers: Object.assign(Object.assign(Object.assign({}, otel_1.Container.errorless(otelSettings.headers)), otel_1.Container.errorless((_a = settings.exporterSettings) === null || _a === void 0 ? void 0 : _a.headers)), otel_1.Container.errorless(settings.headers)) });
|
|
12
|
-
const metricReaderSettings = Object.assign(Object.assign({}, settings.readerSettings), { exportIntervalMillis: settings.publishInterval });
|
|
13
|
-
let metricReaders = [];
|
|
14
|
-
if (settings.metricReaders) {
|
|
15
|
-
metricReaders = otel_1.Container.errorless(() => settings.metricReaders(metricReaderSettings, exporterSettings, settings, otelSettings));
|
|
16
|
-
}
|
|
17
|
-
let metricExporters = [];
|
|
18
|
-
if (settings.metricExporters) {
|
|
19
|
-
metricExporters = otel_1.Container.errorless(() => { var _a; return (_a = settings.metricExporters) === null || _a === void 0 ? void 0 : _a.call(settings, exporterSettings, settings, otelSettings); });
|
|
20
|
-
}
|
|
21
|
-
if (settings.url &&
|
|
22
|
-
!(metricExporters === null || metricExporters === void 0 ? void 0 : metricExporters.length) &&
|
|
23
|
-
!(metricReaders === null || metricReaders === void 0 ? void 0 : metricReaders.length)) {
|
|
24
|
-
metricExporters = [new exporter_metrics_otlp_http_1.OTLPMetricExporter(exporterSettings)];
|
|
25
|
-
}
|
|
26
|
-
for (const exporter of metricExporters) {
|
|
27
|
-
metricReaders.push(new sdk_metrics_1.PeriodicExportingMetricReader(Object.assign(Object.assign({}, metricReaderSettings), { exporter })));
|
|
28
|
-
}
|
|
29
|
-
const meterProvider = this.createMeterProvider(settings, otelSettings, metricReaders, logger);
|
|
30
|
-
return { meterProvider, metricReaders };
|
|
31
|
-
}
|
|
32
|
-
createMeterProvider(settings, otelSettings, metricReaders, logger) {
|
|
33
|
-
var _a, _b, _c;
|
|
34
|
-
const basePlugin = (0, otel_1.loadInsightsPlugin)("base", logger);
|
|
35
|
-
if (!basePlugin) {
|
|
36
|
-
logger.error("Unable to create meter provider without loaded @interopio/insights-base package");
|
|
37
|
-
}
|
|
38
|
-
const attributes = (_a = otel_1.Container.errorless(settings.additionalResourceAttributes)) !== null && _a !== void 0 ? _a : {};
|
|
39
|
-
const reducedAttributes = (0, utils_1.reduceModality)(attributes, (_b = settings.defaultPublishingSettings) === null || _b === void 0 ? void 0 : _b.attributeSettings);
|
|
40
|
-
const meterProviderSettings = Object.assign({
|
|
41
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
-
resource: basePlugin === null || basePlugin === void 0 ? void 0 : basePlugin.resourceFromAttributes(reducedAttributes), readers: metricReaders }, settings.meterProviderSettings);
|
|
43
|
-
const meterProvider = (_c = otel_1.Container.errorless(() => { var _a; return (_a = settings.meterProvider) === null || _a === void 0 ? void 0 : _a.call(settings, meterProviderSettings, settings, otelSettings); })) !== null && _c !== void 0 ? _c : new sdk_metrics_1.MeterProvider(meterProviderSettings);
|
|
44
|
-
return meterProvider;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.MetricsMeterProviderFactory = MetricsMeterProviderFactory;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsMeterProviderFactory = void 0;
|
|
4
|
+
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
5
|
+
const otel_1 = require("@interopio/otel");
|
|
6
|
+
const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
8
|
+
class MetricsMeterProviderFactory {
|
|
9
|
+
create(settings, otelSettings, logger) {
|
|
10
|
+
var _a;
|
|
11
|
+
const exporterSettings = Object.assign(Object.assign({ url: settings.url, concurrencyLimit: settings.concurrencyLimit, timeoutMillis: settings.timeoutMillis, compression: settings.compression, keepAlive: settings.keepAlive }, settings.exporterSettings), { headers: Object.assign(Object.assign(Object.assign({}, otel_1.Container.errorless(otelSettings.headers)), otel_1.Container.errorless((_a = settings.exporterSettings) === null || _a === void 0 ? void 0 : _a.headers)), otel_1.Container.errorless(settings.headers)) });
|
|
12
|
+
const metricReaderSettings = Object.assign(Object.assign({}, settings.readerSettings), { exportIntervalMillis: settings.publishInterval });
|
|
13
|
+
let metricReaders = [];
|
|
14
|
+
if (settings.metricReaders) {
|
|
15
|
+
metricReaders = otel_1.Container.errorless(() => settings.metricReaders(metricReaderSettings, exporterSettings, settings, otelSettings));
|
|
16
|
+
}
|
|
17
|
+
let metricExporters = [];
|
|
18
|
+
if (settings.metricExporters) {
|
|
19
|
+
metricExporters = otel_1.Container.errorless(() => { var _a; return (_a = settings.metricExporters) === null || _a === void 0 ? void 0 : _a.call(settings, exporterSettings, settings, otelSettings); });
|
|
20
|
+
}
|
|
21
|
+
if (settings.url &&
|
|
22
|
+
!(metricExporters === null || metricExporters === void 0 ? void 0 : metricExporters.length) &&
|
|
23
|
+
!(metricReaders === null || metricReaders === void 0 ? void 0 : metricReaders.length)) {
|
|
24
|
+
metricExporters = [new exporter_metrics_otlp_http_1.OTLPMetricExporter(exporterSettings)];
|
|
25
|
+
}
|
|
26
|
+
for (const exporter of metricExporters) {
|
|
27
|
+
metricReaders.push(new sdk_metrics_1.PeriodicExportingMetricReader(Object.assign(Object.assign({}, metricReaderSettings), { exporter })));
|
|
28
|
+
}
|
|
29
|
+
const meterProvider = this.createMeterProvider(settings, otelSettings, metricReaders, logger);
|
|
30
|
+
return { meterProvider, metricReaders };
|
|
31
|
+
}
|
|
32
|
+
createMeterProvider(settings, otelSettings, metricReaders, logger) {
|
|
33
|
+
var _a, _b, _c;
|
|
34
|
+
const basePlugin = (0, otel_1.loadInsightsPlugin)("base", logger);
|
|
35
|
+
if (!basePlugin) {
|
|
36
|
+
logger.error("Unable to create meter provider without loaded @interopio/insights-base package");
|
|
37
|
+
}
|
|
38
|
+
const attributes = (_a = otel_1.Container.errorless(settings.additionalResourceAttributes)) !== null && _a !== void 0 ? _a : {};
|
|
39
|
+
const reducedAttributes = (0, utils_1.reduceModality)(attributes, (_b = settings.defaultPublishingSettings) === null || _b === void 0 ? void 0 : _b.attributeSettings);
|
|
40
|
+
const meterProviderSettings = Object.assign({
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
|
+
resource: basePlugin === null || basePlugin === void 0 ? void 0 : basePlugin.resourceFromAttributes(reducedAttributes), readers: metricReaders }, settings.meterProviderSettings);
|
|
43
|
+
const meterProvider = (_c = otel_1.Container.errorless(() => { var _a; return (_a = settings.meterProvider) === null || _a === void 0 ? void 0 : _a.call(settings, meterProviderSettings, settings, otelSettings); })) !== null && _c !== void 0 ? _c : new sdk_metrics_1.MeterProvider(meterProviderSettings);
|
|
44
|
+
return meterProvider;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.MetricsMeterProviderFactory = MetricsMeterProviderFactory;
|
|
48
48
|
//# sourceMappingURL=providerFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providerFactory.js","sourceRoot":"","sources":["../../src/meter/providerFactory.ts"],"names":[],"mappings":";;;AAAA,4DAAsI;AAGtI,0CAAuH;AACvH,0FAA+E;AAC/E,oCAA0C;AAG1C,MAAa,2BAA2B;IAC7B,MAAM,CACT,QAAoC,EACpC,YAAiC,EACjC,MAAc;;QAEd,MAAM,gBAAgB,iCAClB,GAAG,EAAE,QAAQ,CAAC,GAAG,EACjB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAC3C,aAAa,EAAE,QAAQ,CAAC,aAAa,EACrC,WAAW,EAAE,QAAQ,CAAC,WAAW,EACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAC1B,QAAQ,CAAC,gBAAgB,KAC5B,OAAO,gDACA,gBAAS,CAAC,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GACzC,gBAAS,CAAC,SAAS,CAAC,MAAA,QAAQ,CAAC,gBAAgB,0CAAE,
|
|
1
|
+
{"version":3,"file":"providerFactory.js","sourceRoot":"","sources":["../../src/meter/providerFactory.ts"],"names":[],"mappings":"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"}
|