@interopio/otel 0.0.11 → 0.0.13
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/README.md +9 -1
- package/dist/builder.d.ts +19 -0
- package/dist/builder.js +75 -0
- package/dist/builder.js.map +1 -0
- package/dist/container.d.ts +14 -0
- package/dist/container.js +51 -0
- package/dist/container.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/logger/log4jsWrapper.d.ts +13 -0
- package/dist/logger/log4jsWrapper.js +54 -0
- package/dist/logger/log4jsWrapper.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/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/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/metrics/application/count.d.ts +21 -0
- package/dist/metrics/metrics/application/count.js +62 -0
- package/dist/metrics/metrics/application/count.js.map +1 -0
- package/dist/metrics/metrics/application/cpu.d.ts +12 -0
- package/dist/metrics/metrics/application/cpu.js +40 -0
- package/dist/metrics/metrics/application/cpu.js.map +1 -0
- package/dist/metrics/metrics/application/crash.d.ts +18 -0
- package/dist/metrics/metrics/application/crash.js +46 -0
- package/dist/metrics/metrics/application/crash.js.map +1 -0
- package/dist/metrics/metrics/application/duration.d.ts +7 -0
- package/dist/metrics/metrics/application/duration.js +19 -0
- package/dist/metrics/metrics/application/duration.js.map +1 -0
- package/dist/metrics/metrics/application/durationBase.d.ts +22 -0
- package/dist/metrics/metrics/application/durationBase.js +97 -0
- package/dist/metrics/metrics/application/durationBase.js.map +1 -0
- package/dist/metrics/metrics/application/error.d.ts +18 -0
- package/dist/metrics/metrics/application/error.js +46 -0
- package/dist/metrics/metrics/application/error.js.map +1 -0
- package/dist/metrics/metrics/application/memory.d.ts +13 -0
- package/dist/metrics/metrics/application/memory.js +41 -0
- package/dist/metrics/metrics/application/memory.js.map +1 -0
- package/dist/metrics/metrics/application/started.d.ts +18 -0
- package/dist/metrics/metrics/application/started.js +46 -0
- package/dist/metrics/metrics/application/started.js.map +1 -0
- package/dist/metrics/metrics/application/startup.d.ts +18 -0
- package/dist/metrics/metrics/application/startup.js +46 -0
- package/dist/metrics/metrics/application/startup.js.map +1 -0
- package/dist/metrics/metrics/application/stopped.d.ts +18 -0
- package/dist/metrics/metrics/application/stopped.js +46 -0
- package/dist/metrics/metrics/application/stopped.js.map +1 -0
- package/dist/metrics/metrics/base/base.d.ts +17 -0
- package/dist/metrics/metrics/base/base.js +71 -0
- package/dist/metrics/metrics/base/base.js.map +1 -0
- package/dist/metrics/metrics/base/gauge.d.ts +18 -0
- package/dist/metrics/metrics/base/gauge.js +61 -0
- package/dist/metrics/metrics/base/gauge.js.map +1 -0
- package/dist/metrics/metrics/base/null.d.ts +10 -0
- package/dist/metrics/metrics/base/null.js +22 -0
- package/dist/metrics/metrics/base/null.js.map +1 -0
- package/dist/metrics/metrics/base/observable.d.ts +20 -0
- package/dist/metrics/metrics/base/observable.js +69 -0
- package/dist/metrics/metrics/base/observable.js.map +1 -0
- package/dist/metrics/metrics/base/types.d.ts +31 -0
- package/dist/metrics/metrics/base/types.js +3 -0
- package/dist/metrics/metrics/base/types.js.map +1 -0
- package/dist/metrics/metrics/layout/startup.d.ts +18 -0
- package/dist/metrics/metrics/layout/startup.js +46 -0
- package/dist/metrics/metrics/layout/startup.js.map +1 -0
- package/dist/metrics/metrics/platform/error.d.ts +18 -0
- package/dist/metrics/metrics/platform/error.js +46 -0
- package/dist/metrics/metrics/platform/error.js.map +1 -0
- package/dist/metrics/metrics/platform/startup.d.ts +18 -0
- package/dist/metrics/metrics/platform/startup.js +58 -0
- package/dist/metrics/metrics/platform/startup.js.map +1 -0
- package/dist/metrics/metrics/system/cpu.d.ts +14 -0
- package/dist/metrics/metrics/system/cpu.js +46 -0
- package/dist/metrics/metrics/system/cpu.js.map +1 -0
- package/dist/metrics/metrics/system/memory.d.ts +14 -0
- package/dist/metrics/metrics/system/memory.js +47 -0
- package/dist/metrics/metrics/system/memory.js.map +1 -0
- package/dist/metrics/metrics/workspace/count.d.ts +21 -0
- package/dist/metrics/metrics/workspace/count.js +62 -0
- package/dist/metrics/metrics/workspace/count.js.map +1 -0
- package/dist/metrics/metrics/workspace/startup.d.ts +9 -0
- package/dist/metrics/metrics/workspace/startup.js +12 -0
- package/dist/metrics/metrics/workspace/startup.js.map +1 -0
- package/dist/metrics/metrics/workspace/stopped.d.ts +18 -0
- package/dist/metrics/metrics/workspace/stopped.js +46 -0
- package/dist/metrics/metrics/workspace/stopped.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/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/traces/builder.d.ts +15 -0
- package/dist/traces/builder.js +39 -0
- package/dist/traces/builder.js.map +1 -0
- package/dist/traces/ioInsightsSampler.d.ts +16 -0
- package/dist/traces/ioInsightsSampler.js +123 -0
- package/dist/traces/ioInsightsSampler.js.map +1 -0
- package/dist/traces/manager.d.ts +19 -0
- package/dist/traces/manager.js +151 -0
- package/dist/traces/manager.js.map +1 -0
- package/dist/traces/nullTracesManager.d.ts +6 -0
- package/dist/traces/nullTracesManager.js +23 -0
- package/dist/traces/nullTracesManager.js.map +1 -0
- package/dist/traces/tracingState.d.ts +28 -0
- package/dist/traces/tracingState.js +103 -0
- package/dist/traces/tracingState.js.map +1 -0
- package/dist/traces/types.d.ts +96 -0
- package/dist/traces/types.js +14 -0
- package/dist/traces/types.js.map +1 -0
- package/dist/traces/utils/index.d.ts +13 -0
- package/dist/traces/utils/index.js +119 -0
- package/dist/traces/utils/index.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 +12 -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/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/traces/attributeData.d.ts +3 -0
- package/dist/validation/traces/attributeData.js +18 -0
- package/dist/validation/traces/attributeData.js.map +1 -0
- package/dist/validation/traces/filter.d.ts +4 -0
- package/dist/validation/traces/filter.js +12 -0
- package/dist/validation/traces/filter.js.map +1 -0
- package/dist/validation/traces/manager.d.ts +4 -0
- package/dist/validation/traces/manager.js +12 -0
- package/dist/validation/traces/manager.js.map +1 -0
- package/dist/validation/traces/withSpan.d.ts +4 -0
- package/dist/validation/traces/withSpan.js +18 -0
- package/dist/validation/traces/withSpan.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 +12 -4
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export interface MetricsDependencyContainer {
|
|
2
|
+
performanceProvider: PerformanceProvider;
|
|
3
|
+
instanceStartedHandler: InstanceActionHandler;
|
|
4
|
+
instanceStoppedHandler: InstanceActionHandler;
|
|
5
|
+
instanceReadyHandler: InstanceReadyHandler;
|
|
6
|
+
instanceFocusedHandler: InstanceFocusedHandler;
|
|
7
|
+
instanceErrorHandler: InstanceErrorHandler;
|
|
8
|
+
instanceCrashHandler: InstanceCrashHandler;
|
|
9
|
+
layoutRestoredHandler: LayoutRestoredHandler;
|
|
10
|
+
workspaceRestoredHandler: WorkspaceRestoredHandler;
|
|
11
|
+
workspaceStoppedHandler: WorkspaceActionHandler;
|
|
12
|
+
platformStartedHandler: PlatformStartedHandler;
|
|
13
|
+
platformErrorHandler: PlatformErrorHandler;
|
|
14
|
+
}
|
|
15
|
+
export type Unsubscribe = () => void;
|
|
16
|
+
export interface InstanceActionHandlerArgs {
|
|
17
|
+
application: string;
|
|
18
|
+
}
|
|
19
|
+
export type InstanceActionHandler = (callback: (args: InstanceActionHandlerArgs) => void) => Unsubscribe;
|
|
20
|
+
export interface InstanceErrorHandlerArgs {
|
|
21
|
+
application: string;
|
|
22
|
+
}
|
|
23
|
+
export type InstanceErrorHandler = (callback: (args: InstanceErrorHandlerArgs) => void) => Unsubscribe;
|
|
24
|
+
export interface PlatformErrorHandlerArgs {
|
|
25
|
+
}
|
|
26
|
+
export type PlatformErrorHandler = (callback: (args: PlatformErrorHandlerArgs) => void) => Unsubscribe;
|
|
27
|
+
export interface InstanceCrashHandlerArgs {
|
|
28
|
+
application: string;
|
|
29
|
+
reason: string;
|
|
30
|
+
}
|
|
31
|
+
export type InstanceCrashHandler = (callback: (args: InstanceCrashHandlerArgs) => void) => Unsubscribe;
|
|
32
|
+
export interface InstanceFocusedHandlerArgs {
|
|
33
|
+
application: string;
|
|
34
|
+
focused: boolean;
|
|
35
|
+
}
|
|
36
|
+
export type InstanceFocusedHandler = (callback: (args: InstanceFocusedHandlerArgs) => void) => Unsubscribe;
|
|
37
|
+
export interface LayoutRestoredHandlerArgs {
|
|
38
|
+
layout: string;
|
|
39
|
+
startTime: Date;
|
|
40
|
+
endTime: Date;
|
|
41
|
+
}
|
|
42
|
+
export type LayoutRestoredHandler = (callback: (args: LayoutRestoredHandlerArgs) => void) => Unsubscribe;
|
|
43
|
+
export interface WorkspaceRestoredHandlerArgs {
|
|
44
|
+
layout: string;
|
|
45
|
+
startTime: Date;
|
|
46
|
+
endTime: Date;
|
|
47
|
+
}
|
|
48
|
+
export type WorkspaceRestoredHandler = (callback: (args: WorkspaceRestoredHandlerArgs) => void) => Unsubscribe;
|
|
49
|
+
export interface WorkspaceActionHandlerArgs {
|
|
50
|
+
layout: string;
|
|
51
|
+
}
|
|
52
|
+
export type WorkspaceActionHandler = (callback: (args: WorkspaceActionHandlerArgs) => void) => Unsubscribe;
|
|
53
|
+
export interface InstanceReadyHandlerArgs {
|
|
54
|
+
application: string;
|
|
55
|
+
startTime: Date;
|
|
56
|
+
endTime: Date;
|
|
57
|
+
api: string;
|
|
58
|
+
}
|
|
59
|
+
export type InstanceReadyHandler = (callback: (args: InstanceReadyHandlerArgs) => void) => Unsubscribe;
|
|
60
|
+
export interface PlatformStartedHandlerArgs {
|
|
61
|
+
startTime: Date;
|
|
62
|
+
endTime: Date;
|
|
63
|
+
api: string;
|
|
64
|
+
}
|
|
65
|
+
export type PlatformStartedHandler = (callback: (args: PlatformStartedHandlerArgs) => void) => Unsubscribe;
|
|
66
|
+
export interface PerformanceProvider {
|
|
67
|
+
getAppsCPU(): Promise<AppCPU[] | undefined>;
|
|
68
|
+
getAppsMemory(): Promise<AppMemory[] | undefined>;
|
|
69
|
+
getSystemCPU(): Promise<SystemCPU | undefined>;
|
|
70
|
+
getSystemMemory(): Promise<SystemMemory | undefined>;
|
|
71
|
+
}
|
|
72
|
+
export interface AppCPU {
|
|
73
|
+
app: string;
|
|
74
|
+
instance: string;
|
|
75
|
+
cpu: number;
|
|
76
|
+
}
|
|
77
|
+
export interface AppMemory {
|
|
78
|
+
app: string;
|
|
79
|
+
instance: string;
|
|
80
|
+
memory: number;
|
|
81
|
+
}
|
|
82
|
+
export interface SystemCPU {
|
|
83
|
+
current: number;
|
|
84
|
+
average: number;
|
|
85
|
+
platform: number;
|
|
86
|
+
}
|
|
87
|
+
export interface SystemMemory {
|
|
88
|
+
platformTotal: number;
|
|
89
|
+
systemTotal: number;
|
|
90
|
+
systemFree: number;
|
|
91
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/metrics/dependencies/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Logger } from "../../logger/types";
|
|
2
|
+
import { MetricsDependencyContainer } from "../dependencies/types";
|
|
3
|
+
import { MetricsFactory as IMetricsFactory } from "./types";
|
|
4
|
+
import { LazyMetricsMeterProvider } from "../meter/lazyProvider";
|
|
5
|
+
export declare class MetricsFactoryBuilder {
|
|
6
|
+
lazyMeterProvider: LazyMetricsMeterProvider;
|
|
7
|
+
dependencyContainer: MetricsDependencyContainer;
|
|
8
|
+
logger: Logger;
|
|
9
|
+
private metricsFactories;
|
|
10
|
+
constructor(lazyMeterProvider: LazyMetricsMeterProvider, dependencyContainer: MetricsDependencyContainer, logger: Logger);
|
|
11
|
+
private get meter();
|
|
12
|
+
build(): IMetricsFactory;
|
|
13
|
+
withDefaults(): this;
|
|
14
|
+
withAppStarted(): this;
|
|
15
|
+
withAppStopped(): this;
|
|
16
|
+
withAppStartupHistogram(): this;
|
|
17
|
+
withAppCount(): this;
|
|
18
|
+
withAppDurationHistogram(): this;
|
|
19
|
+
withAppMemory(): this;
|
|
20
|
+
withAppCPU(): this;
|
|
21
|
+
withAppError(): this;
|
|
22
|
+
withAppCrash(): this;
|
|
23
|
+
withSystemMemory(): this;
|
|
24
|
+
withSystemCPU(): this;
|
|
25
|
+
withLayoutStartupHistogram(): this;
|
|
26
|
+
withWorkspaceStartupHistogram(): this;
|
|
27
|
+
withWorkspaceStopped(): this;
|
|
28
|
+
withWorkspaceCount(): this;
|
|
29
|
+
withPlatformStartup(): this;
|
|
30
|
+
withPlatformError(): this;
|
|
31
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsFactoryBuilder = void 0;
|
|
4
|
+
const started_1 = require("../metrics/application/started");
|
|
5
|
+
const stopped_1 = require("../metrics/application/stopped");
|
|
6
|
+
const count_1 = require("../metrics/application/count");
|
|
7
|
+
const duration_1 = require("../metrics/application/duration");
|
|
8
|
+
const memory_1 = require("../metrics/application/memory");
|
|
9
|
+
const cpu_1 = require("../metrics/application/cpu");
|
|
10
|
+
const memory_2 = require("../metrics/system/memory");
|
|
11
|
+
const cpu_2 = require("../metrics/system/cpu");
|
|
12
|
+
const startup_1 = require("../metrics/platform/startup");
|
|
13
|
+
const factory_1 = require("./factory");
|
|
14
|
+
const factoryBuilder_1 = require("../../validation/metrics/factoryBuilder");
|
|
15
|
+
const startup_2 = require("../metrics/workspace/startup");
|
|
16
|
+
const stopped_2 = require("../metrics/workspace/stopped");
|
|
17
|
+
const startup_3 = require("../metrics/application/startup");
|
|
18
|
+
const startup_4 = require("../metrics/layout/startup");
|
|
19
|
+
const error_1 = require("../metrics/application/error");
|
|
20
|
+
const crash_1 = require("../metrics/application/crash");
|
|
21
|
+
const error_2 = require("../metrics/platform/error");
|
|
22
|
+
const count_2 = require("../metrics/workspace/count");
|
|
23
|
+
class MetricsFactoryBuilder {
|
|
24
|
+
constructor(lazyMeterProvider, dependencyContainer, logger) {
|
|
25
|
+
this.lazyMeterProvider = lazyMeterProvider;
|
|
26
|
+
this.dependencyContainer = dependencyContainer;
|
|
27
|
+
this.logger = logger;
|
|
28
|
+
this.metricsFactories = new Map();
|
|
29
|
+
this.metricsFactories = new Map();
|
|
30
|
+
}
|
|
31
|
+
get meter() {
|
|
32
|
+
const meter = this.lazyMeterProvider.getMeter();
|
|
33
|
+
return meter;
|
|
34
|
+
}
|
|
35
|
+
build() {
|
|
36
|
+
const validator = new factoryBuilder_1.MetricsFactoryBuilderValidator();
|
|
37
|
+
validator.validate(this);
|
|
38
|
+
const metricsFactory = new factory_1.MetricsFactory(this.logger, this.metricsFactories);
|
|
39
|
+
return metricsFactory;
|
|
40
|
+
}
|
|
41
|
+
withDefaults() {
|
|
42
|
+
return this.withAppStarted()
|
|
43
|
+
.withAppStopped()
|
|
44
|
+
.withAppStartupHistogram()
|
|
45
|
+
.withAppCount()
|
|
46
|
+
.withAppDurationHistogram()
|
|
47
|
+
.withAppMemory()
|
|
48
|
+
.withAppCPU()
|
|
49
|
+
.withSystemMemory()
|
|
50
|
+
.withSystemCPU()
|
|
51
|
+
.withAppError()
|
|
52
|
+
.withAppCrash()
|
|
53
|
+
.withLayoutStartupHistogram()
|
|
54
|
+
.withWorkspaceStartupHistogram()
|
|
55
|
+
.withWorkspaceStopped()
|
|
56
|
+
.withWorkspaceCount()
|
|
57
|
+
.withPlatformStartup()
|
|
58
|
+
.withPlatformError();
|
|
59
|
+
}
|
|
60
|
+
withAppStarted() {
|
|
61
|
+
const func = (settings) => {
|
|
62
|
+
const metric = new started_1.ApplicationStartedMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceStartedHandler);
|
|
63
|
+
return metric;
|
|
64
|
+
};
|
|
65
|
+
this.metricsFactories.set("app_started", func.bind(this));
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
withAppStopped() {
|
|
69
|
+
const func = (settings) => {
|
|
70
|
+
const metric = new stopped_1.ApplicationStoppedMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceStoppedHandler);
|
|
71
|
+
return metric;
|
|
72
|
+
};
|
|
73
|
+
this.metricsFactories.set("app_stopped", func.bind(this));
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
withAppStartupHistogram() {
|
|
77
|
+
const func = (settings) => {
|
|
78
|
+
const metric = new startup_3.ApplicationStartupMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceReadyHandler);
|
|
79
|
+
return metric;
|
|
80
|
+
};
|
|
81
|
+
this.metricsFactories.set("app_startup", func.bind(this));
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
withAppCount() {
|
|
85
|
+
const func = (settings) => {
|
|
86
|
+
const metric = new count_1.ApplicationCountMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceStartedHandler, this.dependencyContainer.instanceStoppedHandler);
|
|
87
|
+
return metric;
|
|
88
|
+
};
|
|
89
|
+
this.metricsFactories.set("app_count", func.bind(this));
|
|
90
|
+
return this;
|
|
91
|
+
}
|
|
92
|
+
withAppDurationHistogram() {
|
|
93
|
+
const func = (settings) => {
|
|
94
|
+
const metric = new duration_1.ApplicationDurationMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceFocusedHandler);
|
|
95
|
+
return metric;
|
|
96
|
+
};
|
|
97
|
+
this.metricsFactories.set("app_duration", func.bind(this));
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
withAppMemory() {
|
|
101
|
+
const func = (settings) => {
|
|
102
|
+
const metric = new memory_1.ApplicationMemoryMetric(settings, this.meter, this.logger, this.dependencyContainer.performanceProvider);
|
|
103
|
+
return metric;
|
|
104
|
+
};
|
|
105
|
+
this.metricsFactories.set("app_memory", func.bind(this));
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
withAppCPU() {
|
|
109
|
+
const func = (settings) => {
|
|
110
|
+
const metric = new cpu_1.ApplicationCPUMetric(settings, this.meter, this.logger, this.dependencyContainer.performanceProvider);
|
|
111
|
+
return metric;
|
|
112
|
+
};
|
|
113
|
+
this.metricsFactories.set("app_cpu", func.bind(this));
|
|
114
|
+
return this;
|
|
115
|
+
}
|
|
116
|
+
withAppError() {
|
|
117
|
+
const func = (settings) => {
|
|
118
|
+
const metric = new error_1.ApplicationErrorMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceErrorHandler);
|
|
119
|
+
return metric;
|
|
120
|
+
};
|
|
121
|
+
this.metricsFactories.set("app_error", func.bind(this));
|
|
122
|
+
return this;
|
|
123
|
+
}
|
|
124
|
+
withAppCrash() {
|
|
125
|
+
const func = (settings) => {
|
|
126
|
+
const metric = new crash_1.ApplicationCrashMetric(settings, this.meter, this.logger, this.dependencyContainer.instanceCrashHandler);
|
|
127
|
+
return metric;
|
|
128
|
+
};
|
|
129
|
+
this.metricsFactories.set("app_crash", func.bind(this));
|
|
130
|
+
return this;
|
|
131
|
+
}
|
|
132
|
+
withSystemMemory() {
|
|
133
|
+
const func = (settings) => {
|
|
134
|
+
const metric = new memory_2.SystemMemoryMetric(settings, this.meter, this.logger, this.dependencyContainer.performanceProvider);
|
|
135
|
+
return metric;
|
|
136
|
+
};
|
|
137
|
+
this.metricsFactories.set("system_memory", func.bind(this));
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
withSystemCPU() {
|
|
141
|
+
const func = (settings) => {
|
|
142
|
+
const metric = new cpu_2.SystemCPUMetric(settings, this.meter, this.logger, this.dependencyContainer.performanceProvider);
|
|
143
|
+
return metric;
|
|
144
|
+
};
|
|
145
|
+
this.metricsFactories.set("system_cpu", func.bind(this));
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
withLayoutStartupHistogram() {
|
|
149
|
+
const func = (settings) => {
|
|
150
|
+
const metric = new startup_4.LayoutStartupMetric(settings, this.meter, this.logger, this.dependencyContainer.layoutRestoredHandler);
|
|
151
|
+
return metric;
|
|
152
|
+
};
|
|
153
|
+
this.metricsFactories.set("layout_startup", func.bind(this));
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
156
|
+
withWorkspaceStartupHistogram() {
|
|
157
|
+
const func = (settings) => {
|
|
158
|
+
const metric = new startup_2.WorkspaceStartupHistogramMetric(settings, this.meter, this.logger, this.dependencyContainer.workspaceRestoredHandler);
|
|
159
|
+
return metric;
|
|
160
|
+
};
|
|
161
|
+
this.metricsFactories.set("workspace_startup", func.bind(this));
|
|
162
|
+
return this;
|
|
163
|
+
}
|
|
164
|
+
withWorkspaceStopped() {
|
|
165
|
+
const func = (settings) => {
|
|
166
|
+
const metric = new stopped_2.WorkspaceStoppedMetric(settings, this.meter, this.logger, this.dependencyContainer.workspaceStoppedHandler);
|
|
167
|
+
return metric;
|
|
168
|
+
};
|
|
169
|
+
this.metricsFactories.set("workspace_stopped", func.bind(this));
|
|
170
|
+
return this;
|
|
171
|
+
}
|
|
172
|
+
withWorkspaceCount() {
|
|
173
|
+
const func = (settings) => {
|
|
174
|
+
const metric = new count_2.WorkspaceCountMetric(settings, this.meter, this.logger, this.dependencyContainer.workspaceRestoredHandler, this.dependencyContainer.workspaceStoppedHandler);
|
|
175
|
+
return metric;
|
|
176
|
+
};
|
|
177
|
+
this.metricsFactories.set("workspace_count", func.bind(this));
|
|
178
|
+
return this;
|
|
179
|
+
}
|
|
180
|
+
withPlatformStartup() {
|
|
181
|
+
const func = (settings) => {
|
|
182
|
+
const metric = new startup_1.PlatformStartupMetric(settings, this.meter, this.logger, this.dependencyContainer.platformStartedHandler);
|
|
183
|
+
return metric;
|
|
184
|
+
};
|
|
185
|
+
this.metricsFactories.set("platform_startup", func.bind(this));
|
|
186
|
+
return this;
|
|
187
|
+
}
|
|
188
|
+
withPlatformError() {
|
|
189
|
+
const func = (settings) => {
|
|
190
|
+
const metric = new error_2.PlatformErrorMetric(settings, this.meter, this.logger, this.dependencyContainer.platformErrorHandler);
|
|
191
|
+
return metric;
|
|
192
|
+
};
|
|
193
|
+
this.metricsFactories.set("platform_error", func.bind(this));
|
|
194
|
+
return this;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.MetricsFactoryBuilder = MetricsFactoryBuilder;
|
|
198
|
+
//# sourceMappingURL=builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/metrics/factory/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Logger } from "../../logger/types";
|
|
2
|
+
import { Metric, InternalMetricSettings, MetricType } from "../metrics/base/types";
|
|
3
|
+
import { CreateMetricFunc, MetricsFactory as IMetricsFactory } from "./types";
|
|
4
|
+
export declare class MetricsFactory implements IMetricsFactory {
|
|
5
|
+
logger: Logger;
|
|
6
|
+
metricsFactories: Map<MetricType, CreateMetricFunc>;
|
|
7
|
+
constructor(logger: Logger, metricsFactories: Map<MetricType, CreateMetricFunc>);
|
|
8
|
+
create(metricSettings: InternalMetricSettings): Metric;
|
|
9
|
+
private createNullMetric;
|
|
10
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsFactory = void 0;
|
|
4
|
+
const factory_1 = require("../../validation/metrics/factory");
|
|
5
|
+
const null_1 = require("../metrics/base/null");
|
|
6
|
+
class MetricsFactory {
|
|
7
|
+
constructor(logger, metricsFactories) {
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
this.metricsFactories = metricsFactories;
|
|
10
|
+
const validator = new factory_1.MetricsFactoryValidator();
|
|
11
|
+
validator.validate(this);
|
|
12
|
+
}
|
|
13
|
+
create(metricSettings) {
|
|
14
|
+
const metricType = metricSettings.type;
|
|
15
|
+
const hasMetricFactory = this.metricsFactories.has(metricType);
|
|
16
|
+
if (hasMetricFactory) {
|
|
17
|
+
const metricFactory = this.metricsFactories.get(metricType);
|
|
18
|
+
const metric = metricFactory(metricSettings);
|
|
19
|
+
return metric;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const nullMetric = this.createNullMetric(metricSettings, "not supported");
|
|
23
|
+
return nullMetric;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
createNullMetric(settings, reason) {
|
|
27
|
+
this.logger.debug(`cannot create ${settings.name} metric, reason: ${reason}`);
|
|
28
|
+
const nullMetric = new null_1.NullMetric(settings, this.logger);
|
|
29
|
+
return nullMetric;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.MetricsFactory = MetricsFactory;
|
|
33
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/metrics/factory/factory.ts"],"names":[],"mappings":";;;AACA,8DAA2E;AAE3E,+CAAkD;AAGlD,MAAa,cAAc;IACvB,YACW,MAAc,EACd,gBAAmD;QADnD,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAmC;QAE1D,MAAM,SAAS,GAAG,IAAI,iCAAuB,EAAE,CAAC;QAChD,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,cAAsC;QAChD,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,QAAgC,EAAE,MAAc;QACrE,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/metrics/factory/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Logger } from "../logger/types";
|
|
2
|
+
import { Metric, MetricType } from "./metrics/base/types";
|
|
3
|
+
import { MetricsFactory } from "./factory/types";
|
|
4
|
+
import { LazyMetricsMeterProvider } from "./meter/lazyProvider";
|
|
5
|
+
import { InternalMetricsSettings } from "./settings/types";
|
|
6
|
+
import { MetricsManager as IMetricsManager } from "./types";
|
|
7
|
+
export declare class MetricsManager implements IMetricsManager {
|
|
8
|
+
settings: InternalMetricsSettings;
|
|
9
|
+
metricsFactory: MetricsFactory;
|
|
10
|
+
meterProvider: LazyMetricsMeterProvider;
|
|
11
|
+
logger: Logger;
|
|
12
|
+
private metrics;
|
|
13
|
+
started: boolean;
|
|
14
|
+
constructor(settings: InternalMetricsSettings, metricsFactory: MetricsFactory, meterProvider: LazyMetricsMeterProvider, logger: Logger);
|
|
15
|
+
get(type: MetricType): Metric | undefined;
|
|
16
|
+
start(): Promise<void>;
|
|
17
|
+
stop(): Promise<void>;
|
|
18
|
+
private createEnabledMetrics;
|
|
19
|
+
private getOrCreateMetric;
|
|
20
|
+
private createMetric;
|
|
21
|
+
private startMetric;
|
|
22
|
+
private stopMetric;
|
|
23
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
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
|
+
class MetricsManager {
|
|
15
|
+
constructor(settings, metricsFactory, meterProvider, logger) {
|
|
16
|
+
this.settings = settings;
|
|
17
|
+
this.metricsFactory = metricsFactory;
|
|
18
|
+
this.meterProvider = meterProvider;
|
|
19
|
+
this.logger = logger;
|
|
20
|
+
this.metrics = new Map();
|
|
21
|
+
this.started = false;
|
|
22
|
+
const validator = new manager_1.MetricsManagerValidator();
|
|
23
|
+
validator.validate(this);
|
|
24
|
+
}
|
|
25
|
+
get(type) {
|
|
26
|
+
const metric = this.getOrCreateMetric(type);
|
|
27
|
+
return metric;
|
|
28
|
+
}
|
|
29
|
+
start() {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
try {
|
|
32
|
+
this.createEnabledMetrics(this.settings.metrics);
|
|
33
|
+
for (const metricKvp of this.metrics) {
|
|
34
|
+
const metric = metricKvp[1];
|
|
35
|
+
yield this.startMetric(metric);
|
|
36
|
+
}
|
|
37
|
+
this.started = true;
|
|
38
|
+
this.logger.debug("metrics manager has been started");
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
const message = "error while starting metrics manager";
|
|
42
|
+
this.logger.warn(message, error);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
stop() {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
try {
|
|
49
|
+
for (const metricKvp of this.metrics) {
|
|
50
|
+
const metric = metricKvp[1];
|
|
51
|
+
yield this.stopMetric(metric);
|
|
52
|
+
}
|
|
53
|
+
yield this.meterProvider.forceFlush();
|
|
54
|
+
this.started = false;
|
|
55
|
+
this.logger.debug("metrics manager has been stopped");
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
const message = "error while stopping metrics manager";
|
|
59
|
+
this.logger.warn(message, error);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
createEnabledMetrics(metrics) {
|
|
64
|
+
const notCreateYet = metrics.filter((m) => !this.metrics.has(m.type));
|
|
65
|
+
const enabled = notCreateYet.filter((m) => m.enabled);
|
|
66
|
+
enabled.forEach((metricSettings) => this.createMetric(metricSettings));
|
|
67
|
+
}
|
|
68
|
+
getOrCreateMetric(type) {
|
|
69
|
+
const hasMetric = this.metrics.has(type);
|
|
70
|
+
if (hasMetric) {
|
|
71
|
+
return this.metrics.get(type);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
let metric;
|
|
75
|
+
const metricSettings = this.settings.metrics.find((m) => m.type === type);
|
|
76
|
+
if (metricSettings) {
|
|
77
|
+
metric = this.createMetric(metricSettings);
|
|
78
|
+
}
|
|
79
|
+
return metric;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
createMetric(settings) {
|
|
83
|
+
try {
|
|
84
|
+
const metric = this.metricsFactory.create(settings);
|
|
85
|
+
if (metric) {
|
|
86
|
+
this.metrics.set(metric.settings.type, metric);
|
|
87
|
+
}
|
|
88
|
+
return metric;
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
const message = `error while creating metric from type: ${settings.type}`;
|
|
92
|
+
this.logger.warn(message, error);
|
|
93
|
+
return undefined;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
startMetric(metric) {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
try {
|
|
99
|
+
yield metric.start();
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const message = `error while starting metric from type: ${metric.settings.type}`;
|
|
103
|
+
this.logger.warn(message, error);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
stopMetric(metric) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
try {
|
|
110
|
+
yield metric.stop();
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
const message = `error while stopping metric from type: ${metric.settings.type}`;
|
|
114
|
+
this.logger.warn(message, error);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.MetricsManager = MetricsManager;
|
|
120
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/metrics/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { MetricsMeterProviderCreateFunc } from "./types";
|
|
3
|
+
export declare class LazyMetricsMeterProvider {
|
|
4
|
+
private meterProviderCreateFunc;
|
|
5
|
+
private serviceName;
|
|
6
|
+
private meterProvider;
|
|
7
|
+
constructor(meterProviderCreateFunc: MetricsMeterProviderCreateFunc, serviceName: string);
|
|
8
|
+
getMeter(): Meter;
|
|
9
|
+
forceFlush(): Promise<void>;
|
|
10
|
+
private getMeterProvider;
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LazyMetricsMeterProvider = void 0;
|
|
4
|
+
class LazyMetricsMeterProvider {
|
|
5
|
+
constructor(meterProviderCreateFunc, serviceName) {
|
|
6
|
+
this.meterProviderCreateFunc = meterProviderCreateFunc;
|
|
7
|
+
this.serviceName = serviceName;
|
|
8
|
+
}
|
|
9
|
+
getMeter() {
|
|
10
|
+
const provider = this.getMeterProvider();
|
|
11
|
+
return provider.getMeter(this.serviceName);
|
|
12
|
+
}
|
|
13
|
+
forceFlush() {
|
|
14
|
+
const provider = this.getMeterProvider();
|
|
15
|
+
return provider.forceFlush();
|
|
16
|
+
}
|
|
17
|
+
getMeterProvider() {
|
|
18
|
+
var _a;
|
|
19
|
+
return (_a = this.meterProvider) !== null && _a !== void 0 ? _a : (this.meterProvider = this.meterProviderCreateFunc());
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.LazyMetricsMeterProvider = LazyMetricsMeterProvider;
|
|
23
|
+
//# sourceMappingURL=lazyProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazyProvider.js","sourceRoot":"","sources":["../../../src/metrics/meter/lazyProvider.ts"],"names":[],"mappings":";;;AAGA,MAAa,wBAAwB;IAGjC,YACY,uBAAuD,EACvD,WAAmB;QADnB,4BAAuB,GAAvB,uBAAuB,CAAgC;QACvD,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;IAEO,gBAAgB;;QACpB,OAAO,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC;IACvF,CAAC;CACJ;AApBD,4DAoBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { MeterProvider } from "@opentelemetry/sdk-metrics";
|
|
2
|
+
import { InternalMetricsMeterSettings } from "./types";
|
|
3
|
+
export declare class MetricsMeterProviderFactory {
|
|
4
|
+
create(settings: InternalMetricsMeterSettings): MeterProvider;
|
|
5
|
+
private createMeterProvider;
|
|
6
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsMeterProviderFactory = void 0;
|
|
4
|
+
const resources_1 = require("@opentelemetry/resources");
|
|
5
|
+
const exporter_metrics_otlp_http_1 = require("@opentelemetry/exporter-metrics-otlp-http");
|
|
6
|
+
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
7
|
+
const meterFactory_1 = require("../../validation/metrics/meterFactory");
|
|
8
|
+
class MetricsMeterProviderFactory {
|
|
9
|
+
create(settings) {
|
|
10
|
+
const validator = new meterFactory_1.MetricsMeterFactoryValidator();
|
|
11
|
+
validator.validate(settings);
|
|
12
|
+
const metricExporter = new exporter_metrics_otlp_http_1.OTLPMetricExporter(Object.assign({}, settings));
|
|
13
|
+
const metricReader = new sdk_metrics_1.PeriodicExportingMetricReader({
|
|
14
|
+
exporter: metricExporter,
|
|
15
|
+
exportIntervalMillis: settings.publishInterval,
|
|
16
|
+
});
|
|
17
|
+
const meterProvider = this.createMeterProvider(settings, metricReader);
|
|
18
|
+
return meterProvider;
|
|
19
|
+
}
|
|
20
|
+
createMeterProvider(settings, metricReader) {
|
|
21
|
+
const meterProvider = new sdk_metrics_1.MeterProvider({
|
|
22
|
+
resource: new resources_1.Resource({
|
|
23
|
+
"service.name": `${settings.serviceName}`,
|
|
24
|
+
"service.instance.id": `${settings.serviceId}`,
|
|
25
|
+
"service.version": `${settings.serviceVersion}`,
|
|
26
|
+
"user.id": `${settings.userId}`
|
|
27
|
+
}),
|
|
28
|
+
readers: [metricReader]
|
|
29
|
+
});
|
|
30
|
+
return meterProvider;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.MetricsMeterProviderFactory = MetricsMeterProviderFactory;
|
|
34
|
+
//# sourceMappingURL=providerFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"providerFactory.js","sourceRoot":"","sources":["../../../src/metrics/meter/providerFactory.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AACpD,0FAA+E;AAC/E,4DAAwG;AACxG,wEAAqF;AAGrF,MAAa,2BAA2B;IAC7B,MAAM,CAAC,QAAsC;QAChD,MAAM,SAAS,GAAG,IAAI,2CAA4B,EAAE,CAAC;QACrD,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE7B,MAAM,cAAc,GAAG,IAAI,+CAAkB,mBAAM,QAAQ,EAAG,CAAC;QAE/D,MAAM,YAAY,GAAG,IAAI,2CAA6B,CAAC;YACnD,QAAQ,EAAE,cAAc;YACxB,oBAAoB,EAAE,QAAQ,CAAC,eAAe;SACjD,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEvE,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,mBAAmB,CAAC,QAAsC,EAAE,YAA0B;QAC1F,MAAM,aAAa,GAAG,IAAI,2BAAa,CAAC;YACpC,QAAQ,EAAE,IAAI,oBAAQ,CAClB;gBACI,cAAc,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;gBACzC,qBAAqB,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE;gBAC9C,iBAAiB,EAAE,GAAG,QAAQ,CAAC,cAAc,EAAE;gBAC/C,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE;aAClC,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,CAAC;SAC1B,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;CACJ;AA/BD,kEA+BC"}
|