@interopio/otel 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/container.d.ts +12 -0
- package/dist/container.js +37 -0
- package/dist/container.js.map +1 -0
- package/dist/containerBuilder.d.ts +14 -0
- package/dist/containerBuilder.js +31 -0
- package/dist/containerBuilder.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +26 -0
- package/dist/index.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 +19 -0
- package/dist/metrics/application/count.js +53 -0
- package/dist/metrics/application/count.js.map +1 -0
- package/dist/metrics/application/cpu.d.ts +11 -0
- package/dist/metrics/application/cpu.js +33 -0
- package/dist/metrics/application/cpu.js.map +1 -0
- package/dist/metrics/application/duration.d.ts +20 -0
- package/dist/metrics/application/duration.js +97 -0
- package/dist/metrics/application/duration.js.map +1 -0
- package/dist/metrics/application/durationHistogram.d.ts +9 -0
- package/dist/metrics/application/durationHistogram.js +19 -0
- package/dist/metrics/application/durationHistogram.js.map +1 -0
- package/dist/metrics/application/durationSum.d.ts +9 -0
- package/dist/metrics/application/durationSum.js +17 -0
- package/dist/metrics/application/durationSum.js.map +1 -0
- package/dist/metrics/application/memory.d.ts +11 -0
- package/dist/metrics/application/memory.js +34 -0
- package/dist/metrics/application/memory.js.map +1 -0
- package/dist/metrics/application/started.d.ts +16 -0
- package/dist/metrics/application/started.js +40 -0
- package/dist/metrics/application/started.js.map +1 -0
- package/dist/metrics/application/startup.d.ts +16 -0
- package/dist/metrics/application/startup.js +74 -0
- package/dist/metrics/application/startup.js.map +1 -0
- package/dist/metrics/application/startupHistogram.d.ts +9 -0
- package/dist/metrics/application/startupHistogram.js +19 -0
- package/dist/metrics/application/startupHistogram.js.map +1 -0
- package/dist/metrics/application/stopped.d.ts +16 -0
- package/dist/metrics/application/stopped.js +40 -0
- package/dist/metrics/application/stopped.js.map +1 -0
- package/dist/metrics/base/base.d.ts +21 -0
- package/dist/metrics/base/base.js +64 -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 +54 -0
- package/dist/metrics/base/gauge.js.map +1 -0
- package/dist/metrics/base/null.d.ts +14 -0
- package/dist/metrics/base/null.js +34 -0
- package/dist/metrics/base/null.js.map +1 -0
- package/dist/metrics/dependencyBuilder.d.ts +19 -0
- package/dist/metrics/dependencyBuilder.js +58 -0
- package/dist/metrics/dependencyBuilder.js.map +1 -0
- package/dist/metrics/factory.d.ts +9 -0
- package/dist/metrics/factory.js +30 -0
- package/dist/metrics/factory.js.map +1 -0
- package/dist/metrics/factoryBuilder.d.ts +30 -0
- package/dist/metrics/factoryBuilder.js +189 -0
- package/dist/metrics/factoryBuilder.js.map +1 -0
- package/dist/metrics/layout/startup.d.ts +17 -0
- package/dist/metrics/layout/startup.js +77 -0
- package/dist/metrics/layout/startup.js.map +1 -0
- package/dist/metrics/layout/startupHistogram.d.ts +9 -0
- package/dist/metrics/layout/startupHistogram.js +19 -0
- package/dist/metrics/layout/startupHistogram.js.map +1 -0
- package/dist/metrics/manager.d.ts +17 -0
- package/dist/metrics/manager.js +114 -0
- package/dist/metrics/manager.js.map +1 -0
- package/dist/metrics/pipeline.d.ts +13 -0
- package/dist/metrics/pipeline.js +49 -0
- package/dist/metrics/pipeline.js.map +1 -0
- package/dist/metrics/platform/startup.d.ts +15 -0
- package/dist/metrics/platform/startup.js +63 -0
- package/dist/metrics/platform/startup.js.map +1 -0
- package/dist/metrics/settingsBuilder.d.ts +25 -0
- package/dist/metrics/settingsBuilder.js +230 -0
- package/dist/metrics/settingsBuilder.js.map +1 -0
- package/dist/metrics/system/cpu.d.ts +11 -0
- package/dist/metrics/system/cpu.js +38 -0
- package/dist/metrics/system/cpu.js.map +1 -0
- package/dist/metrics/system/memory.d.ts +11 -0
- package/dist/metrics/system/memory.js +39 -0
- package/dist/metrics/system/memory.js.map +1 -0
- package/dist/metrics/types.d.ts +95 -0
- package/dist/metrics/types.js +3 -0
- package/dist/metrics/types.js.map +1 -0
- package/dist/metrics/utils/nullMetricsManager.d.ts +5 -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/pipeline.d.ts +14 -0
- package/dist/pipeline.js +66 -0
- package/dist/pipeline.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 +25 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/nullManager.d.ts +6 -0
- package/dist/utils/nullManager.js +16 -0
- package/dist/utils/nullManager.js.map +1 -0
- package/dist/utils/validator.d.ts +3 -0
- package/dist/utils/validator.js +10 -0
- package/dist/utils/validator.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsFactoryBuilder = void 0;
|
|
4
|
+
const started_1 = require("./application/started");
|
|
5
|
+
const stopped_1 = require("./application/stopped");
|
|
6
|
+
const startup_1 = require("./application/startup");
|
|
7
|
+
const startupHistogram_1 = require("./application/startupHistogram");
|
|
8
|
+
const count_1 = require("./application/count");
|
|
9
|
+
const duration_1 = require("./application/duration");
|
|
10
|
+
const durationSum_1 = require("./application/durationSum");
|
|
11
|
+
const durationHistogram_1 = require("./application/durationHistogram");
|
|
12
|
+
const memory_1 = require("./application/memory");
|
|
13
|
+
const cpu_1 = require("./application/cpu");
|
|
14
|
+
const memory_2 = require("./system/memory");
|
|
15
|
+
const cpu_2 = require("./system/cpu");
|
|
16
|
+
const startup_2 = require("./layout/startup");
|
|
17
|
+
const startupHistogram_2 = require("./layout/startupHistogram");
|
|
18
|
+
const startup_3 = require("./platform/startup");
|
|
19
|
+
const factory_1 = require("./factory");
|
|
20
|
+
const validator_1 = require("../utils/validator");
|
|
21
|
+
class MetricsFactoryBuilder {
|
|
22
|
+
constructor(meter, userId, dependencyContainer, logger) {
|
|
23
|
+
this.metricsFactories = new Map();
|
|
24
|
+
this.metricsFactories = new Map();
|
|
25
|
+
this.meter = meter;
|
|
26
|
+
this.userId = userId;
|
|
27
|
+
this.dependencyContainer = dependencyContainer;
|
|
28
|
+
this.logger = logger;
|
|
29
|
+
this.throwIfNotPresent();
|
|
30
|
+
}
|
|
31
|
+
build() {
|
|
32
|
+
const metricsFactory = new factory_1.MetricsFactory(this.logger, this.metricsFactories);
|
|
33
|
+
return metricsFactory;
|
|
34
|
+
}
|
|
35
|
+
withDefaults() {
|
|
36
|
+
return this.withAppStarted()
|
|
37
|
+
.withAppStopped()
|
|
38
|
+
.withAppStartup()
|
|
39
|
+
.withAppStartupHistogram()
|
|
40
|
+
.withAppCount()
|
|
41
|
+
.withAppDuration()
|
|
42
|
+
.withAppDurationSum()
|
|
43
|
+
.withAppDurationHistogram()
|
|
44
|
+
.withAppMemory()
|
|
45
|
+
.withAppCPU()
|
|
46
|
+
.withSystemMemory()
|
|
47
|
+
.withSystemCPU()
|
|
48
|
+
.withLayoutStartup()
|
|
49
|
+
.withLayoutStartupHistogram()
|
|
50
|
+
.withPlatformStartup();
|
|
51
|
+
}
|
|
52
|
+
withCustomMetric(type, createFunc) {
|
|
53
|
+
this.metricsFactories.set(type, createFunc);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
withAppStarted() {
|
|
57
|
+
const func = (settings) => {
|
|
58
|
+
const metric = new started_1.ApplicationStartedMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceStartedHandler);
|
|
59
|
+
return metric;
|
|
60
|
+
};
|
|
61
|
+
this.metricsFactories.set("app_started", func.bind(this));
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
withAppStopped() {
|
|
65
|
+
const func = (settings) => {
|
|
66
|
+
const metric = new stopped_1.ApplicationStoppedMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceStoppedHandler);
|
|
67
|
+
return metric;
|
|
68
|
+
};
|
|
69
|
+
this.metricsFactories.set("app_stopped", func.bind(this));
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
withAppStartup() {
|
|
73
|
+
const func = (settings) => {
|
|
74
|
+
const metric = new startup_1.ApplicationStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceReadyHandler);
|
|
75
|
+
return metric;
|
|
76
|
+
};
|
|
77
|
+
this.metricsFactories.set("app_startup", func.bind(this));
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
withAppStartupHistogram() {
|
|
81
|
+
const func = (settings) => {
|
|
82
|
+
const metric = new startupHistogram_1.ApplicationStartupHistogramMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceReadyHandler);
|
|
83
|
+
return metric;
|
|
84
|
+
};
|
|
85
|
+
this.metricsFactories.set("app_startup_histogram", func.bind(this));
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
withAppCount() {
|
|
89
|
+
const func = (settings) => {
|
|
90
|
+
const metric = new count_1.ApplicationCountMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceStartedHandler, this.dependencyContainer.instanceStoppedHandler);
|
|
91
|
+
return metric;
|
|
92
|
+
};
|
|
93
|
+
this.metricsFactories.set("app_count", func.bind(this));
|
|
94
|
+
return this;
|
|
95
|
+
}
|
|
96
|
+
withAppDuration() {
|
|
97
|
+
const func = (settings) => {
|
|
98
|
+
const metric = new duration_1.ApplicationDurationMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
|
|
99
|
+
return metric;
|
|
100
|
+
};
|
|
101
|
+
this.metricsFactories.set("app_duration", func.bind(this));
|
|
102
|
+
return this;
|
|
103
|
+
}
|
|
104
|
+
withAppDurationSum() {
|
|
105
|
+
const func = (settings) => {
|
|
106
|
+
const metric = new durationSum_1.ApplicationDurationSumMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
|
|
107
|
+
return metric;
|
|
108
|
+
};
|
|
109
|
+
this.metricsFactories.set("app_duration_sum", func.bind(this));
|
|
110
|
+
return this;
|
|
111
|
+
}
|
|
112
|
+
withAppDurationHistogram() {
|
|
113
|
+
const func = (settings) => {
|
|
114
|
+
const metric = new durationHistogram_1.ApplicationDurationHistogramMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.instanceFocusedHandler);
|
|
115
|
+
return metric;
|
|
116
|
+
};
|
|
117
|
+
this.metricsFactories.set("app_duration_histogram", func.bind(this));
|
|
118
|
+
return this;
|
|
119
|
+
}
|
|
120
|
+
withAppMemory() {
|
|
121
|
+
const func = (settings) => {
|
|
122
|
+
const metric = new memory_1.ApplicationMemoryMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
|
|
123
|
+
return metric;
|
|
124
|
+
};
|
|
125
|
+
this.metricsFactories.set("app_memory", func.bind(this));
|
|
126
|
+
return this;
|
|
127
|
+
}
|
|
128
|
+
withAppCPU() {
|
|
129
|
+
const func = (settings) => {
|
|
130
|
+
const metric = new cpu_1.ApplicationCPUMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
|
|
131
|
+
return metric;
|
|
132
|
+
};
|
|
133
|
+
this.metricsFactories.set("app_cpu", func.bind(this));
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
136
|
+
withSystemMemory() {
|
|
137
|
+
const func = (settings) => {
|
|
138
|
+
const metric = new memory_2.SystemMemoryMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
|
|
139
|
+
return metric;
|
|
140
|
+
};
|
|
141
|
+
this.metricsFactories.set("system_memory", func.bind(this));
|
|
142
|
+
return this;
|
|
143
|
+
}
|
|
144
|
+
withSystemCPU() {
|
|
145
|
+
const func = (settings) => {
|
|
146
|
+
const metric = new cpu_2.SystemCPUMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.perfProvider);
|
|
147
|
+
return metric;
|
|
148
|
+
};
|
|
149
|
+
this.metricsFactories.set("system_cpu", func.bind(this));
|
|
150
|
+
return this;
|
|
151
|
+
}
|
|
152
|
+
withLayoutStartup() {
|
|
153
|
+
const func = (settings) => {
|
|
154
|
+
const metric = new startup_2.LayoutStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.layoutRestoredHandler);
|
|
155
|
+
return metric;
|
|
156
|
+
};
|
|
157
|
+
this.metricsFactories.set("layout_startup", func.bind(this));
|
|
158
|
+
return this;
|
|
159
|
+
}
|
|
160
|
+
withLayoutStartupHistogram() {
|
|
161
|
+
const func = (settings) => {
|
|
162
|
+
const metric = new startupHistogram_2.LayoutStartupHistogramMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.layoutRestoredHandler);
|
|
163
|
+
return metric;
|
|
164
|
+
};
|
|
165
|
+
this.metricsFactories.set("layout_startup_histogram", func.bind(this));
|
|
166
|
+
return this;
|
|
167
|
+
}
|
|
168
|
+
withPlatformStartup() {
|
|
169
|
+
const func = (settings) => {
|
|
170
|
+
const metric = new startup_3.PlatformStartupMetric(settings, this.meter, this.userId, this.logger, this.dependencyContainer.platformStartedHandler);
|
|
171
|
+
return metric;
|
|
172
|
+
};
|
|
173
|
+
this.metricsFactories.set("platform_startup", func.bind(this));
|
|
174
|
+
return this;
|
|
175
|
+
}
|
|
176
|
+
throwIfNotPresent() {
|
|
177
|
+
if (validator_1.Validator.isNullOrUndefined(this.logger)) {
|
|
178
|
+
throw new Error("logger must be provided");
|
|
179
|
+
}
|
|
180
|
+
if (validator_1.Validator.isNullOrUndefined(this.meter)) {
|
|
181
|
+
throw new Error("meter must be provided");
|
|
182
|
+
}
|
|
183
|
+
if (validator_1.Validator.isNullOrUndefined(this.dependencyContainer)) {
|
|
184
|
+
throw new Error("dependency container must be provided");
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.MetricsFactoryBuilder = MetricsFactoryBuilder;
|
|
189
|
+
//# sourceMappingURL=factoryBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factoryBuilder.js","sourceRoot":"","sources":["../../src/metrics/factoryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meter, ObservableResult } from "@opentelemetry/api";
|
|
2
|
+
import { GaugeMetricBase } from "../base/gauge";
|
|
3
|
+
import { TelemetryMetricLayoutData, LayoutRestoredHandler, TelemetryMetricSettings } from "../types";
|
|
4
|
+
import { TelemetryLogger } from "../../types";
|
|
5
|
+
export declare class LayoutStartupMetric extends GaugeMetricBase {
|
|
6
|
+
private layoutStartupTimes;
|
|
7
|
+
private layoutRestoredHandler;
|
|
8
|
+
private layoutRestoredUn;
|
|
9
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, layoutRestoredHandler: LayoutRestoredHandler);
|
|
10
|
+
protected subscribeCore(): Promise<void>;
|
|
11
|
+
protected observeCore(result: ObservableResult<TelemetryMetricLayoutData>): Promise<void>;
|
|
12
|
+
protected unsubscribeCore(): Promise<void>;
|
|
13
|
+
protected sendMetric(startupTimes: number[], data: TelemetryMetricLayoutData, result: ObservableResult<TelemetryMetricLayoutData>): void;
|
|
14
|
+
private observerCore;
|
|
15
|
+
private handleLayoutRestored;
|
|
16
|
+
private addRestoredTime;
|
|
17
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
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.LayoutStartupMetric = void 0;
|
|
13
|
+
const gauge_1 = require("../base/gauge");
|
|
14
|
+
class LayoutStartupMetric extends gauge_1.GaugeMetricBase {
|
|
15
|
+
constructor(settings, meter, userId, logger, layoutRestoredHandler) {
|
|
16
|
+
super(settings, meter, userId, logger);
|
|
17
|
+
// layout name -> [data, restore times]
|
|
18
|
+
this.layoutStartupTimes = new Map();
|
|
19
|
+
this.layoutRestoredHandler = layoutRestoredHandler;
|
|
20
|
+
}
|
|
21
|
+
subscribeCore() {
|
|
22
|
+
this.layoutRestoredUn = this.layoutRestoredHandler(this.handleLayoutRestored.bind(this));
|
|
23
|
+
return Promise.resolve();
|
|
24
|
+
}
|
|
25
|
+
observeCore(result) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
try {
|
|
28
|
+
this.layoutStartupTimes.forEach((kvp, layout) => {
|
|
29
|
+
const metrics = kvp[1];
|
|
30
|
+
if (metrics.length > 0) {
|
|
31
|
+
const data = kvp[0];
|
|
32
|
+
this.observerCore(metrics, data, result);
|
|
33
|
+
this.layoutStartupTimes.set(layout, [data, []]);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
this.logger.error(error);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
unsubscribeCore() {
|
|
43
|
+
this.layoutRestoredUn();
|
|
44
|
+
return Promise.resolve();
|
|
45
|
+
}
|
|
46
|
+
sendMetric(startupTimes, data, result) {
|
|
47
|
+
const slowest = Math.max(...startupTimes);
|
|
48
|
+
result.observe(slowest, data);
|
|
49
|
+
this.logger.debug(`metric ${this.name} sent slowest startup time ${slowest} for layout ${data.layout}`);
|
|
50
|
+
}
|
|
51
|
+
observerCore(startupTimes, data, result) {
|
|
52
|
+
this.sendMetric(startupTimes, data, result);
|
|
53
|
+
}
|
|
54
|
+
handleLayoutRestored(e) {
|
|
55
|
+
try {
|
|
56
|
+
this.logger.debug(`layout restored is being invoked for metric ${this.name}`);
|
|
57
|
+
const now = (new Date()).getTime();
|
|
58
|
+
const startupTime = now - e.startTime.getTime();
|
|
59
|
+
this.addRestoredTime(startupTime, e.layout);
|
|
60
|
+
this.logger.debug(`startup time ${startupTime} has been added for metric ${this.name}`);
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
this.logger.error(error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
addRestoredTime(time, layout) {
|
|
67
|
+
if (!this.layoutStartupTimes.has(layout)) {
|
|
68
|
+
const data = Object.assign({ layout }, this.getData());
|
|
69
|
+
this.layoutStartupTimes.set(layout, [data, []]);
|
|
70
|
+
}
|
|
71
|
+
const kvp = this.layoutStartupTimes.get(layout);
|
|
72
|
+
const metrics = kvp[1];
|
|
73
|
+
metrics.push(time);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.LayoutStartupMetric = LayoutStartupMetric;
|
|
77
|
+
//# sourceMappingURL=startup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/layout/startup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { LayoutStartupMetric } from "./startup";
|
|
3
|
+
import { TelemetryMetricLayoutData, LayoutRestoredHandler, TelemetryMetricSettings } from "../types";
|
|
4
|
+
import { TelemetryLogger } from "../../types";
|
|
5
|
+
export declare class LayoutStartupHistogramMetric extends LayoutStartupMetric {
|
|
6
|
+
private layoutStartupMetric;
|
|
7
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, layoutRestoredHandler: LayoutRestoredHandler);
|
|
8
|
+
protected sendMetric(startupTimes: number[], data: TelemetryMetricLayoutData): void;
|
|
9
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LayoutStartupHistogramMetric = void 0;
|
|
4
|
+
const startup_1 = require("./startup");
|
|
5
|
+
class LayoutStartupHistogramMetric extends startup_1.LayoutStartupMetric {
|
|
6
|
+
constructor(settings, meter, userId, logger, layoutRestoredHandler) {
|
|
7
|
+
super(settings, meter, userId, logger, layoutRestoredHandler);
|
|
8
|
+
const advice = { explicitBucketBoundaries: this.buckets };
|
|
9
|
+
this.layoutStartupMetric = this.meter.createHistogram(this.name, { description: this.description, unit: this.unit, advice });
|
|
10
|
+
}
|
|
11
|
+
sendMetric(startupTimes, data) {
|
|
12
|
+
startupTimes.forEach((time) => {
|
|
13
|
+
this.layoutStartupMetric.record(time, data);
|
|
14
|
+
this.logger.debug(`metric ${this.name} sent startup time ${time} for layout ${data.layout}`);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.LayoutStartupHistogramMetric = LayoutStartupHistogramMetric;
|
|
19
|
+
//# sourceMappingURL=startupHistogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../src/metrics/layout/startupHistogram.ts"],"names":[],"mappings":";;;AACA,uCAAgD;AAIhD,MAAa,4BAA6B,SAAQ,6BAAmB;IAGjE,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,qBAA4C;QAE5C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,EAAE,wBAAwB,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QAC1D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjI,CAAC;IAEkB,UAAU,CAAC,YAAsB,EAAE,IAA+B;QACjF,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,sBAAsB,IAAI,eAAe,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAtBD,oEAsBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TelemetryLogger } from "../types";
|
|
2
|
+
import { TelemetryMetric, TelemetryMetricsFactory, TelemetryMetricSettings, TelemetryMetricType, TelemetryMetricsManager } from "./types";
|
|
3
|
+
export declare class MetricsManager implements TelemetryMetricsManager {
|
|
4
|
+
settings: TelemetryMetricSettings[];
|
|
5
|
+
private metrics;
|
|
6
|
+
private factory;
|
|
7
|
+
private logger;
|
|
8
|
+
constructor(settings: TelemetryMetricSettings[], factory: TelemetryMetricsFactory, logger: TelemetryLogger);
|
|
9
|
+
get(type: TelemetryMetricType): TelemetryMetric | undefined;
|
|
10
|
+
start(): Promise<void>;
|
|
11
|
+
stop(): Promise<void>;
|
|
12
|
+
private createMetrics;
|
|
13
|
+
private createMetric;
|
|
14
|
+
private startMetric;
|
|
15
|
+
private stopMetric;
|
|
16
|
+
private throwIfNotPresent;
|
|
17
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
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 validator_1 = require("../utils/validator");
|
|
14
|
+
class MetricsManager {
|
|
15
|
+
constructor(settings, factory, logger) {
|
|
16
|
+
this.settings = settings;
|
|
17
|
+
this.metrics = new Map();
|
|
18
|
+
this.factory = factory;
|
|
19
|
+
this.logger = logger;
|
|
20
|
+
this.throwIfNotPresent();
|
|
21
|
+
}
|
|
22
|
+
get(type) {
|
|
23
|
+
const metric = this.metrics.get(type);
|
|
24
|
+
return metric;
|
|
25
|
+
}
|
|
26
|
+
start() {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
try {
|
|
29
|
+
this.metrics = this.createMetrics(this.settings);
|
|
30
|
+
for (const metricKvp of this.metrics) {
|
|
31
|
+
const metric = metricKvp[1];
|
|
32
|
+
yield this.startMetric(metric);
|
|
33
|
+
}
|
|
34
|
+
this.logger.info(`telemetry metrics manager has been started`);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
this.logger.error(error);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
stop() {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
try {
|
|
44
|
+
for (const metricKvp of this.metrics) {
|
|
45
|
+
const metric = metricKvp[1];
|
|
46
|
+
yield this.stopMetric(metric);
|
|
47
|
+
}
|
|
48
|
+
this.logger.info(`telemetry metrics manager has been stopped`);
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
this.logger.error(error);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
createMetrics(settings) {
|
|
56
|
+
const metrics = new Map();
|
|
57
|
+
settings.forEach((metricSettings) => {
|
|
58
|
+
const metric = this.createMetric(metricSettings);
|
|
59
|
+
if (metric) {
|
|
60
|
+
metrics.set(metric.type, metric);
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
return metrics;
|
|
64
|
+
}
|
|
65
|
+
createMetric(settings) {
|
|
66
|
+
try {
|
|
67
|
+
const metric = this.factory.create(settings);
|
|
68
|
+
return metric;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
this.logger.error(error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
startMetric(metric) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
try {
|
|
77
|
+
if (!metric.enabled) {
|
|
78
|
+
// metric can be started dynamically
|
|
79
|
+
this.logger.info(`metric ${metric.name} is disabled, will not start it.`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
yield metric.start();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
this.logger.error(error);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
stopMetric(metric) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
try {
|
|
93
|
+
// metric can be started dynamically, so stop it anyway
|
|
94
|
+
yield metric.stop();
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
this.logger.error(error);
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
throwIfNotPresent() {
|
|
102
|
+
if (validator_1.Validator.isNullOrUndefined(this.logger)) {
|
|
103
|
+
throw new Error("logger must be provided");
|
|
104
|
+
}
|
|
105
|
+
if (validator_1.Validator.isNullOrUndefined(this.settings)) {
|
|
106
|
+
throw new Error("settings must be provided");
|
|
107
|
+
}
|
|
108
|
+
if (validator_1.Validator.isNullOrUndefined(this.factory)) {
|
|
109
|
+
throw new Error("factory container must be provided");
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.MetricsManager = MetricsManager;
|
|
114
|
+
//# 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,13 @@
|
|
|
1
|
+
import { TelemetryLogger } from "../types";
|
|
2
|
+
import { TelemetryMetricsDependencyContainer, TelemetryMetricsManager, TelemetryMetricsSettings } from "./types";
|
|
3
|
+
export declare class MetricsPipeline {
|
|
4
|
+
private logger;
|
|
5
|
+
private settings;
|
|
6
|
+
private dependencyContainer;
|
|
7
|
+
create(): TelemetryMetricsManager;
|
|
8
|
+
addLogger(logger: TelemetryLogger): this;
|
|
9
|
+
addSettings(settings: TelemetryMetricsSettings): this;
|
|
10
|
+
addDependencies(container: TelemetryMetricsDependencyContainer): this;
|
|
11
|
+
private createCore;
|
|
12
|
+
private throwIfNotPresent;
|
|
13
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetricsPipeline = void 0;
|
|
4
|
+
const factoryBuilder_1 = require("./factoryBuilder");
|
|
5
|
+
const manager_1 = require("./manager");
|
|
6
|
+
const settingsBuilder_1 = require("./settingsBuilder");
|
|
7
|
+
const validator_1 = require("../utils/validator");
|
|
8
|
+
class MetricsPipeline {
|
|
9
|
+
create() {
|
|
10
|
+
this.throwIfNotPresent();
|
|
11
|
+
return this.createCore();
|
|
12
|
+
}
|
|
13
|
+
addLogger(logger) {
|
|
14
|
+
this.logger = logger;
|
|
15
|
+
return this;
|
|
16
|
+
}
|
|
17
|
+
addSettings(settings) {
|
|
18
|
+
this.settings = settings;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
addDependencies(container) {
|
|
22
|
+
this.dependencyContainer = container;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
createCore() {
|
|
26
|
+
const metricsSettings = new settingsBuilder_1.MetricsSettingsBuilder()
|
|
27
|
+
.withDefaults()
|
|
28
|
+
.withCustomMetrics(this.settings.metrics)
|
|
29
|
+
.build();
|
|
30
|
+
const factory = new factoryBuilder_1.MetricsFactoryBuilder(this.settings.meter, this.settings.userId, this.dependencyContainer, this.logger)
|
|
31
|
+
.withDefaults()
|
|
32
|
+
.build();
|
|
33
|
+
const manager = new manager_1.MetricsManager(metricsSettings, factory, this.logger);
|
|
34
|
+
return manager;
|
|
35
|
+
}
|
|
36
|
+
throwIfNotPresent() {
|
|
37
|
+
if (validator_1.Validator.isNullOrUndefined(this.logger)) {
|
|
38
|
+
throw new Error("logger must be provided");
|
|
39
|
+
}
|
|
40
|
+
if (validator_1.Validator.isNullOrUndefined(this.settings)) {
|
|
41
|
+
throw new Error("settings must be provided");
|
|
42
|
+
}
|
|
43
|
+
if (validator_1.Validator.isNullOrUndefined(this.dependencyContainer)) {
|
|
44
|
+
throw new Error("metrics dependency container must be provided");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.MetricsPipeline = MetricsPipeline;
|
|
49
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../src/metrics/pipeline.ts"],"names":[],"mappings":";;;AACA,qDAAyD;AACzD,uCAA2C;AAC3C,uDAA2D;AAE3D,kDAA+C;AAE/C,MAAa,eAAe;IAKjB,MAAM;QACT,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAEM,SAAS,CAAC,MAAuB;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,WAAW,CAAC,QAAkC;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,eAAe,CAAC,SAA8C;QACjE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,UAAU;QACd,MAAM,eAAe,GAAG,IAAI,wCAAsB,EAAE;aAC/C,YAAY,EAAE;aACd,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aACxC,KAAK,EAAE,CAAC;QAEb,MAAM,OAAO,GAAG,IAAI,sCAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC;aACtH,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;IAEO,iBAAiB;QACrB,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QACD,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAChD;QACD,IAAI,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YACvD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SACpE;IACL,CAAC;CACJ;AAlDD,0CAkDC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Meter, ObservableResult } from "@opentelemetry/api";
|
|
2
|
+
import { GaugeMetricBase } from "../base/gauge";
|
|
3
|
+
import { TelemetryMetricData, TelemetryMetricSettings, PlatformStartedHandler } from "../types";
|
|
4
|
+
import { TelemetryLogger } from "../../types";
|
|
5
|
+
export declare class PlatformStartupMetric extends GaugeMetricBase {
|
|
6
|
+
private startupTime;
|
|
7
|
+
private platformStartedHandler;
|
|
8
|
+
private applicationStartedUn;
|
|
9
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, platformStartedHandler: PlatformStartedHandler);
|
|
10
|
+
protected subscribeCore(): Promise<void>;
|
|
11
|
+
protected observeCore(result: ObservableResult<TelemetryMetricData>): Promise<void>;
|
|
12
|
+
protected unsubscribeCore(): Promise<void>;
|
|
13
|
+
private sendMetric;
|
|
14
|
+
private handlePlatformStarted;
|
|
15
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.PlatformStartupMetric = void 0;
|
|
13
|
+
const gauge_1 = require("../base/gauge");
|
|
14
|
+
const validator_1 = require("../../utils/validator");
|
|
15
|
+
class PlatformStartupMetric extends gauge_1.GaugeMetricBase {
|
|
16
|
+
constructor(settings, meter, userId, logger, platformStartedHandler) {
|
|
17
|
+
super(settings, meter, userId, logger);
|
|
18
|
+
this.platformStartedHandler = platformStartedHandler;
|
|
19
|
+
}
|
|
20
|
+
subscribeCore() {
|
|
21
|
+
this.applicationStartedUn = this.platformStartedHandler(this.handlePlatformStarted.bind(this));
|
|
22
|
+
return Promise.resolve();
|
|
23
|
+
}
|
|
24
|
+
observeCore(result) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
try {
|
|
27
|
+
if (!validator_1.Validator.isNullOrUndefined(this.startupTime)) {
|
|
28
|
+
const data = this.getData();
|
|
29
|
+
this.sendMetric(this.startupTime, data, result);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
this.logger.error(error);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
unsubscribeCore() {
|
|
38
|
+
this.applicationStartedUn();
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
}
|
|
41
|
+
sendMetric(startupTime, data, result) {
|
|
42
|
+
result.observe(startupTime, data);
|
|
43
|
+
this.logger.debug(`metric ${this.name} sent startup time ${startupTime}`);
|
|
44
|
+
}
|
|
45
|
+
handlePlatformStarted(e) {
|
|
46
|
+
try {
|
|
47
|
+
try {
|
|
48
|
+
this.logger.debug(`platform started is being invoked for metric ${this.name}`);
|
|
49
|
+
const now = (new Date()).getTime();
|
|
50
|
+
this.startupTime = now - e.startTime;
|
|
51
|
+
this.logger.debug(`start up time ${this.startupTime} has been added for metric ${this.name}`);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
this.logger.error(error);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
this.logger.error(error);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.PlatformStartupMetric = PlatformStartupMetric;
|
|
63
|
+
//# sourceMappingURL=startup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/platform/startup.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yCAAgD;AAGhD,qDAAkD;AAElD,MAAa,qBAAsB,SAAQ,uBAAe;IAMtD,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EACvB,sBAA8C;QAE9C,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACzD,CAAC;IAEkB,aAAa;QAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEwB,WAAW,CAAC,MAA6C;;YAC9E,IAAI;gBACA,IAAI,CAAC,qBAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;oBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;iBACnD;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC5B;QACL,CAAC;KAAA;IAEkB,eAAe;QAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,UAAU,CAAC,WAAmB,EAAE,IAAyB,EAAE,MAA6C;QAC5G,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,IAAI,sBAAsB,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAEO,qBAAqB,CAAC,CAAwB;QAClD,IAAI;YACA,IAAI;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE/E,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC;gBAErC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;aACjG;YAAC,OAAO,KAAK,EAAE;gBACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC5B;SACJ;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC5B;IACL,CAAC;CACJ;AA5DD,sDA4DC"}
|