@interopio/otel 0.0.11 → 0.0.12
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 +15 -0
- package/dist/builder.js +44 -0
- package/dist/builder.js.map +1 -0
- package/dist/container.d.ts +14 -0
- package/dist/container.js +50 -0
- package/dist/container.js.map +1 -0
- package/dist/containerBuilder.d.ts +14 -0
- package/dist/containerBuilder.js +34 -0
- package/dist/containerBuilder.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/null.d.ts +9 -0
- package/dist/logger/null.js +25 -0
- package/dist/logger/null.js.map +1 -0
- package/dist/logger/types.d.ts +17 -0
- package/dist/logger/types.js +3 -0
- package/dist/logger/types.js.map +1 -0
- package/dist/logs/types.d.ts +6 -0
- package/dist/logs/types.js +3 -0
- package/dist/logs/types.js.map +1 -0
- package/dist/metrics/application/count.d.ts +21 -0
- package/dist/metrics/application/count.js +62 -0
- package/dist/metrics/application/count.js.map +1 -0
- package/dist/metrics/application/cpu.d.ts +12 -0
- package/dist/metrics/application/cpu.js +40 -0
- package/dist/metrics/application/cpu.js.map +1 -0
- package/dist/metrics/application/crash.d.ts +18 -0
- package/dist/metrics/application/crash.js +46 -0
- package/dist/metrics/application/crash.js.map +1 -0
- package/dist/metrics/application/duration.d.ts +7 -0
- package/dist/metrics/application/duration.js +19 -0
- package/dist/metrics/application/duration.js.map +1 -0
- package/dist/metrics/application/durationBase.d.ts +22 -0
- package/dist/metrics/application/durationBase.js +97 -0
- package/dist/metrics/application/durationBase.js.map +1 -0
- package/dist/metrics/application/error.d.ts +18 -0
- package/dist/metrics/application/error.js +46 -0
- package/dist/metrics/application/error.js.map +1 -0
- package/dist/metrics/application/memory.d.ts +12 -0
- package/dist/metrics/application/memory.js +41 -0
- package/dist/metrics/application/memory.js.map +1 -0
- package/dist/metrics/application/started.d.ts +18 -0
- package/dist/metrics/application/started.js +46 -0
- package/dist/metrics/application/started.js.map +1 -0
- package/dist/metrics/application/startup.d.ts +18 -0
- package/dist/metrics/application/startup.js +46 -0
- package/dist/metrics/application/startup.js.map +1 -0
- package/dist/metrics/application/stopped.d.ts +18 -0
- package/dist/metrics/application/stopped.js +46 -0
- package/dist/metrics/application/stopped.js.map +1 -0
- package/dist/metrics/base/base.d.ts +17 -0
- package/dist/metrics/base/base.js +71 -0
- package/dist/metrics/base/base.js.map +1 -0
- package/dist/metrics/base/gauge.d.ts +18 -0
- package/dist/metrics/base/gauge.js +61 -0
- package/dist/metrics/base/gauge.js.map +1 -0
- package/dist/metrics/base/null.d.ts +10 -0
- package/dist/metrics/base/null.js +22 -0
- package/dist/metrics/base/null.js.map +1 -0
- package/dist/metrics/base/observable.d.ts +20 -0
- package/dist/metrics/base/observable.js +69 -0
- package/dist/metrics/base/observable.js.map +1 -0
- package/dist/metrics/base/types.d.ts +31 -0
- package/dist/metrics/base/types.js +3 -0
- package/dist/metrics/base/types.js.map +1 -0
- package/dist/metrics/builder.d.ts +20 -0
- package/dist/metrics/builder.js +63 -0
- package/dist/metrics/builder.js.map +1 -0
- package/dist/metrics/dependencies/builder.d.ts +29 -0
- package/dist/metrics/dependencies/builder.js +87 -0
- package/dist/metrics/dependencies/builder.js.map +1 -0
- package/dist/metrics/dependencies/types.d.ts +91 -0
- package/dist/metrics/dependencies/types.js +3 -0
- package/dist/metrics/dependencies/types.js.map +1 -0
- package/dist/metrics/factory/builder.d.ts +31 -0
- package/dist/metrics/factory/builder.js +198 -0
- package/dist/metrics/factory/builder.js.map +1 -0
- package/dist/metrics/factory/factory.d.ts +10 -0
- package/dist/metrics/factory/factory.js +33 -0
- package/dist/metrics/factory/factory.js.map +1 -0
- package/dist/metrics/factory/types.d.ts +5 -0
- package/dist/metrics/factory/types.js +3 -0
- package/dist/metrics/factory/types.js.map +1 -0
- package/dist/metrics/layout/startup.d.ts +18 -0
- package/dist/metrics/layout/startup.js +46 -0
- package/dist/metrics/layout/startup.js.map +1 -0
- package/dist/metrics/manager.d.ts +23 -0
- package/dist/metrics/manager.js +120 -0
- package/dist/metrics/manager.js.map +1 -0
- package/dist/metrics/meter/lazyProvider.d.ts +11 -0
- package/dist/metrics/meter/lazyProvider.js +23 -0
- package/dist/metrics/meter/lazyProvider.js.map +1 -0
- package/dist/metrics/meter/providerFactory.d.ts +6 -0
- package/dist/metrics/meter/providerFactory.js +34 -0
- package/dist/metrics/meter/providerFactory.js.map +1 -0
- package/dist/metrics/meter/types.d.ts +14 -0
- package/dist/metrics/meter/types.js +3 -0
- package/dist/metrics/meter/types.js.map +1 -0
- package/dist/metrics/platform/error.d.ts +18 -0
- package/dist/metrics/platform/error.js +46 -0
- package/dist/metrics/platform/error.js.map +1 -0
- package/dist/metrics/platform/startup.d.ts +18 -0
- package/dist/metrics/platform/startup.js +58 -0
- package/dist/metrics/platform/startup.js.map +1 -0
- package/dist/metrics/settings/builder.d.ts +24 -0
- package/dist/metrics/settings/builder.js +115 -0
- package/dist/metrics/settings/builder.js.map +1 -0
- package/dist/metrics/settings/default.d.ts +30 -0
- package/dist/metrics/settings/default.js +121 -0
- package/dist/metrics/settings/default.js.map +1 -0
- package/dist/metrics/settings/types.d.ts +14 -0
- package/dist/metrics/settings/types.js +3 -0
- package/dist/metrics/settings/types.js.map +1 -0
- package/dist/metrics/system/cpu.d.ts +13 -0
- package/dist/metrics/system/cpu.js +46 -0
- package/dist/metrics/system/cpu.js.map +1 -0
- package/dist/metrics/system/memory.d.ts +13 -0
- package/dist/metrics/system/memory.js +47 -0
- package/dist/metrics/system/memory.js.map +1 -0
- package/dist/metrics/types.d.ts +16 -0
- package/dist/metrics/types.js +3 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/metrics/utils/nullMetricsManager.d.ts +6 -0
- package/dist/metrics/utils/nullMetricsManager.js +11 -0
- package/dist/metrics/utils/nullMetricsManager.js.map +1 -0
- package/dist/metrics/utils/nullPerfProvider.d.ts +7 -0
- package/dist/metrics/utils/nullPerfProvider.js +19 -0
- package/dist/metrics/utils/nullPerfProvider.js.map +1 -0
- package/dist/metrics/workspace/count.d.ts +21 -0
- package/dist/metrics/workspace/count.js +62 -0
- package/dist/metrics/workspace/count.js.map +1 -0
- package/dist/metrics/workspace/startup.d.ts +9 -0
- package/dist/metrics/workspace/startup.js +12 -0
- package/dist/metrics/workspace/startup.js.map +1 -0
- package/dist/metrics/workspace/stopped.d.ts +18 -0
- package/dist/metrics/workspace/stopped.js +46 -0
- package/dist/metrics/workspace/stopped.js.map +1 -0
- package/dist/traces/types.d.ts +6 -0
- package/dist/traces/types.js +3 -0
- package/dist/traces/types.js.map +1 -0
- package/dist/types.d.ts +20 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/nullManager.d.ts +7 -0
- package/dist/utils/nullManager.js +21 -0
- package/dist/utils/nullManager.js.map +1 -0
- package/dist/validation/builder.d.ts +4 -0
- package/dist/validation/builder.js +13 -0
- package/dist/validation/builder.js.map +1 -0
- package/dist/validation/container.d.ts +4 -0
- package/dist/validation/container.js +14 -0
- package/dist/validation/container.js.map +1 -0
- package/dist/validation/containerBuilder.d.ts +4 -0
- package/dist/validation/containerBuilder.js +14 -0
- package/dist/validation/containerBuilder.js.map +1 -0
- package/dist/validation/metrics/application/count.d.ts +7 -0
- package/dist/validation/metrics/application/count.js +21 -0
- package/dist/validation/metrics/application/count.js.map +1 -0
- package/dist/validation/metrics/application/duration.d.ts +6 -0
- package/dist/validation/metrics/application/duration.js +17 -0
- package/dist/validation/metrics/application/duration.js.map +1 -0
- package/dist/validation/metrics/application/error.d.ts +6 -0
- package/dist/validation/metrics/application/error.js +16 -0
- package/dist/validation/metrics/application/error.js.map +1 -0
- package/dist/validation/metrics/application/started.d.ts +6 -0
- package/dist/validation/metrics/application/started.js +16 -0
- package/dist/validation/metrics/application/started.js.map +1 -0
- package/dist/validation/metrics/application/startupHistogram.d.ts +6 -0
- package/dist/validation/metrics/application/startupHistogram.js +18 -0
- package/dist/validation/metrics/application/startupHistogram.js.map +1 -0
- package/dist/validation/metrics/application/stopped.d.ts +6 -0
- package/dist/validation/metrics/application/stopped.js +16 -0
- package/dist/validation/metrics/application/stopped.js.map +1 -0
- package/dist/validation/metrics/base/base.d.ts +5 -0
- package/dist/validation/metrics/base/base.js +22 -0
- package/dist/validation/metrics/base/base.js.map +1 -0
- package/dist/validation/metrics/base/gauge.d.ts +6 -0
- package/dist/validation/metrics/base/gauge.js +12 -0
- package/dist/validation/metrics/base/gauge.js.map +1 -0
- package/dist/validation/metrics/builder.d.ts +4 -0
- package/dist/validation/metrics/builder.js +13 -0
- package/dist/validation/metrics/builder.js.map +1 -0
- package/dist/validation/metrics/factory.d.ts +4 -0
- package/dist/validation/metrics/factory.js +13 -0
- package/dist/validation/metrics/factory.js.map +1 -0
- package/dist/validation/metrics/factoryBuilder.d.ts +5 -0
- package/dist/validation/metrics/factoryBuilder.js +23 -0
- package/dist/validation/metrics/factoryBuilder.js.map +1 -0
- package/dist/validation/metrics/layout/startupHistogram.d.ts +6 -0
- package/dist/validation/metrics/layout/startupHistogram.js +18 -0
- package/dist/validation/metrics/layout/startupHistogram.js.map +1 -0
- package/dist/validation/metrics/manager.d.ts +4 -0
- package/dist/validation/metrics/manager.js +15 -0
- package/dist/validation/metrics/manager.js.map +1 -0
- package/dist/validation/metrics/meterFactory.d.ts +4 -0
- package/dist/validation/metrics/meterFactory.js +16 -0
- package/dist/validation/metrics/meterFactory.js.map +1 -0
- package/dist/validation/metrics/perf.d.ts +8 -0
- package/dist/validation/metrics/perf.js +41 -0
- package/dist/validation/metrics/perf.js.map +1 -0
- package/dist/validation/metrics/platform/crash.d.ts +6 -0
- package/dist/validation/metrics/platform/crash.js +16 -0
- package/dist/validation/metrics/platform/crash.js.map +1 -0
- package/dist/validation/metrics/platform/error.d.ts +6 -0
- package/dist/validation/metrics/platform/error.js +15 -0
- package/dist/validation/metrics/platform/error.js.map +1 -0
- package/dist/validation/metrics/platform/startup.d.ts +6 -0
- package/dist/validation/metrics/platform/startup.js +18 -0
- package/dist/validation/metrics/platform/startup.js.map +1 -0
- package/dist/validation/metrics/settingsBuilder.d.ts +4 -0
- package/dist/validation/metrics/settingsBuilder.js +22 -0
- package/dist/validation/metrics/settingsBuilder.js.map +1 -0
- package/dist/validation/metrics/workspace/count.d.ts +7 -0
- package/dist/validation/metrics/workspace/count.js +21 -0
- package/dist/validation/metrics/workspace/count.js.map +1 -0
- package/dist/validation/metrics/workspace/stopped.d.ts +6 -0
- package/dist/validation/metrics/workspace/stopped.js +16 -0
- package/dist/validation/metrics/workspace/stopped.js.map +1 -0
- package/dist/validation/validator.d.ts +4 -0
- package/dist/validation/validator.js +15 -0
- package/dist/validation/validator.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MetricsManagerBuilder } from "./metrics/builder";
|
|
2
|
+
import { MetricsManagerBuilder as IMetricsBuilder } from "./metrics/types";
|
|
3
|
+
import { Container, Settings } from "./types";
|
|
4
|
+
import { Logger } from "./logger/types";
|
|
5
|
+
export declare class Builder {
|
|
6
|
+
logger: Logger;
|
|
7
|
+
settings: Partial<Settings>;
|
|
8
|
+
metricsBuilder: MetricsManagerBuilder;
|
|
9
|
+
constructor();
|
|
10
|
+
withLogger(logger: Logger): this;
|
|
11
|
+
withSettings(settings: Partial<Settings>): this;
|
|
12
|
+
withMetrics(): IMetricsBuilder;
|
|
13
|
+
build(): Container;
|
|
14
|
+
private buildCore;
|
|
15
|
+
}
|
package/dist/builder.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Builder = void 0;
|
|
4
|
+
const api_1 = require("@opentelemetry/api");
|
|
5
|
+
const containerBuilder_1 = require("./containerBuilder");
|
|
6
|
+
const builder_1 = require("./metrics/builder");
|
|
7
|
+
const null_1 = require("./logger/null");
|
|
8
|
+
const builder_2 = require("./validation/builder");
|
|
9
|
+
class Builder {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.logger = new null_1.NullLogger();
|
|
12
|
+
}
|
|
13
|
+
withLogger(logger) {
|
|
14
|
+
this.logger = logger !== null && logger !== void 0 ? logger : this.logger;
|
|
15
|
+
const level = this.logger.level.valueOf();
|
|
16
|
+
api_1.diag.setLogger(this.logger, level);
|
|
17
|
+
return this;
|
|
18
|
+
}
|
|
19
|
+
withSettings(settings) {
|
|
20
|
+
this.settings = settings;
|
|
21
|
+
return this;
|
|
22
|
+
}
|
|
23
|
+
withMetrics() {
|
|
24
|
+
var _a;
|
|
25
|
+
this.metricsBuilder = new builder_1.MetricsManagerBuilder();
|
|
26
|
+
this.metricsBuilder.withLogger(this.logger);
|
|
27
|
+
this.metricsBuilder.withSettings((_a = this.settings) === null || _a === void 0 ? void 0 : _a.metrics);
|
|
28
|
+
return this.metricsBuilder;
|
|
29
|
+
}
|
|
30
|
+
build() {
|
|
31
|
+
const validator = new builder_2.BuilderValidator();
|
|
32
|
+
validator.validate(this);
|
|
33
|
+
return this.buildCore();
|
|
34
|
+
}
|
|
35
|
+
buildCore() {
|
|
36
|
+
const builder = new containerBuilder_1.ContainerBuilder();
|
|
37
|
+
const metrics = this.metricsBuilder.build();
|
|
38
|
+
builder.withMetrics(metrics);
|
|
39
|
+
const container = builder.build();
|
|
40
|
+
return container;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.Builder = Builder;
|
|
44
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../src/builder.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,yDAAsD;AACtD,+CAA0D;AAG1D,wCAA2C;AAC3C,kDAAwD;AAGxD,MAAa,OAAO;IAKhB;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,iBAAU,EAAE,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,MAAc;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC,MAAM,CAAC;QAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1C,UAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEnC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,YAAY,CAAC,QAA2B;QAC3C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,WAAW;;QACd,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAqB,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,0BAAgB,EAAE,CAAC;QACzC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEO,SAAS;QACb,MAAM,OAAO,GAAG,IAAI,mCAAgB,EAAE,CAAC;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5C,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AA9CD,0BA8CC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LogsManager } from "./logs/types";
|
|
2
|
+
import { MetricsManager } from "./metrics/types";
|
|
3
|
+
import { TracesManager } from "./traces/types";
|
|
4
|
+
import { Container as IContainer, Settings } from "./types";
|
|
5
|
+
export declare class Container implements IContainer {
|
|
6
|
+
traces: TracesManager;
|
|
7
|
+
metrics: MetricsManager;
|
|
8
|
+
logs: LogsManager;
|
|
9
|
+
started: boolean;
|
|
10
|
+
constructor(traces: TracesManager, metrics: MetricsManager, logs: LogsManager);
|
|
11
|
+
get settings(): Settings;
|
|
12
|
+
start(): Promise<void>;
|
|
13
|
+
stop(): Promise<void>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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.Container = void 0;
|
|
13
|
+
const container_1 = require("./validation/container");
|
|
14
|
+
class Container {
|
|
15
|
+
constructor(traces, metrics, logs) {
|
|
16
|
+
this.traces = traces;
|
|
17
|
+
this.metrics = metrics;
|
|
18
|
+
this.logs = logs;
|
|
19
|
+
this.started = false;
|
|
20
|
+
const validator = new container_1.ContainerValidator();
|
|
21
|
+
validator.validate(this);
|
|
22
|
+
}
|
|
23
|
+
get settings() {
|
|
24
|
+
return {
|
|
25
|
+
metrics: this.metrics.settings,
|
|
26
|
+
traces: this.traces.settings,
|
|
27
|
+
logs: this.logs.settings
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
start() {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const metricsPromise = this.metrics.settings.enabled ? this.metrics.start() : Promise.resolve();
|
|
33
|
+
const tracesPromise = this.traces.settings.enabled ? this.traces.start() : Promise.resolve();
|
|
34
|
+
const logsPromise = this.logs.settings.enabled ? this.logs.start() : Promise.resolve();
|
|
35
|
+
yield Promise.all([metricsPromise, tracesPromise, logsPromise]);
|
|
36
|
+
this.started = true;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
stop() {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
const metricsPromise = this.metrics.started ? this.metrics.stop() : Promise.resolve();
|
|
42
|
+
const tracesPromise = this.traces.started ? this.traces.stop() : Promise.resolve();
|
|
43
|
+
const logsPromise = this.logs.started ? this.logs.stop() : Promise.resolve();
|
|
44
|
+
yield Promise.all([metricsPromise, tracesPromise, logsPromise]);
|
|
45
|
+
this.started = false;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Container = Container;
|
|
50
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,sDAA4D;AAE5D,MAAa,SAAS;IAGlB,YACW,MAAqB,EACrB,OAAuB,EACvB,IAAiB;QAFjB,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAgB;QACvB,SAAI,GAAJ,IAAI,CAAa;QALrB,YAAO,GAAY,KAAK,CAAC;QAO5B,MAAM,SAAS,GAAG,IAAI,8BAAkB,EAAE,CAAC;QAC3C,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAW,QAAQ;QACf,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC5B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;SAC3B,CAAC;IACN,CAAC;IAEY,KAAK;;YACd,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChG,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAEvF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;KAAA;IAEY,IAAI;;YACb,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAE7E,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;KAAA;CACJ;AAvCD,8BAuCC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Container as IContainer } from "./types";
|
|
2
|
+
import { MetricsManager } from "./metrics/types";
|
|
3
|
+
import { TracesManager } from "./traces/types";
|
|
4
|
+
import { LogsManager } from "./logs/types";
|
|
5
|
+
export declare class ContainerBuilder {
|
|
6
|
+
traces: TracesManager;
|
|
7
|
+
metrics: MetricsManager;
|
|
8
|
+
logs: LogsManager;
|
|
9
|
+
constructor();
|
|
10
|
+
withMetrics(manager: MetricsManager): this;
|
|
11
|
+
withTraces(manager: TracesManager): this;
|
|
12
|
+
withLogs(manager: LogsManager): this;
|
|
13
|
+
build(): IContainer;
|
|
14
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContainerBuilder = void 0;
|
|
4
|
+
const container_1 = require("./container");
|
|
5
|
+
const nullMetricsManager_1 = require("./metrics/utils/nullMetricsManager");
|
|
6
|
+
const containerBuilder_1 = require("./validation/containerBuilder");
|
|
7
|
+
const nullManager_1 = require("./utils/nullManager");
|
|
8
|
+
class ContainerBuilder {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.traces = new nullManager_1.NullManager();
|
|
11
|
+
this.metrics = new nullMetricsManager_1.NullMetricsManager();
|
|
12
|
+
this.logs = new nullManager_1.NullManager();
|
|
13
|
+
}
|
|
14
|
+
withMetrics(manager) {
|
|
15
|
+
this.metrics = manager;
|
|
16
|
+
return this;
|
|
17
|
+
}
|
|
18
|
+
withTraces(manager) {
|
|
19
|
+
this.traces = manager;
|
|
20
|
+
return this;
|
|
21
|
+
}
|
|
22
|
+
withLogs(manager) {
|
|
23
|
+
this.logs = manager;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
build() {
|
|
27
|
+
const validator = new containerBuilder_1.ContainerBuilderValidator();
|
|
28
|
+
validator.validate(this);
|
|
29
|
+
const container = new container_1.Container(this.traces, this.metrics, this.logs);
|
|
30
|
+
return container;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.ContainerBuilder = ContainerBuilder;
|
|
34
|
+
//# sourceMappingURL=containerBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"containerBuilder.js","sourceRoot":"","sources":["../src/containerBuilder.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AACxC,2EAAwE;AAIxE,oEAA0E;AAC1E,qDAAkD;AAElD,MAAa,gBAAgB;IAKzB;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAW,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,uCAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,IAAI,yBAAW,EAAE,CAAC;IAClC,CAAC;IAEM,WAAW,CAAC,OAAuB;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAAsB;QACpC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,QAAQ,CAAC,OAAoB;QAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK;QACR,MAAM,SAAS,GAAG,IAAI,4CAAyB,EAAE,CAAC;QAClD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAjCD,4CAiCC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { Builder } from "./builder";
|
|
2
|
+
export { Container, Manager, Settings } from "./types";
|
|
3
|
+
export { Logger, LoggerLogLevel } from "./logger/types";
|
|
4
|
+
export { MetricsManagerBuilder, MetricsManager } from "./metrics/types";
|
|
5
|
+
export { MetricsSettings } from "./metrics/settings/types";
|
|
6
|
+
export { MetricsMeterProvider, MetricsMeterSettings } from "./metrics/meter/types";
|
|
7
|
+
export { MetricSettings, MetricType, Metric } from "./metrics/base/types";
|
|
8
|
+
export { MetricsDependencyBuilder } from "./metrics/dependencies/builder";
|
|
9
|
+
export * from "./metrics/dependencies/types";
|
|
10
|
+
export { TracesManager, TracesSettings } from "./traces/types";
|
|
11
|
+
export { LogsManager, LogsSettings } from "./logs/types";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.MetricsDependencyBuilder = exports.Builder = void 0;
|
|
18
|
+
var builder_1 = require("./builder");
|
|
19
|
+
Object.defineProperty(exports, "Builder", { enumerable: true, get: function () { return builder_1.Builder; } });
|
|
20
|
+
var builder_2 = require("./metrics/dependencies/builder");
|
|
21
|
+
Object.defineProperty(exports, "MetricsDependencyBuilder", { enumerable: true, get: function () { return builder_2.MetricsDependencyBuilder; } });
|
|
22
|
+
__exportStar(require("./metrics/dependencies/types"), exports);
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAShB,0DAA0E;AAAjE,mHAAA,wBAAwB,OAAA;AACjC,+DAA6C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NullLogger = void 0;
|
|
4
|
+
class NullLogger {
|
|
5
|
+
get level() {
|
|
6
|
+
return 60 /* LoggerLogLevel.INFO */;
|
|
7
|
+
}
|
|
8
|
+
error() {
|
|
9
|
+
// do nothing
|
|
10
|
+
}
|
|
11
|
+
warn() {
|
|
12
|
+
// do nothing
|
|
13
|
+
}
|
|
14
|
+
info() {
|
|
15
|
+
// do nothing
|
|
16
|
+
}
|
|
17
|
+
debug() {
|
|
18
|
+
// do nothing
|
|
19
|
+
}
|
|
20
|
+
verbose() {
|
|
21
|
+
// do nothing
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.NullLogger = NullLogger;
|
|
25
|
+
//# sourceMappingURL=null.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"null.js","sourceRoot":"","sources":["../../src/logger/null.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IAEnB,IAAW,KAAK;QACZ,oCAA2B;IAC/B,CAAC;IAEM,KAAK;QACR,aAAa;IACjB,CAAC;IAEM,IAAI;QACP,aAAa;IACjB,CAAC;IAEM,IAAI;QACP,aAAa;IACjB,CAAC;IAEM,KAAK;QACR,aAAa;IACjB,CAAC;IAEM,OAAO;QACV,aAAa;IACjB,CAAC;CACJ;AAzBD,gCAyBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface Logger {
|
|
2
|
+
level: LoggerLogLevel;
|
|
3
|
+
error(message: string, ...args: unknown[]): void;
|
|
4
|
+
warn(message: string, ...args: unknown[]): void;
|
|
5
|
+
info(message: string, ...args: unknown[]): void;
|
|
6
|
+
debug(message: string, ...args: unknown[]): void;
|
|
7
|
+
verbose(message: string, ...args: unknown[]): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const enum LoggerLogLevel {
|
|
10
|
+
NONE = 0,
|
|
11
|
+
ERROR = 30,
|
|
12
|
+
WARN = 50,
|
|
13
|
+
INFO = 60,
|
|
14
|
+
DEBUG = 70,
|
|
15
|
+
VERBOSE = 80,
|
|
16
|
+
ALL = 9999
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logger/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/logs/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { InternalMetricSettings } from "../base/types";
|
|
3
|
+
import { MetricBase } from "../base/base";
|
|
4
|
+
import { Logger } from "../../logger/types";
|
|
5
|
+
import { InstanceActionHandler } from "../dependencies/types";
|
|
6
|
+
export declare class ApplicationCountMetric extends MetricBase {
|
|
7
|
+
meter: Meter;
|
|
8
|
+
instanceStartedHandler: InstanceActionHandler;
|
|
9
|
+
instanceStoppedHandler: InstanceActionHandler;
|
|
10
|
+
private validator;
|
|
11
|
+
private appCountMetric;
|
|
12
|
+
private instanceStartedUn;
|
|
13
|
+
private instanceStoppedUn;
|
|
14
|
+
constructor(settings: InternalMetricSettings, meter: Meter, logger: Logger, instanceStartedHandler: InstanceActionHandler, instanceStoppedHandler: InstanceActionHandler);
|
|
15
|
+
protected createMetric(): Promise<void>;
|
|
16
|
+
protected subscribe(): Promise<void>;
|
|
17
|
+
protected unsubscribe(): Promise<void>;
|
|
18
|
+
protected destroyMetric(): Promise<void>;
|
|
19
|
+
private handleInstanceStarted;
|
|
20
|
+
private handleInstanceStopped;
|
|
21
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApplicationCountMetric = void 0;
|
|
4
|
+
const base_1 = require("../base/base");
|
|
5
|
+
const count_1 = require("../../validation/metrics/application/count");
|
|
6
|
+
class ApplicationCountMetric extends base_1.MetricBase {
|
|
7
|
+
constructor(settings, meter, logger, instanceStartedHandler, instanceStoppedHandler) {
|
|
8
|
+
super(settings, logger);
|
|
9
|
+
this.meter = meter;
|
|
10
|
+
this.instanceStartedHandler = instanceStartedHandler;
|
|
11
|
+
this.instanceStoppedHandler = instanceStoppedHandler;
|
|
12
|
+
this.validator = new count_1.ApplicationCountMetricValidator();
|
|
13
|
+
this.validator.validate(this);
|
|
14
|
+
}
|
|
15
|
+
createMetric() {
|
|
16
|
+
const name = this.settings.name;
|
|
17
|
+
const description = this.settings.description;
|
|
18
|
+
this.appCountMetric = this.meter.createUpDownCounter(name, { description });
|
|
19
|
+
return Promise.resolve();
|
|
20
|
+
}
|
|
21
|
+
subscribe() {
|
|
22
|
+
this.instanceStartedUn = this.instanceStartedHandler(this.handleInstanceStarted.bind(this));
|
|
23
|
+
this.instanceStoppedUn = this.instanceStoppedHandler(this.handleInstanceStopped.bind(this));
|
|
24
|
+
return Promise.resolve();
|
|
25
|
+
}
|
|
26
|
+
unsubscribe() {
|
|
27
|
+
this.instanceStartedUn();
|
|
28
|
+
this.instanceStoppedUn();
|
|
29
|
+
return Promise.resolve();
|
|
30
|
+
}
|
|
31
|
+
destroyMetric() {
|
|
32
|
+
return Promise.resolve();
|
|
33
|
+
}
|
|
34
|
+
handleInstanceStarted(args) {
|
|
35
|
+
try {
|
|
36
|
+
this.validator.validateInstanceStarted(args);
|
|
37
|
+
this.logger.debug(`instance started for application ${args.application} and metric ${this.settings.name} is being invoked`);
|
|
38
|
+
const data = this.getApplicationData(args.application);
|
|
39
|
+
this.appCountMetric.add(1, data);
|
|
40
|
+
this.logger.debug(`metric ${this.settings.name} sent 1 more for app ${data.application}`);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
const message = `error while executing handleInstanceStarted for metric from type: ${this.settings.type}`;
|
|
44
|
+
this.logger.warn(message, error);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
handleInstanceStopped(args) {
|
|
48
|
+
try {
|
|
49
|
+
this.validator.validateInstanceStopped(args);
|
|
50
|
+
this.logger.debug(`instance stopped for application ${args.application} and metric ${this.settings.name} is being invoked`);
|
|
51
|
+
const data = this.getApplicationData(args.application);
|
|
52
|
+
this.appCountMetric.add(-1, data);
|
|
53
|
+
this.logger.debug(`metric ${this.settings.name} sent 1 less for app ${data.application}`);
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
const message = `error while executing handleInstanceStopped for metric from type: ${this.settings.type}`;
|
|
57
|
+
this.logger.warn(message, error);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.ApplicationCountMetric = ApplicationCountMetric;
|
|
62
|
+
//# sourceMappingURL=count.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../src/metrics/application/count.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meter, ObservableResult } from "@opentelemetry/api";
|
|
2
|
+
import { ApplicationMetricData, InternalMetricSettings } from "../base/types";
|
|
3
|
+
import { GaugeMetricBase } from "../base/gauge";
|
|
4
|
+
import { Logger } from "../../logger/types";
|
|
5
|
+
import { PerformanceProvider } from "../dependencies/types";
|
|
6
|
+
export declare class ApplicationCPUMetric extends GaugeMetricBase<ApplicationMetricData> {
|
|
7
|
+
perfProvider: PerformanceProvider;
|
|
8
|
+
constructor(settings: InternalMetricSettings, meter: Meter, logger: Logger, perfProvider: PerformanceProvider);
|
|
9
|
+
protected subscribeCore(): Promise<void>;
|
|
10
|
+
protected observeCore(result: ObservableResult<ApplicationMetricData>): Promise<void>;
|
|
11
|
+
protected unsubscribeCore(): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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.ApplicationCPUMetric = void 0;
|
|
13
|
+
const gauge_1 = require("../base/gauge");
|
|
14
|
+
const perf_1 = require("../../validation/metrics/perf");
|
|
15
|
+
const validator_1 = require("../../validation/validator");
|
|
16
|
+
class ApplicationCPUMetric extends gauge_1.GaugeMetricBase {
|
|
17
|
+
constructor(settings, meter, logger, perfProvider) {
|
|
18
|
+
super(settings, meter, logger);
|
|
19
|
+
this.perfProvider = perfProvider;
|
|
20
|
+
}
|
|
21
|
+
subscribeCore() { return Promise.resolve(); }
|
|
22
|
+
observeCore(result) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const performanceValidator = new perf_1.PerformanceProviderValidator();
|
|
25
|
+
performanceValidator.validate(this.perfProvider);
|
|
26
|
+
const appsCPU = yield this.perfProvider.getAppsCPU();
|
|
27
|
+
if (!validator_1.Validator.isNullOrUndefined(appsCPU)) {
|
|
28
|
+
performanceValidator.validateAppsCPU(appsCPU);
|
|
29
|
+
appsCPU.forEach((info) => {
|
|
30
|
+
const data = Object.assign({ applicationInstance: info.instance }, this.getApplicationData(info.app));
|
|
31
|
+
result.observe(info.cpu, data);
|
|
32
|
+
this.logger.debug(`metric ${this.settings.name} sent cpu ${info.cpu} for app ${data.application} and instance ${data.applicationInstance}`);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
unsubscribeCore() { return Promise.resolve(); }
|
|
38
|
+
}
|
|
39
|
+
exports.ApplicationCPUMetric = ApplicationCPUMetric;
|
|
40
|
+
//# sourceMappingURL=cpu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cpu.js","sourceRoot":"","sources":["../../../src/metrics/application/cpu.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAgD;AAChD,wDAA6E;AAC7E,0DAAuD;AAIvD,MAAa,oBAAqB,SAAQ,uBAAsC;IAC5E,YACI,QAAgC,EAChC,KAAY,EACZ,MAAc,EACP,YAAiC;QAExC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAFxB,iBAAY,GAAZ,YAAY,CAAqB;IAG5C,CAAC;IAEkB,aAAa,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAEtD,WAAW,CAAC,MAA+C;;YAChF,MAAM,oBAAoB,GAAG,IAAI,mCAA4B,EAAE,CAAC;YAChE,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;YACrD,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE;gBACvC,oBAAoB,CAAC,eAAe,CAAC,OAAQ,CAAC,CAAC;gBAE/C,OAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACtB,MAAM,IAAI,mBAAK,mBAAmB,EAAE,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;oBAC1F,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,aAAa,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,WAAW,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;gBAChJ,CAAC,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAEkB,eAAe,KAAoB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;CACpF;AA7BD,oDA6BC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { MetricBase } from "../base/base";
|
|
3
|
+
import { InternalMetricSettings } from "../base/types";
|
|
4
|
+
import { Logger } from "../../logger/types";
|
|
5
|
+
import { InstanceCrashHandler } from "../dependencies/types";
|
|
6
|
+
export declare class ApplicationCrashMetric extends MetricBase {
|
|
7
|
+
meter: Meter;
|
|
8
|
+
instanceCrashHandler: InstanceCrashHandler;
|
|
9
|
+
private applicationCrashMetric;
|
|
10
|
+
private applicationCrashUn;
|
|
11
|
+
private validator;
|
|
12
|
+
constructor(settings: InternalMetricSettings, meter: Meter, logger: Logger, instanceCrashHandler: InstanceCrashHandler);
|
|
13
|
+
protected createMetric(): Promise<void>;
|
|
14
|
+
protected subscribe(): Promise<void>;
|
|
15
|
+
protected destroyMetric(): Promise<void>;
|
|
16
|
+
protected unsubscribe(): Promise<void>;
|
|
17
|
+
private handleInstanceCrash;
|
|
18
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApplicationCrashMetric = void 0;
|
|
4
|
+
const base_1 = require("../base/base");
|
|
5
|
+
const crash_1 = require("../../validation/metrics/platform/crash");
|
|
6
|
+
class ApplicationCrashMetric extends base_1.MetricBase {
|
|
7
|
+
constructor(settings, meter, logger, instanceCrashHandler) {
|
|
8
|
+
super(settings, logger);
|
|
9
|
+
this.meter = meter;
|
|
10
|
+
this.instanceCrashHandler = instanceCrashHandler;
|
|
11
|
+
this.validator = new crash_1.PlatformCrashMetricValidator();
|
|
12
|
+
this.validator.validate(this);
|
|
13
|
+
}
|
|
14
|
+
createMetric() {
|
|
15
|
+
const name = this.settings.name;
|
|
16
|
+
const description = this.settings.description;
|
|
17
|
+
this.applicationCrashMetric = this.meter.createCounter(name, { description });
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
}
|
|
20
|
+
subscribe() {
|
|
21
|
+
this.applicationCrashUn = this.instanceCrashHandler(this.handleInstanceCrash.bind(this));
|
|
22
|
+
return Promise.resolve();
|
|
23
|
+
}
|
|
24
|
+
destroyMetric() {
|
|
25
|
+
return Promise.resolve();
|
|
26
|
+
}
|
|
27
|
+
unsubscribe() {
|
|
28
|
+
this.applicationCrashUn();
|
|
29
|
+
return Promise.resolve();
|
|
30
|
+
}
|
|
31
|
+
handleInstanceCrash(args) {
|
|
32
|
+
try {
|
|
33
|
+
this.validator.validateApplicationCrash(args);
|
|
34
|
+
this.logger.debug(`crash for application ${args.application} and metric ${this.settings.name} is being invoked`);
|
|
35
|
+
const data = Object.assign({ reason: args.reason }, this.getApplicationData(args.application));
|
|
36
|
+
this.applicationCrashMetric.add(1, data);
|
|
37
|
+
this.logger.debug(`metric ${this.settings.name} sent 1 more for app ${data.application}`);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const message = `error while executing handleApplicationCrash for metric from type: ${this.settings.type}`;
|
|
41
|
+
this.logger.warn(message, error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ApplicationCrashMetric = ApplicationCrashMetric;
|
|
46
|
+
//# sourceMappingURL=crash.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crash.js","sourceRoot":"","sources":["../../../src/metrics/application/crash.ts"],"names":[],"mappings":";;;AACA,uCAA0C;AAE1C,mEAA0H;AAI1H,MAAa,sBAAuB,SAAQ,iBAAU;IAKlD,YACI,QAAgC,EACzB,KAAY,EACnB,MAAc,EACP,oBAA0C;QAEjD,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAJjB,UAAK,GAAL,KAAK,CAAO;QAEZ,yBAAoB,GAApB,oBAAoB,CAAsB;QAGjD,IAAI,CAAC,SAAS,GAAG,IAAI,oCAA+B,EAAE,CAAC;QACvD,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,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QAE9E,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,SAAS;QACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB,CAAC,IAA8B;QACtD,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,CAAC,WAAW,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEjH,MAAM,IAAI,mBAAK,MAAM,EAAE,IAAI,CAAC,MAAM,IAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAE,CAAC;YACnF,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEzC,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,sEAAsE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACpC;IACL,CAAC;CACJ;AAtDD,wDAsDC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ApplicationMetricData } from "../base/types";
|
|
2
|
+
import { ApplicationDurationMetricBase } from "./durationBase";
|
|
3
|
+
export declare class ApplicationDurationMetric extends ApplicationDurationMetricBase {
|
|
4
|
+
private appDurationMetric;
|
|
5
|
+
protected createMetricCore(): Promise<void>;
|
|
6
|
+
protected sendMetric(focusedPeriods: number[], data: ApplicationMetricData): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApplicationDurationMetric = void 0;
|
|
4
|
+
const durationBase_1 = require("./durationBase");
|
|
5
|
+
class ApplicationDurationMetric extends durationBase_1.ApplicationDurationMetricBase {
|
|
6
|
+
createMetricCore() {
|
|
7
|
+
const advice = { explicitBucketBoundaries: this.settings.buckets };
|
|
8
|
+
this.appDurationMetric = this.meter.createHistogram(this.settings.name, { description: this.settings.description, unit: this.settings.unit, advice });
|
|
9
|
+
return Promise.resolve();
|
|
10
|
+
}
|
|
11
|
+
sendMetric(focusedPeriods, data) {
|
|
12
|
+
focusedPeriods.forEach((period) => {
|
|
13
|
+
this.appDurationMetric.record(period, data);
|
|
14
|
+
this.logger.debug(`metric ${this.settings.name} sent focused time ${period} for app ${data.application}`);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.ApplicationDurationMetric = ApplicationDurationMetric;
|
|
19
|
+
//# sourceMappingURL=duration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../src/metrics/application/duration.ts"],"names":[],"mappings":";;;AAEA,iDAA+D;AAE/D,MAAa,yBAA0B,SAAQ,4CAA6B;IAGrD,gBAAgB;QAC/B,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,iBAAiB,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;QAEtJ,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,UAAU,CAAC,cAAwB,EAAE,IAA2B;QAC/E,cAAc,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,sBAAsB,MAAM,YAAY,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9G,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhBD,8DAgBC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { InternalMetricSettings, ApplicationMetricData } from "../base/types";
|
|
3
|
+
import { ObservableMetricBase } from "../base/observable";
|
|
4
|
+
import { Logger } from "../../logger/types";
|
|
5
|
+
import { InstanceFocusedHandler } from "../dependencies/types";
|
|
6
|
+
export declare abstract class ApplicationDurationMetricBase extends ObservableMetricBase<ApplicationMetricData> {
|
|
7
|
+
instanceFocusHandler: InstanceFocusedHandler;
|
|
8
|
+
private focusedTimes;
|
|
9
|
+
private currentFocusedApp?;
|
|
10
|
+
private unInstanceFocusHandler;
|
|
11
|
+
private validator;
|
|
12
|
+
constructor(settings: InternalMetricSettings, meter: Meter, logger: Logger, instanceFocusHandler: InstanceFocusedHandler);
|
|
13
|
+
protected subscribeCore(): Promise<void>;
|
|
14
|
+
protected observeCore(): Promise<void>;
|
|
15
|
+
protected unsubscribeCore(): Promise<void>;
|
|
16
|
+
protected abstract sendMetric(focusedPeriods: number[], data: ApplicationMetricData): void;
|
|
17
|
+
private handleFocusChanged;
|
|
18
|
+
private handleFocusChangedCore;
|
|
19
|
+
private handleGotFocus;
|
|
20
|
+
private handleLostFocus;
|
|
21
|
+
private addFocusLostEventCore;
|
|
22
|
+
}
|