@interopio/otel 0.0.2 → 0.0.4
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/builder.d.ts +1 -1
- package/dist/builder.js +5 -5
- package/dist/builder.js.map +1 -1
- package/dist/metrics/application/count.js +4 -2
- package/dist/metrics/application/count.js.map +1 -1
- package/dist/metrics/application/cpu.js +11 -8
- package/dist/metrics/application/cpu.js.map +1 -1
- package/dist/metrics/application/duration.d.ts +7 -20
- package/dist/metrics/application/duration.js +19 -91
- package/dist/metrics/application/duration.js.map +1 -1
- package/dist/metrics/application/durationBase.d.ts +21 -0
- package/dist/metrics/application/durationBase.js +102 -0
- package/dist/metrics/application/durationBase.js.map +1 -0
- package/dist/metrics/application/durationHistogram.d.ts +4 -6
- package/dist/metrics/application/durationHistogram.js +4 -4
- package/dist/metrics/application/durationHistogram.js.map +1 -1
- package/dist/metrics/application/memory.js +10 -7
- package/dist/metrics/application/memory.js.map +1 -1
- package/dist/metrics/application/started.js +2 -1
- package/dist/metrics/application/started.js.map +1 -1
- package/dist/metrics/application/startup.d.ts +7 -16
- package/dist/metrics/application/startup.js +17 -61
- package/dist/metrics/application/startup.js.map +1 -1
- package/dist/metrics/application/startupBase.d.ts +17 -0
- package/dist/metrics/application/startupBase.js +68 -0
- package/dist/metrics/application/startupBase.js.map +1 -0
- package/dist/metrics/application/startupHistogram.d.ts +4 -6
- package/dist/metrics/application/startupHistogram.js +4 -4
- package/dist/metrics/application/startupHistogram.js.map +1 -1
- package/dist/metrics/application/stopped.js +2 -1
- package/dist/metrics/application/stopped.js.map +1 -1
- package/dist/metrics/base/base.js +8 -6
- package/dist/metrics/base/base.js.map +1 -1
- package/dist/metrics/base/gauge.js +9 -6
- package/dist/metrics/base/gauge.js.map +1 -1
- package/dist/metrics/base/observable.d.ts +20 -0
- package/dist/metrics/base/observable.js +70 -0
- package/dist/metrics/base/observable.js.map +1 -0
- package/dist/metrics/builder.js +1 -1
- package/dist/metrics/builder.js.map +1 -1
- package/dist/metrics/factory.js +2 -2
- package/dist/metrics/factory.js.map +1 -1
- package/dist/metrics/factoryBuilder.d.ts +0 -1
- package/dist/metrics/factoryBuilder.js +7 -17
- package/dist/metrics/factoryBuilder.js.map +1 -1
- package/dist/metrics/layout/startup.d.ts +7 -17
- package/dist/metrics/layout/startup.js +18 -65
- package/dist/metrics/layout/startup.js.map +1 -1
- package/dist/metrics/layout/startupBase.d.ts +18 -0
- package/dist/metrics/layout/startupBase.js +71 -0
- package/dist/metrics/layout/startupBase.js.map +1 -0
- package/dist/metrics/layout/startupHistogram.d.ts +4 -6
- package/dist/metrics/layout/startupHistogram.js +4 -4
- package/dist/metrics/layout/startupHistogram.js.map +1 -1
- package/dist/metrics/manager.js +13 -8
- package/dist/metrics/manager.js.map +1 -1
- package/dist/metrics/{base/null.d.ts → null.d.ts} +2 -2
- package/dist/metrics/{base/null.js → null.js} +2 -2
- package/dist/metrics/null.js.map +1 -0
- package/dist/metrics/platform/startup.js +3 -3
- package/dist/metrics/platform/startup.js.map +1 -1
- package/dist/metrics/settingsBuilder.d.ts +0 -1
- package/dist/metrics/settingsBuilder.js +0 -12
- package/dist/metrics/settingsBuilder.js.map +1 -1
- package/dist/metrics/system/cpu.d.ts +1 -0
- package/dist/metrics/system/cpu.js +17 -11
- package/dist/metrics/system/cpu.js.map +1 -1
- package/dist/metrics/system/memory.d.ts +1 -0
- package/dist/metrics/system/memory.js +18 -12
- package/dist/metrics/system/memory.js.map +1 -1
- package/dist/metrics/types.d.ts +13 -10
- package/dist/metrics/utils/nullPerfProvider.d.ts +4 -4
- package/dist/metrics/utils/nullPerfProvider.js +4 -12
- package/dist/metrics/utils/nullPerfProvider.js.map +1 -1
- package/dist/types.d.ts +5 -3
- package/dist/utils/nullLogger.d.ts +3 -1
- package/dist/utils/nullLogger.js +15 -3
- package/dist/utils/nullLogger.js.map +1 -1
- package/dist/validation/builder.js +1 -1
- package/dist/validation/builder.js.map +1 -1
- package/dist/validation/metrics/application/duration.d.ts +2 -2
- package/dist/validation/metrics/application/duration.js.map +1 -1
- package/dist/validation/metrics/application/startup.d.ts +3 -2
- package/dist/validation/metrics/application/startup.js +1 -0
- package/dist/validation/metrics/application/startup.js.map +1 -1
- package/dist/validation/metrics/base/gauge.d.ts +2 -1
- package/dist/validation/metrics/base/gauge.js.map +1 -1
- package/dist/validation/metrics/layout/startup.d.ts +3 -2
- package/dist/validation/metrics/layout/startup.js +1 -0
- package/dist/validation/metrics/layout/startup.js.map +1 -1
- package/dist/validation/metrics/platform/startup.d.ts +2 -1
- package/dist/validation/metrics/platform/startup.js +1 -0
- package/dist/validation/metrics/platform/startup.js.map +1 -1
- package/package.json +1 -1
- package/dist/metrics/application/durationSum.d.ts +0 -9
- package/dist/metrics/application/durationSum.js +0 -17
- package/dist/metrics/application/durationSum.js.map +0 -1
- package/dist/metrics/base/null.js.map +0 -1
|
@@ -1,72 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ApplicationStartupMetric = void 0;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.
|
|
19
|
-
// application -> [data, startup times]
|
|
20
|
-
this.startupTimes = new Map();
|
|
21
|
-
this.validator = new startup_1.ApplicationStartupMetricValidator();
|
|
22
|
-
this.validator.validate(this);
|
|
4
|
+
const startupBase_1 = require("./startupBase");
|
|
5
|
+
class ApplicationStartupMetric extends startupBase_1.ApplicationStartupMetricBase {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
// app -> last metric value
|
|
9
|
+
this.lastMetrics = new Map();
|
|
23
10
|
}
|
|
24
|
-
|
|
25
|
-
this.
|
|
11
|
+
createMetricCore() {
|
|
12
|
+
this.appStartupMetric = this.meter.createUpDownCounter(this.settings.name, { description: this.settings.description, unit: this.settings.unit });
|
|
26
13
|
return Promise.resolve();
|
|
27
14
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.startupTimes.forEach((kvp, application) => {
|
|
31
|
-
const metrics = kvp[1];
|
|
32
|
-
if (metrics.length > 0) {
|
|
33
|
-
const data = kvp[0];
|
|
34
|
-
this.sendMetric(metrics, data, result);
|
|
35
|
-
this.startupTimes.set(application, [data, []]);
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
unsubscribeCore() {
|
|
41
|
-
this.interopReadyUn();
|
|
42
|
-
return Promise.resolve();
|
|
43
|
-
}
|
|
44
|
-
sendMetric(startupTimes, data, result) {
|
|
15
|
+
sendMetric(startupTimes, data) {
|
|
16
|
+
const application = data.application;
|
|
45
17
|
const slowest = Math.max(...startupTimes);
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
this.validator.validateInstanceReady(e);
|
|
52
|
-
this.logger.debug(`instance ready for application ${e.application} and metric ${this.settings.name} is being invoked`);
|
|
53
|
-
const now = (new Date()).getTime();
|
|
54
|
-
const startupTime = now - e.startTime.getTime();
|
|
55
|
-
this.addStartupTime(startupTime, e.application);
|
|
56
|
-
this.logger.debug(`start up time ${startupTime} has been added for metric ${this.settings.name}`);
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
this.logger.error(error);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
addStartupTime(time, application) {
|
|
63
|
-
if (!this.startupTimes.has(application)) {
|
|
64
|
-
const data = this.getData(application);
|
|
65
|
-
this.startupTimes.set(application, [data, []]);
|
|
18
|
+
if (this.lastMetrics.has(application)) {
|
|
19
|
+
const lastSlowestStartup = -this.lastMetrics.get(application);
|
|
20
|
+
this.appStartupMetric.add(lastSlowestStartup, data);
|
|
21
|
+
this.logger.debug(`metric ${this.settings.name} sent startup time ${lastSlowestStartup} for app ${application}`);
|
|
66
22
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
23
|
+
this.appStartupMetric.add(slowest, data);
|
|
24
|
+
this.logger.debug(`metric ${this.settings.name} sent slowest startup time ${slowest} for app ${application}`);
|
|
25
|
+
this.lastMetrics.set(application, slowest);
|
|
70
26
|
}
|
|
71
27
|
}
|
|
72
28
|
exports.ApplicationStartupMetric = ApplicationStartupMetric;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/application/startup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/application/startup.ts"],"names":[],"mappings":";;;AACA,+CAA6D;AAG7D,MAAa,wBAAyB,SAAQ,0CAA4B;IAA1E;;QACI,2BAA2B;QACnB,gBAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAuBpD,CAAC;IApBsB,gBAAgB;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAAyB;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAY,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACnC,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;YAC/D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,kBAAkB,YAAY,WAAW,EAAE,CAAC,CAAC;SACpH;QAED,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,8BAA8B,OAAO,YAAY,WAAW,EAAE,CAAC,CAAC;QAE9G,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACJ;AAzBD,4DAyBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { TelemetryMetricData, InstanceReadyHandler, TelemetryMetricSettings } from "../types";
|
|
3
|
+
import { TelemetryLogger } from "../../types";
|
|
4
|
+
import { ObservableMetricBase } from "../base/observable";
|
|
5
|
+
export declare abstract class ApplicationStartupMetricBase extends ObservableMetricBase {
|
|
6
|
+
instanceReadyHandler: InstanceReadyHandler;
|
|
7
|
+
private startupTimes;
|
|
8
|
+
private interopReadyUn;
|
|
9
|
+
private validator;
|
|
10
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, instanceReadyHandler: InstanceReadyHandler);
|
|
11
|
+
protected subscribeCore(): Promise<void>;
|
|
12
|
+
protected observeCore(): Promise<void>;
|
|
13
|
+
protected unsubscribeCore(): Promise<void>;
|
|
14
|
+
protected abstract sendMetric(startupTimes: number[], data: TelemetryMetricData): void;
|
|
15
|
+
private handleInstanceReady;
|
|
16
|
+
private addStartupTime;
|
|
17
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ApplicationStartupMetricBase = void 0;
|
|
13
|
+
const startup_1 = require("../../validation/metrics/application/startup");
|
|
14
|
+
const observable_1 = require("../base/observable");
|
|
15
|
+
class ApplicationStartupMetricBase extends observable_1.ObservableMetricBase {
|
|
16
|
+
constructor(settings, meter, userId, logger, instanceReadyHandler) {
|
|
17
|
+
super(settings, meter, userId, logger);
|
|
18
|
+
this.instanceReadyHandler = instanceReadyHandler;
|
|
19
|
+
// application -> [data, startup times]
|
|
20
|
+
this.startupTimes = new Map();
|
|
21
|
+
this.validator = new startup_1.ApplicationStartupMetricValidator();
|
|
22
|
+
this.validator.validate(this);
|
|
23
|
+
}
|
|
24
|
+
subscribeCore() {
|
|
25
|
+
this.interopReadyUn = this.instanceReadyHandler(this.handleInstanceReady.bind(this));
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
observeCore() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
this.startupTimes.forEach((kvp, application) => {
|
|
31
|
+
const metrics = kvp[1];
|
|
32
|
+
if (metrics.length > 0) {
|
|
33
|
+
const data = kvp[0];
|
|
34
|
+
this.sendMetric(metrics, data);
|
|
35
|
+
this.startupTimes.set(application, [data, []]);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
unsubscribeCore() {
|
|
41
|
+
this.interopReadyUn();
|
|
42
|
+
return Promise.resolve();
|
|
43
|
+
}
|
|
44
|
+
handleInstanceReady(e) {
|
|
45
|
+
try {
|
|
46
|
+
this.validator.validateInstanceReady(e);
|
|
47
|
+
this.logger.debug(`instance ready for application ${e.application} and metric ${this.settings.name} is being invoked`);
|
|
48
|
+
const startupTime = e.endTime.getTime() - e.startTime.getTime();
|
|
49
|
+
this.addStartupTime(startupTime, e.application);
|
|
50
|
+
this.logger.debug(`start up time ${startupTime} has been added for metric ${this.settings.name}`);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
const message = `error while executing handleInstanceReady for metric from type: ${this.settings.type}`;
|
|
54
|
+
this.logger.error(message, error);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
addStartupTime(time, application) {
|
|
58
|
+
if (!this.startupTimes.has(application)) {
|
|
59
|
+
const data = this.getData(application);
|
|
60
|
+
this.startupTimes.set(application, [data, []]);
|
|
61
|
+
}
|
|
62
|
+
const kvp = this.startupTimes.get(application);
|
|
63
|
+
const metrics = kvp[1];
|
|
64
|
+
metrics.push(time);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ApplicationStartupMetricBase = ApplicationStartupMetricBase;
|
|
68
|
+
//# sourceMappingURL=startupBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startupBase.js","sourceRoot":"","sources":["../../../src/metrics/application/startupBase.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,0EAAiG;AACjG,mDAA0D;AAE1D,MAAsB,4BAA6B,SAAQ,iCAAoB;IAM3E,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,oBAA0C;QAEjD,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAFhC,yBAAoB,GAApB,oBAAoB,CAAsB;QAVrD,uCAAuC;QAC/B,iBAAY,GAAG,IAAI,GAAG,EAA2C,CAAC;QAatE,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,aAAa;QAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEwB,WAAW;;YAChC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;gBAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACpB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;iBAClD;YACL,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAEkB,eAAe;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAIO,mBAAmB,CAAC,CAA0D;QAClF,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEvH,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YAChE,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;YAEhD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,WAAW,8BAA8B,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;SACrG;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,mEAAmE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;IAEO,cAAc,CAAC,IAAY,EAAE,WAAmB;QACpD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SAClD;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAE,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;CACJ;AAnED,oEAmEC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import { TelemetryLogger } from "../../types";
|
|
5
|
-
export declare class ApplicationStartupHistogramMetric extends ApplicationStartupMetric {
|
|
1
|
+
import { ApplicationStartupMetricBase } from "./startupBase";
|
|
2
|
+
import { TelemetryMetricData } from "../types";
|
|
3
|
+
export declare class ApplicationStartupHistogramMetric extends ApplicationStartupMetricBase {
|
|
6
4
|
private appStartupMetric;
|
|
7
|
-
|
|
5
|
+
protected createMetricCore(): Promise<void>;
|
|
8
6
|
protected sendMetric(startupTimes: number[], data: TelemetryMetricData): void;
|
|
9
7
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ApplicationStartupHistogramMetric = void 0;
|
|
4
|
-
const
|
|
5
|
-
class ApplicationStartupHistogramMetric extends
|
|
6
|
-
|
|
7
|
-
super(settings, meter, userId, logger, instanceReadyHandler);
|
|
4
|
+
const startupBase_1 = require("./startupBase");
|
|
5
|
+
class ApplicationStartupHistogramMetric extends startupBase_1.ApplicationStartupMetricBase {
|
|
6
|
+
createMetricCore() {
|
|
8
7
|
const advice = { explicitBucketBoundaries: this.settings.buckets };
|
|
9
8
|
this.appStartupMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
|
|
9
|
+
return Promise.resolve();
|
|
10
10
|
}
|
|
11
11
|
sendMetric(startupTimes, data) {
|
|
12
12
|
startupTimes.forEach((time) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/startupHistogram.ts"],"names":[],"mappings":";;;AACA
|
|
1
|
+
{"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/application/startupHistogram.ts"],"names":[],"mappings":";;;AACA,+CAA6D;AAG7D,MAAa,iCAAkC,SAAQ,0CAA4B;IAG5D,gBAAgB;QAC/B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAErJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAAyB;QAC3E,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,IAAI,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,8EAgBC"}
|
|
@@ -37,7 +37,8 @@ class ApplicationStoppedMetric extends base_1.MetricBase {
|
|
|
37
37
|
this.logger.debug(`metric ${this.settings.name} sent 1 more for app ${data.application}`);
|
|
38
38
|
}
|
|
39
39
|
catch (error) {
|
|
40
|
-
this.
|
|
40
|
+
const message = `error while executing handleInstanceStopped for metric from type: ${this.settings.type}`;
|
|
41
|
+
this.logger.error(message, error);
|
|
41
42
|
}
|
|
42
43
|
}
|
|
43
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../src/metrics/application/stopped.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,0EAAiG;AAEjG,MAAa,wBAAyB,SAAQ,iBAAU;IAKpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA6C;QAEpD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAuB;QAGpD,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,CAA0B;QACpD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEzH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7F;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../src/metrics/application/stopped.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,0EAAiG;AAEjG,MAAa,wBAAyB,SAAQ,iBAAU;IAKpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA6C;QAEpD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAuB;QAGpD,IAAI,CAAC,SAAS,GAAG,IAAI,2CAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAEkB,YAAY;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,CAA0B;QACpD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEzH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC7F;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,qEAAqE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAxDD,4DAwDC"}
|
|
@@ -25,13 +25,14 @@ class MetricBase {
|
|
|
25
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
26
|
try {
|
|
27
27
|
yield this.createMetric();
|
|
28
|
-
this.logger.
|
|
28
|
+
this.logger.debug(`metric ${this.settings.name} has been created`);
|
|
29
29
|
yield this.subscribe();
|
|
30
|
-
this.logger.
|
|
30
|
+
this.logger.debug(`metric ${this.settings.name} has subscribed`);
|
|
31
31
|
this.started = true;
|
|
32
32
|
}
|
|
33
33
|
catch (error) {
|
|
34
|
-
this.
|
|
34
|
+
const message = `error while starting and subscribing for metric from type: ${this.settings.type}`;
|
|
35
|
+
this.logger.error(message, error);
|
|
35
36
|
}
|
|
36
37
|
return Promise.resolve();
|
|
37
38
|
});
|
|
@@ -40,13 +41,14 @@ class MetricBase {
|
|
|
40
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
42
|
try {
|
|
42
43
|
yield this.unsubscribe();
|
|
43
|
-
this.logger.
|
|
44
|
+
this.logger.debug(`metric ${this.settings.name} has unsubscribed`);
|
|
44
45
|
yield this.destroyMetric();
|
|
45
|
-
this.logger.
|
|
46
|
+
this.logger.debug(`metric ${this.settings.name} has been destroyed`);
|
|
46
47
|
this.started = false;
|
|
47
48
|
}
|
|
48
49
|
catch (error) {
|
|
49
|
-
this.
|
|
50
|
+
const message = `error while stopping and unsubscribing for metric from type: ${this.settings.type}`;
|
|
51
|
+
this.logger.error(message, error);
|
|
50
52
|
}
|
|
51
53
|
return Promise.resolve();
|
|
52
54
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/metrics/base/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAkD;AAClD,6DAAyE;AAEzE,MAAsB,UAAU;IAG5B,YACW,QAAiC,EACjC,MAAc,EACd,MAAuB;QAFvB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAiB;QAL3B,YAAO,GAAY,KAAK,CAAC;QAO5B,MAAM,SAAS,GAAG,IAAI,0BAAmB,EAAE,CAAC;QAC5C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEY,KAAK;;YACd,IAAI;gBACA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/metrics/base/base.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,qDAAkD;AAClD,6DAAyE;AAEzE,MAAsB,UAAU;IAG5B,YACW,QAAiC,EACjC,MAAc,EACd,MAAuB;QAFvB,aAAQ,GAAR,QAAQ,CAAyB;QACjC,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAiB;QAL3B,YAAO,GAAY,KAAK,CAAC;QAO5B,MAAM,SAAS,GAAG,IAAI,0BAAmB,EAAE,CAAC;QAC5C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEY,KAAK;;YACd,IAAI;gBACA,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,CAAC;gBAEjE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;aACvB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,8DAA8D,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAEY,IAAI;;YACb,IAAI;gBACA,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;gBAEnE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,CAAC;gBAErE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,gEAAgE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;KAAA;IAQS,OAAO,CAAC,WAAoB;QAClC,MAAM,IAAI,GAAwB;YAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QAEF,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE;YAC3C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;SAClC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA7DD,gCA6DC"}
|
|
@@ -21,11 +21,13 @@ class GaugeMetricBase extends base_1.MetricBase {
|
|
|
21
21
|
validator.validate(this);
|
|
22
22
|
}
|
|
23
23
|
createMetric() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const name = this.settings.name;
|
|
26
|
+
const description = this.settings.description;
|
|
27
|
+
const unit = this.settings.unit;
|
|
28
|
+
this.metric = this.meter.createObservableGauge(name, { description, unit });
|
|
29
|
+
yield Promise.resolve();
|
|
30
|
+
});
|
|
29
31
|
}
|
|
30
32
|
subscribe() {
|
|
31
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -49,7 +51,8 @@ class GaugeMetricBase extends base_1.MetricBase {
|
|
|
49
51
|
this.logger.debug(`gauge metric ${this.settings.name} has been observed`);
|
|
50
52
|
}
|
|
51
53
|
catch (error) {
|
|
52
|
-
this.
|
|
54
|
+
const message = `error while executing observe for metric from type: ${this.settings.type}`;
|
|
55
|
+
this.logger.error(message, error);
|
|
53
56
|
}
|
|
54
57
|
});
|
|
55
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../src/metrics/base/gauge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,iCAAoC;AACpC,+DAA+E;AAE/E,MAAsB,eAAgB,SAAQ,iBAAU;IAIpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;
|
|
1
|
+
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../src/metrics/base/gauge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,iCAAoC;AACpC,+DAA+E;AAE/E,MAAsB,eAAgB,SAAQ,iBAAU;IAIpD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEwB,YAAY;;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAEhC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5E,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC;KAAA;IAEwB,SAAS;;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEkB,aAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEe,OAAO,CAAC,MAA6C;;YACjE,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;QACL,CAAC;KAAA;CAKJ;AA3DD,0CA2DC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Meter, Observable, ObservableCallback } from "@opentelemetry/api";
|
|
2
|
+
import { MetricBase } from "./base";
|
|
3
|
+
import { TelemetryMetricData, TelemetryMetricSettings } from "../types";
|
|
4
|
+
import { TelemetryLogger } from "../../types";
|
|
5
|
+
export declare abstract class ObservableMetricBase extends MetricBase {
|
|
6
|
+
meter: Meter;
|
|
7
|
+
protected metric: Observable<TelemetryMetricData>;
|
|
8
|
+
protected observableCallback: ObservableCallback<TelemetryMetricData>;
|
|
9
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger);
|
|
10
|
+
protected createMetric(): Promise<void>;
|
|
11
|
+
protected subscribe(): Promise<void>;
|
|
12
|
+
protected destroyMetric(): Promise<void>;
|
|
13
|
+
protected unsubscribe(): Promise<void>;
|
|
14
|
+
protected observe(): Promise<void>;
|
|
15
|
+
protected abstract createMetricCore(): Promise<void>;
|
|
16
|
+
protected abstract subscribeCore(): Promise<void>;
|
|
17
|
+
protected abstract observeCore(): Promise<void>;
|
|
18
|
+
protected abstract unsubscribeCore(): Promise<void>;
|
|
19
|
+
private createUniqueName;
|
|
20
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ObservableMetricBase = void 0;
|
|
13
|
+
const base_1 = require("./base");
|
|
14
|
+
const gauge_1 = require("../../validation/metrics/base/gauge");
|
|
15
|
+
class ObservableMetricBase extends base_1.MetricBase {
|
|
16
|
+
constructor(settings, meter, userId, logger) {
|
|
17
|
+
super(settings, userId, logger);
|
|
18
|
+
this.meter = meter;
|
|
19
|
+
this.meter = meter;
|
|
20
|
+
const validator = new gauge_1.GaugeMetricBaseValidator();
|
|
21
|
+
validator.validate(this);
|
|
22
|
+
}
|
|
23
|
+
createMetric() {
|
|
24
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const gaugeName = this.createUniqueName(64);
|
|
26
|
+
this.metric = this.meter.createObservableGauge(gaugeName);
|
|
27
|
+
this.logger.debug(`observable base metric ${gaugeName} has been created`);
|
|
28
|
+
yield this.createMetricCore();
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
subscribe() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
this.observableCallback = this.observe.bind(this);
|
|
34
|
+
this.metric.addCallback(this.observableCallback);
|
|
35
|
+
yield this.subscribeCore();
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
destroyMetric() {
|
|
39
|
+
this.metric.removeCallback(this.observableCallback);
|
|
40
|
+
return Promise.resolve();
|
|
41
|
+
}
|
|
42
|
+
unsubscribe() {
|
|
43
|
+
return this.unsubscribeCore();
|
|
44
|
+
}
|
|
45
|
+
observe() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
try {
|
|
48
|
+
this.logger.debug(`observe is being invoked for gauge metric ${this.settings.name}`);
|
|
49
|
+
yield this.observeCore();
|
|
50
|
+
this.logger.debug(`gauge metric ${this.settings.name} has been observed`);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
const message = `error while executing observe for metric from type: ${this.settings.type}`;
|
|
54
|
+
this.logger.error(message, error);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
createUniqueName(length) {
|
|
59
|
+
const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
|
60
|
+
let result = "";
|
|
61
|
+
const randomArray = new Uint8Array(length);
|
|
62
|
+
crypto.getRandomValues(randomArray);
|
|
63
|
+
randomArray.forEach((number) => {
|
|
64
|
+
result += chars[number % chars.length];
|
|
65
|
+
});
|
|
66
|
+
return result;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.ObservableMetricBase = ObservableMetricBase;
|
|
70
|
+
//# sourceMappingURL=observable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observable.js","sourceRoot":"","sources":["../../../src/metrics/base/observable.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,iCAAoC;AAGpC,+DAA+E;AAE/E,MAAsB,oBAAqB,SAAQ,iBAAU;IAIzD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB;QAEvB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAJzB,UAAK,GAAL,KAAK,CAAO;QAKnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,SAAS,GAAG,IAAI,gCAAwB,EAAE,CAAC;QACjD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEe,YAAY;;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,mBAAmB,CAAC,CAAC;YAE1E,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAClC,CAAC;KAAA;IAEwB,SAAS;;YAC9B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAEjD,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC/B,CAAC;KAAA;IAEkB,aAAa;QAC5B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;IAEe,OAAO;;YACnB,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBAErF,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,QAAQ,CAAC,IAAI,oBAAoB,CAAC,CAAC;aAC7E;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,OAAO,GAAG,uDAAuD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;aACrC;QACL,CAAC;KAAA;IAOO,gBAAgB,CAAC,MAAc;QACnC,MAAM,KAAK,GAAG,sDAAsD,CAAC;QACrE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAtED,oDAsEC"}
|
package/dist/metrics/builder.js
CHANGED
|
@@ -32,7 +32,7 @@ class MetricsBuilder {
|
|
|
32
32
|
.withSettings(this.settings)
|
|
33
33
|
.build();
|
|
34
34
|
const settings = JSON.stringify(metricsSettings);
|
|
35
|
-
this.logger.
|
|
35
|
+
this.logger.debug(`metrics final settings: ${settings}`);
|
|
36
36
|
const factory = new factoryBuilder_1.MetricsFactoryBuilder(this.meter, this.dependencyContainer, metricsSettings.userId, this.logger)
|
|
37
37
|
.withDefaults()
|
|
38
38
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/metrics/builder.ts"],"names":[],"mappings":";;;AAEA,qDAAyD;AACzD,uCAA2C;AAC3C,uDAA2D;AAC3D,2DAAwE;AAQxE,MAAa,cAAc;IAMhB,UAAU,CAAC,MAAuB;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,KAAY;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAAkC;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gBAAgB,CAAC,SAA8C;QAClE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS;QACb,MAAM,eAAe,GAAG,IAAI,wCAAsB,EAAE;aAC/C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC3B,KAAK,EAAE,CAAC;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/metrics/builder.ts"],"names":[],"mappings":";;;AAEA,qDAAyD;AACzD,uCAA2C;AAC3C,uDAA2D;AAC3D,2DAAwE;AAQxE,MAAa,cAAc;IAMhB,UAAU,CAAC,MAAuB;QACrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,KAAY;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAAkC;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gBAAgB,CAAC,SAA8C;QAClE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS;QACb,MAAM,eAAe,GAAG,IAAI,wCAAsB,EAAE;aAC/C,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC3B,KAAK,EAAE,CAAC;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,IAAI,sCAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;aAC/G,YAAY,EAAE;aACd,KAAK,EAAE,CAAC;QAEb,MAAM,OAAO,GAAG,IAAI,wBAAc,CAAC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AAhDD,wCAgDC"}
|
package/dist/metrics/factory.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MetricsFactory = void 0;
|
|
4
4
|
const factory_1 = require("../validation/metrics/factory");
|
|
5
|
-
const null_1 = require("./
|
|
5
|
+
const null_1 = require("./null");
|
|
6
6
|
class MetricsFactory {
|
|
7
7
|
constructor(logger, metricsFactories) {
|
|
8
8
|
this.logger = logger;
|
|
@@ -24,7 +24,7 @@ class MetricsFactory {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
createNullMetric(settings, reason) {
|
|
27
|
-
this.logger.
|
|
27
|
+
this.logger.debug(`cannot create ${settings.name} metric, reason: ${reason}`);
|
|
28
28
|
const nullMetric = new null_1.NullMetric(settings, this.logger);
|
|
29
29
|
return nullMetric;
|
|
30
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/metrics/factory.ts"],"names":[],"mappings":";;;AACA,2DAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/metrics/factory.ts"],"names":[],"mappings":";;;AACA,2DAAwE;AACxE,iCAAoC;AAGpC,MAAa,cAAc;IACvB,YACW,MAAuB,EACvB,gBAAqE;QADrE,WAAM,GAAN,MAAM,CAAiB;QACvB,qBAAgB,GAAhB,gBAAgB,CAAqD;QAE5E,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,cAAuC;QACjD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,gBAAgB,EAAE;YAClB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC7D,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,CAAC;YAC7C,OAAO,MAAM,CAAC;SACjB;aAAM;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC1E,OAAO,UAAU,CAAC;SACrB;IACL,CAAC;IAEO,gBAAgB,CAAC,QAAiC,EAAE,MAAc;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,QAAQ,CAAC,IAAI,oBAAoB,MAAM,EAAE,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,IAAI,iBAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AA5BD,wCA4BC"}
|
|
@@ -3,21 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MetricsFactoryBuilder = void 0;
|
|
4
4
|
const started_1 = require("./application/started");
|
|
5
5
|
const stopped_1 = require("./application/stopped");
|
|
6
|
-
const startup_1 = require("./application/startup");
|
|
7
6
|
const startupHistogram_1 = require("./application/startupHistogram");
|
|
8
7
|
const count_1 = require("./application/count");
|
|
9
|
-
const duration_1 = require("./application/duration");
|
|
10
|
-
const durationSum_1 = require("./application/durationSum");
|
|
11
8
|
const durationHistogram_1 = require("./application/durationHistogram");
|
|
12
9
|
const memory_1 = require("./application/memory");
|
|
13
10
|
const cpu_1 = require("./application/cpu");
|
|
14
11
|
const memory_2 = require("./system/memory");
|
|
15
12
|
const cpu_2 = require("./system/cpu");
|
|
16
|
-
const startup_2 = require("./layout/startup");
|
|
17
13
|
const startupHistogram_2 = require("./layout/startupHistogram");
|
|
18
|
-
const
|
|
14
|
+
const startup_1 = require("./platform/startup");
|
|
19
15
|
const factory_1 = require("./factory");
|
|
20
16
|
const factoryBuilder_1 = require("../validation/metrics/factoryBuilder");
|
|
17
|
+
const startup_2 = require("./application/startup");
|
|
18
|
+
const duration_1 = require("./application/duration");
|
|
19
|
+
const startup_3 = require("./layout/startup");
|
|
21
20
|
class MetricsFactoryBuilder {
|
|
22
21
|
constructor(meter, dependencyContainer, userId, logger) {
|
|
23
22
|
this.meter = meter;
|
|
@@ -40,7 +39,6 @@ class MetricsFactoryBuilder {
|
|
|
40
39
|
.withAppStartupHistogram()
|
|
41
40
|
.withAppCount()
|
|
42
41
|
.withAppDuration()
|
|
43
|
-
.withAppDurationSum()
|
|
44
42
|
.withAppDurationHistogram()
|
|
45
43
|
.withAppMemory()
|
|
46
44
|
.withAppCPU()
|
|
@@ -72,7 +70,7 @@ class MetricsFactoryBuilder {
|
|
|
72
70
|
}
|
|
73
71
|
withAppStartup() {
|
|
74
72
|
const func = (settings) => {
|
|
75
|
-
const metric = new
|
|
73
|
+
const metric = new startup_2.ApplicationStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceReadyHandler);
|
|
76
74
|
return metric;
|
|
77
75
|
};
|
|
78
76
|
this.metricsFactories.set("app_startup", func.bind(this));
|
|
@@ -102,14 +100,6 @@ class MetricsFactoryBuilder {
|
|
|
102
100
|
this.metricsFactories.set("app_duration", func.bind(this));
|
|
103
101
|
return this;
|
|
104
102
|
}
|
|
105
|
-
withAppDurationSum() {
|
|
106
|
-
const func = (settings) => {
|
|
107
|
-
const metric = new durationSum_1.ApplicationDurationSumMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
|
|
108
|
-
return metric;
|
|
109
|
-
};
|
|
110
|
-
this.metricsFactories.set("app_duration_sum", func.bind(this));
|
|
111
|
-
return this;
|
|
112
|
-
}
|
|
113
103
|
withAppDurationHistogram() {
|
|
114
104
|
const func = (settings) => {
|
|
115
105
|
const metric = new durationHistogram_1.ApplicationDurationHistogramMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
|
|
@@ -152,7 +142,7 @@ class MetricsFactoryBuilder {
|
|
|
152
142
|
}
|
|
153
143
|
withLayoutStartup() {
|
|
154
144
|
const func = (settings) => {
|
|
155
|
-
const metric = new
|
|
145
|
+
const metric = new startup_3.LayoutStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.layoutRestoredHandler);
|
|
156
146
|
return metric;
|
|
157
147
|
};
|
|
158
148
|
this.metricsFactories.set("layout_startup", func.bind(this));
|
|
@@ -168,7 +158,7 @@ class MetricsFactoryBuilder {
|
|
|
168
158
|
}
|
|
169
159
|
withPlatformStartup() {
|
|
170
160
|
const func = (settings) => {
|
|
171
|
-
const metric = new
|
|
161
|
+
const metric = new startup_1.PlatformStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.platformStartedHandler);
|
|
172
162
|
return metric;
|
|
173
163
|
};
|
|
174
164
|
this.metricsFactories.set("platform_startup", func.bind(this));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factoryBuilder.js","sourceRoot":"","sources":["../../src/metrics/factoryBuilder.ts"],"names":[],"mappings":";;;AAEA,mDAAiE;AACjE,mDAAiE;AACjE,
|
|
1
|
+
{"version":3,"file":"factoryBuilder.js","sourceRoot":"","sources":["../../src/metrics/factoryBuilder.ts"],"names":[],"mappings":"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"}
|