@interopio/otel 0.0.4 → 0.0.6
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/metrics/application/count.js +8 -8
- package/dist/metrics/application/count.js.map +1 -1
- package/dist/metrics/application/cpu.d.ts +3 -3
- package/dist/metrics/application/cpu.js +1 -1
- package/dist/metrics/application/cpu.js.map +1 -1
- package/dist/metrics/application/duration.d.ts +20 -7
- package/dist/metrics/application/duration.js +89 -21
- package/dist/metrics/application/duration.js.map +1 -1
- package/dist/metrics/application/durationHistogram.d.ts +3 -3
- package/dist/metrics/application/durationHistogram.js +2 -2
- package/dist/metrics/application/durationHistogram.js.map +1 -1
- package/dist/metrics/application/memory.d.ts +3 -3
- package/dist/metrics/application/memory.js +1 -1
- package/dist/metrics/application/memory.js.map +1 -1
- package/dist/metrics/application/started.js +4 -4
- package/dist/metrics/application/started.js.map +1 -1
- package/dist/metrics/application/startupHistogram.d.ts +15 -5
- package/dist/metrics/application/startupHistogram.js +35 -8
- package/dist/metrics/application/startupHistogram.js.map +1 -1
- package/dist/metrics/application/stopped.js +4 -4
- package/dist/metrics/application/stopped.js.map +1 -1
- package/dist/metrics/base/base.d.ts +4 -2
- package/dist/metrics/base/base.js +15 -5
- package/dist/metrics/base/base.js.map +1 -1
- package/dist/metrics/base/gauge.d.ts +7 -7
- package/dist/metrics/base/gauge.js.map +1 -1
- package/dist/metrics/base/observable.d.ts +5 -5
- package/dist/metrics/base/observable.js.map +1 -1
- package/dist/metrics/dependencyBuilder.d.ts +5 -1
- package/dist/metrics/dependencyBuilder.js +12 -0
- package/dist/metrics/dependencyBuilder.js.map +1 -1
- package/dist/metrics/factoryBuilder.d.ts +2 -3
- package/dist/metrics/factoryBuilder.js +20 -30
- package/dist/metrics/factoryBuilder.js.map +1 -1
- package/dist/metrics/layout/startupHistogram.d.ts +15 -5
- package/dist/metrics/layout/startupHistogram.js +35 -8
- package/dist/metrics/layout/startupHistogram.js.map +1 -1
- package/dist/metrics/platform/startup.d.ts +2 -2
- package/dist/metrics/platform/startup.js +5 -5
- package/dist/metrics/platform/startup.js.map +1 -1
- package/dist/metrics/settingsBuilder.d.ts +2 -3
- package/dist/metrics/settingsBuilder.js +24 -36
- package/dist/metrics/settingsBuilder.js.map +1 -1
- package/dist/metrics/system/cpu.d.ts +1 -1
- package/dist/metrics/system/cpu.js.map +1 -1
- package/dist/metrics/system/memory.d.ts +1 -1
- package/dist/metrics/system/memory.js.map +1 -1
- package/dist/metrics/types.d.ts +27 -12
- package/dist/metrics/workspace/startup.d.ts +8 -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 +17 -0
- package/dist/metrics/workspace/stopped.js +46 -0
- package/dist/metrics/workspace/stopped.js.map +1 -0
- package/dist/validation/metrics/application/count.d.ts +3 -6
- package/dist/validation/metrics/application/count.js +6 -6
- package/dist/validation/metrics/application/count.js.map +1 -1
- package/dist/validation/metrics/application/duration.d.ts +3 -5
- package/dist/validation/metrics/application/duration.js +4 -4
- package/dist/validation/metrics/application/duration.js.map +1 -1
- package/dist/validation/metrics/application/started.d.ts +2 -3
- package/dist/validation/metrics/application/started.js +3 -3
- package/dist/validation/metrics/application/started.js.map +1 -1
- 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 +2 -3
- package/dist/validation/metrics/application/stopped.js +3 -3
- package/dist/validation/metrics/application/stopped.js.map +1 -1
- package/dist/validation/metrics/base/gauge.d.ts +2 -1
- package/dist/validation/metrics/base/gauge.js.map +1 -1
- package/dist/validation/metrics/layout/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/platform/startup.d.ts +2 -4
- package/dist/validation/metrics/platform/startup.js +4 -4
- package/dist/validation/metrics/platform/startup.js.map +1 -1
- 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/package.json +1 -1
- package/dist/metrics/application/durationBase.d.ts +0 -21
- package/dist/metrics/application/durationBase.js +0 -102
- package/dist/metrics/application/durationBase.js.map +0 -1
- package/dist/metrics/application/startup.d.ts +0 -8
- package/dist/metrics/application/startup.js +0 -29
- package/dist/metrics/application/startup.js.map +0 -1
- package/dist/metrics/application/startupBase.d.ts +0 -17
- package/dist/metrics/application/startupBase.js +0 -68
- package/dist/metrics/application/startupBase.js.map +0 -1
- package/dist/metrics/layout/startup.d.ts +0 -8
- package/dist/metrics/layout/startup.js +0 -29
- package/dist/metrics/layout/startup.js.map +0 -1
- package/dist/metrics/layout/startupBase.d.ts +0 -18
- package/dist/metrics/layout/startupBase.js +0 -71
- package/dist/metrics/layout/startupBase.js.map +0 -1
- package/dist/validation/metrics/application/startup.d.ts +0 -9
- package/dist/validation/metrics/application/startup.js +0 -18
- package/dist/validation/metrics/application/startup.js.map +0 -1
- package/dist/validation/metrics/layout/startup.d.ts +0 -9
- package/dist/validation/metrics/layout/startup.js +0 -18
- package/dist/validation/metrics/layout/startup.js.map +0 -1
package/dist/metrics/types.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface TelemetryMetricsDependencyContainer {
|
|
|
26
26
|
instanceReadyHandler: InstanceReadyHandler;
|
|
27
27
|
instanceFocusedHandler: InstanceFocusedHandler;
|
|
28
28
|
layoutRestoredHandler: LayoutRestoredHandler;
|
|
29
|
+
workspaceRestoredHandler: LayoutRestoredHandler;
|
|
30
|
+
workspaceStoppedHandler: WorkspaceActionHandler;
|
|
29
31
|
platformStartedHandler: PlatformStartedHandler;
|
|
30
32
|
}
|
|
31
33
|
export interface TelemetryMetricSettings {
|
|
@@ -37,9 +39,12 @@ export interface TelemetryMetricSettings {
|
|
|
37
39
|
buckets?: number[];
|
|
38
40
|
}
|
|
39
41
|
export interface TelemetryMetricData extends Attributes {
|
|
40
|
-
application?: string;
|
|
41
42
|
user: string;
|
|
42
43
|
}
|
|
44
|
+
export interface TelemetryMetricApplicationData extends TelemetryMetricData {
|
|
45
|
+
application: string;
|
|
46
|
+
api?: string;
|
|
47
|
+
}
|
|
43
48
|
export interface TelemetryMetricLayoutData extends TelemetryMetricData {
|
|
44
49
|
layout: string;
|
|
45
50
|
}
|
|
@@ -75,27 +80,37 @@ export interface PerformanceProvider {
|
|
|
75
80
|
getSystemCPU(): Promise<SystemCPU | undefined>;
|
|
76
81
|
getSystemMemory(): Promise<SystemMemory | undefined>;
|
|
77
82
|
}
|
|
78
|
-
export type TelemetryMetricType = "app_started" | "app_stopped" | "
|
|
83
|
+
export type TelemetryMetricType = "app_started" | "app_stopped" | "app_startup_histogram" | "app_count" | "app_duration_histogram" | "app_memory" | "app_cpu" | "platform_startup" | "system_memory" | "system_cpu" | "layout_startup_histogram" | "workspace_startup_histogram" | "workspace_stopped" | "null";
|
|
79
84
|
export type Un = () => void;
|
|
80
|
-
export
|
|
85
|
+
export interface InstanceActionHandlerArgs {
|
|
81
86
|
application: string;
|
|
82
|
-
}
|
|
83
|
-
export type
|
|
87
|
+
}
|
|
88
|
+
export type InstanceActionHandler = (callback: (args: InstanceActionHandlerArgs) => void) => Un;
|
|
89
|
+
export interface InstanceFocusedHandlerArgs {
|
|
84
90
|
application: string;
|
|
85
91
|
focused: boolean;
|
|
86
|
-
}
|
|
87
|
-
export type
|
|
92
|
+
}
|
|
93
|
+
export type InstanceFocusedHandler = (callback: (args: InstanceFocusedHandlerArgs) => void) => Un;
|
|
94
|
+
export interface LayoutRestoredHandlerArgs {
|
|
88
95
|
layout: string;
|
|
89
96
|
startTime: Date;
|
|
90
97
|
endTime: Date;
|
|
91
|
-
}
|
|
92
|
-
export type
|
|
98
|
+
}
|
|
99
|
+
export type LayoutRestoredHandler = (callback: (args: LayoutRestoredHandlerArgs) => void) => Un;
|
|
100
|
+
export interface WorkspaceActionHandlerArgs {
|
|
101
|
+
layout: string;
|
|
102
|
+
}
|
|
103
|
+
export type WorkspaceActionHandler = (callback: (args: WorkspaceActionHandlerArgs) => void) => Un;
|
|
104
|
+
export interface InstanceReadyHandlerArgs {
|
|
93
105
|
application: string;
|
|
94
106
|
startTime: Date;
|
|
95
107
|
endTime: Date;
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
api?: string;
|
|
109
|
+
}
|
|
110
|
+
export type InstanceReadyHandler = (callback: (args: InstanceReadyHandlerArgs) => void) => Un;
|
|
111
|
+
export interface PlatformStartedHandlerArgs {
|
|
98
112
|
startTime: Date;
|
|
99
113
|
endTime: Date;
|
|
100
|
-
}
|
|
114
|
+
}
|
|
115
|
+
export type PlatformStartedHandler = (callback: (args: PlatformStartedHandlerArgs) => void) => Un;
|
|
101
116
|
export type CreateTelemetryMetricFunc = (settings: TelemetryMetricSettings) => TelemetryMetric;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { LayoutRestoredHandler, TelemetryMetricSettings } from "../types";
|
|
3
|
+
import { TelemetryLogger } from "../../types";
|
|
4
|
+
import { LayoutStartupHistogramMetric } from "../layout/startupHistogram";
|
|
5
|
+
export declare class WorkspaceStartupHistogramMetric extends LayoutStartupHistogramMetric {
|
|
6
|
+
workspaceRestoredHandler: LayoutRestoredHandler;
|
|
7
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, workspaceRestoredHandler: LayoutRestoredHandler);
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkspaceStartupHistogramMetric = void 0;
|
|
4
|
+
const startupHistogram_1 = require("../layout/startupHistogram");
|
|
5
|
+
class WorkspaceStartupHistogramMetric extends startupHistogram_1.LayoutStartupHistogramMetric {
|
|
6
|
+
constructor(settings, meter, userId, logger, workspaceRestoredHandler) {
|
|
7
|
+
super(settings, meter, userId, logger, workspaceRestoredHandler);
|
|
8
|
+
this.workspaceRestoredHandler = workspaceRestoredHandler;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.WorkspaceStartupHistogramMetric = WorkspaceStartupHistogramMetric;
|
|
12
|
+
//# sourceMappingURL=startup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../src/metrics/workspace/startup.ts"],"names":[],"mappings":";;;AAGA,iEAA0E;AAE1E,MAAa,+BAAgC,SAAQ,+CAA4B;IAC7E,YACI,QAAiC,EACjC,KAAY,EACZ,MAAc,EACd,MAAuB,EAChB,wBAA+C;QAEtD,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,CAAC;QAF1D,6BAAwB,GAAxB,wBAAwB,CAAuB;IAG1D,CAAC;CACJ;AAVD,0EAUC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Meter } from "@opentelemetry/api";
|
|
2
|
+
import { TelemetryMetricSettings, WorkspaceActionHandler } from "../types";
|
|
3
|
+
import { TelemetryLogger } from "../../types";
|
|
4
|
+
import { MetricBase } from "../base/base";
|
|
5
|
+
export declare class WorkspaceStoppedMetric extends MetricBase {
|
|
6
|
+
meter: Meter;
|
|
7
|
+
workspaceActionHandler: WorkspaceActionHandler;
|
|
8
|
+
private workspaceStoppedMetric;
|
|
9
|
+
private workspaceStoppedUn;
|
|
10
|
+
private validator;
|
|
11
|
+
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, workspaceActionHandler: WorkspaceActionHandler);
|
|
12
|
+
protected createMetric(): Promise<void>;
|
|
13
|
+
protected subscribe(): Promise<void>;
|
|
14
|
+
protected unsubscribe(): Promise<void>;
|
|
15
|
+
protected destroyMetric(): Promise<void>;
|
|
16
|
+
private handleWorkspaceStopped;
|
|
17
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkspaceStoppedMetric = void 0;
|
|
4
|
+
const base_1 = require("../base/base");
|
|
5
|
+
const stopped_1 = require("../../validation/metrics/workspace/stopped");
|
|
6
|
+
class WorkspaceStoppedMetric extends base_1.MetricBase {
|
|
7
|
+
constructor(settings, meter, userId, logger, workspaceActionHandler) {
|
|
8
|
+
super(settings, userId, logger);
|
|
9
|
+
this.meter = meter;
|
|
10
|
+
this.workspaceActionHandler = workspaceActionHandler;
|
|
11
|
+
this.validator = new stopped_1.WorkspaceStoppedMetricValidator();
|
|
12
|
+
this.validator.validate(this);
|
|
13
|
+
}
|
|
14
|
+
createMetric() {
|
|
15
|
+
const name = this.settings.name;
|
|
16
|
+
const description = this.settings.description;
|
|
17
|
+
this.workspaceStoppedMetric = this.meter.createCounter(name, { description });
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
}
|
|
20
|
+
subscribe() {
|
|
21
|
+
this.workspaceStoppedUn = this.workspaceActionHandler(this.handleWorkspaceStopped.bind(this));
|
|
22
|
+
return Promise.resolve();
|
|
23
|
+
}
|
|
24
|
+
unsubscribe() {
|
|
25
|
+
this.workspaceStoppedUn();
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
destroyMetric() {
|
|
29
|
+
return Promise.resolve();
|
|
30
|
+
}
|
|
31
|
+
handleWorkspaceStopped(args) {
|
|
32
|
+
try {
|
|
33
|
+
this.validator.validateWorkspaceStopped(args);
|
|
34
|
+
this.logger.debug(`workspace stopped for layout ${args.layout} and metric ${this.settings.name} is being invoked`);
|
|
35
|
+
const data = this.getLayoutData(args.layout);
|
|
36
|
+
this.workspaceStoppedMetric.add(1, data);
|
|
37
|
+
this.logger.debug(`metric ${this.settings.name} sent 1 more for workspace layout ${data.layout}`);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
const message = `error while executing handleWorkspaceStopped for metric from type: ${this.settings.type}`;
|
|
41
|
+
this.logger.error(message, error);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.WorkspaceStoppedMetric = WorkspaceStoppedMetric;
|
|
46
|
+
//# sourceMappingURL=stopped.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../src/metrics/workspace/stopped.ts"],"names":[],"mappings":";;;AAGA,uCAA0C;AAC1C,wEAA6F;AAE7F,MAAa,sBAAuB,SAAQ,iBAAU;IAKlD,YACI,QAAiC,EAC1B,KAAY,EACnB,MAAc,EACd,MAAuB,EAChB,sBAA8C;QAErD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QALzB,UAAK,GAAL,KAAK,CAAO;QAGZ,2BAAsB,GAAtB,sBAAsB,CAAwB;QAGrD,IAAI,CAAC,SAAS,GAAG,IAAI,yCAA+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,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE9F,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,WAAW;QAC1B,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEkB,aAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAEO,sBAAsB,CAAC,IAAgC;QAC3D,IAAI;YACA,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,eAAe,IAAI,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC,CAAC;YAEnH,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,qCAAqC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;SACrG;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,OAAO,GAAG,sEAAsE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;IACL,CAAC;CACJ;AAxDD,wDAwDC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { ApplicationCountMetric } from "../../../metrics/application/count";
|
|
2
|
+
import { InstanceActionHandlerArgs } from "../../../metrics/types";
|
|
2
3
|
export declare class ApplicationCountMetricValidator {
|
|
3
4
|
validate(metric: ApplicationCountMetric): void;
|
|
4
|
-
validateInstanceStarted(
|
|
5
|
-
|
|
6
|
-
}): void;
|
|
7
|
-
validateInstanceStopped(e: {
|
|
8
|
-
application: string;
|
|
9
|
-
}): void;
|
|
5
|
+
validateInstanceStarted(args: InstanceActionHandlerArgs): void;
|
|
6
|
+
validateInstanceStopped(args: InstanceActionHandlerArgs): void;
|
|
10
7
|
}
|
|
@@ -8,13 +8,13 @@ class ApplicationCountMetricValidator {
|
|
|
8
8
|
validator_1.Validator.throwIfNullOrUndefined(metric.instanceStartedHandler, "instanceStartedHandler");
|
|
9
9
|
validator_1.Validator.throwIfNullOrUndefined(metric.instanceStoppedHandler, "instanceStoppedHandler");
|
|
10
10
|
}
|
|
11
|
-
validateInstanceStarted(
|
|
12
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
13
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
11
|
+
validateInstanceStarted(args) {
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
13
|
+
validator_1.Validator.throwIfNullOrUndefined(args.application, "application");
|
|
14
14
|
}
|
|
15
|
-
validateInstanceStopped(
|
|
16
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
17
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
15
|
+
validateInstanceStopped(args) {
|
|
16
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
17
|
+
validator_1.Validator.throwIfNullOrUndefined(args.application, "application");
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.ApplicationCountMetricValidator = ApplicationCountMetricValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/count.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/count.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,+BAA+B;IACjC,QAAQ,CAAC,MAA8B;QAC1C,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;QAC1F,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAC9F,CAAC;IAEM,uBAAuB,CAAC,IAA+B;QAC1D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAEM,uBAAuB,CAAC,IAA+B;QAC1D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;CACJ;AAhBD,0EAgBC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { ApplicationDurationMetricBase } from "../../../metrics/application/
|
|
1
|
+
import { ApplicationDurationMetricBase } from "../../../metrics/application/duration";
|
|
2
|
+
import { InstanceFocusedHandlerArgs } from "../../../metrics/types";
|
|
2
3
|
export declare class ApplicationDurationMetricValidator {
|
|
3
4
|
validate(metric: ApplicationDurationMetricBase): void;
|
|
4
|
-
validateFocusChanged(
|
|
5
|
-
application: string;
|
|
6
|
-
focused: boolean;
|
|
7
|
-
}): void;
|
|
5
|
+
validateFocusChanged(args: InstanceFocusedHandlerArgs): void;
|
|
8
6
|
}
|
|
@@ -7,10 +7,10 @@ class ApplicationDurationMetricValidator {
|
|
|
7
7
|
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
8
|
validator_1.Validator.throwIfNullOrUndefined(metric.instanceFocusHandler, "instanceFocusHandler");
|
|
9
9
|
}
|
|
10
|
-
validateFocusChanged(
|
|
11
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
12
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
13
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
10
|
+
validateFocusChanged(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.application, "application");
|
|
13
|
+
validator_1.Validator.throwIfNullOrUndefined(args.focused, "focused");
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.ApplicationDurationMetricValidator = ApplicationDurationMetricValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/duration.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"duration.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/duration.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,kCAAkC;IACpC,QAAQ,CAAC,MAAqC;QACjD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;IAC1F,CAAC;IAEM,oBAAoB,CAAC,IAAgC;QACxD,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAClE,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACJ;AAXD,gFAWC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ApplicationStartedMetric } from "../../../metrics/application/started";
|
|
2
|
+
import { InstanceActionHandlerArgs } from "../../../metrics/types";
|
|
2
3
|
export declare class ApplicationStartedMetricValidator {
|
|
3
4
|
validate(metric: ApplicationStartedMetric): void;
|
|
4
|
-
validateInstanceStarted(
|
|
5
|
-
application: string;
|
|
6
|
-
}): void;
|
|
5
|
+
validateInstanceStarted(args: InstanceActionHandlerArgs): void;
|
|
7
6
|
}
|
|
@@ -7,9 +7,9 @@ class ApplicationStartedMetricValidator {
|
|
|
7
7
|
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
8
|
validator_1.Validator.throwIfNullOrUndefined(metric.instanceStartedHandler, "instanceStartedHandler");
|
|
9
9
|
}
|
|
10
|
-
validateInstanceStarted(
|
|
11
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
12
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
10
|
+
validateInstanceStarted(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.application, "application");
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.ApplicationStartedMetricValidator = ApplicationStartedMetricValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"started.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/started.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"started.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/started.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,iCAAiC;IACnC,QAAQ,CAAC,MAAgC;QAC5C,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAC9F,CAAC;IAEM,uBAAuB,CAAC,IAA+B;QAC1D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;CACJ;AAVD,8EAUC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ApplicationStartupHistogramMetric } from "../../../metrics/application/startupHistogram";
|
|
2
|
+
import { InstanceReadyHandlerArgs } from "../../../metrics/types";
|
|
3
|
+
export declare class ApplicationStartupHistogramMetricValidator {
|
|
4
|
+
validate(metric: ApplicationStartupHistogramMetric): void;
|
|
5
|
+
validateInstanceReady(args: InstanceReadyHandlerArgs): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApplicationStartupHistogramMetricValidator = void 0;
|
|
4
|
+
const validator_1 = require("../../../utils/validator");
|
|
5
|
+
class ApplicationStartupHistogramMetricValidator {
|
|
6
|
+
validate(metric) {
|
|
7
|
+
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
|
+
validator_1.Validator.throwIfNullOrUndefined(metric.instanceReadyHandler, "instanceReadyHandler");
|
|
9
|
+
}
|
|
10
|
+
validateInstanceReady(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.application, "application");
|
|
13
|
+
validator_1.Validator.throwIfNullOrUndefined(args.startTime, "startTime");
|
|
14
|
+
validator_1.Validator.throwIfNullOrUndefined(args.endTime, "endTime");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.ApplicationStartupHistogramMetricValidator = ApplicationStartupHistogramMetricValidator;
|
|
18
|
+
//# sourceMappingURL=startupHistogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/startupHistogram.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,0CAA0C;IAC5C,QAAQ,CAAC,MAAyC;QACrD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC,CAAC;IAC1F,CAAC;IAEM,qBAAqB,CAAC,IAA8B;QACvD,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAClE,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACJ;AAZD,gGAYC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ApplicationStoppedMetric } from "../../../metrics/application/stopped";
|
|
2
|
+
import { InstanceActionHandlerArgs } from "../../../metrics/types";
|
|
2
3
|
export declare class ApplicationStoppedMetricValidator {
|
|
3
4
|
validate(metric: ApplicationStoppedMetric): void;
|
|
4
|
-
validateInstanceStopped(
|
|
5
|
-
application: string;
|
|
6
|
-
}): void;
|
|
5
|
+
validateInstanceStopped(args: InstanceActionHandlerArgs): void;
|
|
7
6
|
}
|
|
@@ -7,9 +7,9 @@ class ApplicationStoppedMetricValidator {
|
|
|
7
7
|
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
8
|
validator_1.Validator.throwIfNullOrUndefined(metric.instanceStoppedHandler, "instanceStoppedHandler");
|
|
9
9
|
}
|
|
10
|
-
validateInstanceStopped(
|
|
11
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
12
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
10
|
+
validateInstanceStopped(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.application, "application");
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.ApplicationStoppedMetricValidator = ApplicationStoppedMetricValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/stopped.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../../src/validation/metrics/application/stopped.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,iCAAiC;IACnC,QAAQ,CAAC,MAAgC;QAC5C,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAC9F,CAAC;IAEM,uBAAuB,CAAC,IAA+B;QAC1D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;CACJ;AAVD,8EAUC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { Attributes } from "@opentelemetry/api";
|
|
1
2
|
import { GaugeMetricBase } from "../../../metrics/base/gauge";
|
|
2
3
|
import { ObservableMetricBase } from "../../../metrics/base/observable";
|
|
3
4
|
export declare class GaugeMetricBaseValidator {
|
|
4
|
-
validate(base: GaugeMetricBase | ObservableMetricBase): void;
|
|
5
|
+
validate<TData extends Attributes>(base: GaugeMetricBase<TData> | ObservableMetricBase<TData>): void;
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../../src/validation/metrics/base/gauge.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../../src/validation/metrics/base/gauge.ts"],"names":[],"mappings":";;;AAGA,wDAAqD;AAErD,MAAa,wBAAwB;IAC1B,QAAQ,CAA2B,IAA0D;QAChG,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACJ;AALD,4DAKC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { LayoutStartupHistogramMetric } from "../../../metrics/layout/startupHistogram";
|
|
2
|
+
import { LayoutRestoredHandlerArgs } from "../../../metrics/types";
|
|
3
|
+
export declare class LayoutStartupMetricHistogramValidator {
|
|
4
|
+
validate(metric: LayoutStartupHistogramMetric): void;
|
|
5
|
+
validateLayoutRestored(args: LayoutRestoredHandlerArgs): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LayoutStartupMetricHistogramValidator = void 0;
|
|
4
|
+
const validator_1 = require("../../../utils/validator");
|
|
5
|
+
class LayoutStartupMetricHistogramValidator {
|
|
6
|
+
validate(metric) {
|
|
7
|
+
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
|
+
validator_1.Validator.throwIfNullOrUndefined(metric.layoutRestoredHandler, "layoutRestoredHandler");
|
|
9
|
+
}
|
|
10
|
+
validateLayoutRestored(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.layout, "layout");
|
|
13
|
+
validator_1.Validator.throwIfNullOrUndefined(args.startTime, "startTime");
|
|
14
|
+
validator_1.Validator.throwIfNullOrUndefined(args.endTime, "endTime");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.LayoutStartupMetricHistogramValidator = LayoutStartupMetricHistogramValidator;
|
|
18
|
+
//# sourceMappingURL=startupHistogram.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startupHistogram.js","sourceRoot":"","sources":["../../../../src/validation/metrics/layout/startupHistogram.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,qCAAqC;IACvC,QAAQ,CAAC,MAAoC;QAChD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,CAAC;IAC5F,CAAC;IAEM,sBAAsB,CAAC,IAA+B;QACzD,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACxD,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACJ;AAZD,sFAYC"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { PlatformStartupMetric } from "../../../metrics/platform/startup";
|
|
2
|
+
import { PlatformStartedHandlerArgs } from "../../../metrics/types";
|
|
2
3
|
export declare class PlatformStartupMetricValidator {
|
|
3
4
|
validate(metric: PlatformStartupMetric): void;
|
|
4
|
-
validatePlatformStarted(
|
|
5
|
-
startTime: Date;
|
|
6
|
-
endTime: Date;
|
|
7
|
-
}): void;
|
|
5
|
+
validatePlatformStarted(args: PlatformStartedHandlerArgs): void;
|
|
8
6
|
}
|
|
@@ -7,10 +7,10 @@ class PlatformStartupMetricValidator {
|
|
|
7
7
|
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
8
|
validator_1.Validator.throwIfNullOrUndefined(metric.platformStartedHandler, "platformStartedHandler");
|
|
9
9
|
}
|
|
10
|
-
validatePlatformStarted(
|
|
11
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
12
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
13
|
-
validator_1.Validator.throwIfNullOrUndefined(
|
|
10
|
+
validatePlatformStarted(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.startTime, "startTime");
|
|
13
|
+
validator_1.Validator.throwIfNullOrUndefined(args.endTime, "endTime");
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.PlatformStartupMetricValidator = PlatformStartupMetricValidator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../../src/validation/metrics/platform/startup.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../../../../src/validation/metrics/platform/startup.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,8BAA8B;IAChC,QAAQ,CAAC,MAA6B;QACzC,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAC9F,CAAC;IAEM,uBAAuB,CAAC,IAAgC;QAC3D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAC9D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;CACJ;AAXD,wEAWC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { WorkspaceActionHandlerArgs } from "../../../metrics/types";
|
|
2
|
+
import { WorkspaceStoppedMetric } from "../../../metrics/workspace/stopped";
|
|
3
|
+
export declare class WorkspaceStoppedMetricValidator {
|
|
4
|
+
validate(metric: WorkspaceStoppedMetric): void;
|
|
5
|
+
validateWorkspaceStopped(args: WorkspaceActionHandlerArgs): void;
|
|
6
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WorkspaceStoppedMetricValidator = void 0;
|
|
4
|
+
const validator_1 = require("../../../utils/validator");
|
|
5
|
+
class WorkspaceStoppedMetricValidator {
|
|
6
|
+
validate(metric) {
|
|
7
|
+
validator_1.Validator.throwIfNullOrUndefined(metric, "metric");
|
|
8
|
+
validator_1.Validator.throwIfNullOrUndefined(metric.workspaceActionHandler, "workspaceActionHandler");
|
|
9
|
+
}
|
|
10
|
+
validateWorkspaceStopped(args) {
|
|
11
|
+
validator_1.Validator.throwIfNullOrUndefined(args, "args");
|
|
12
|
+
validator_1.Validator.throwIfNullOrUndefined(args.layout, "layout");
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.WorkspaceStoppedMetricValidator = WorkspaceStoppedMetricValidator;
|
|
16
|
+
//# sourceMappingURL=stopped.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopped.js","sourceRoot":"","sources":["../../../../src/validation/metrics/workspace/stopped.ts"],"names":[],"mappings":";;;AAEA,wDAAqD;AAErD,MAAa,+BAA+B;IACjC,QAAQ,CAAC,MAA8B;QAC1C,qBAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACnD,qBAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC,CAAC;IAC9F,CAAC;IAEM,wBAAwB,CAAC,IAAgC;QAC5D,qBAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,qBAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;CACJ;AAVD,0EAUC"}
|
package/package.json
CHANGED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Meter } from "@opentelemetry/api";
|
|
2
|
-
import { TelemetryMetricData, InstanceFocusedHandler, TelemetryMetricSettings } from "../types";
|
|
3
|
-
import { TelemetryLogger } from "../../types";
|
|
4
|
-
import { ObservableMetricBase } from "../base/observable";
|
|
5
|
-
export declare abstract class ApplicationDurationMetricBase extends ObservableMetricBase {
|
|
6
|
-
instanceFocusHandler: InstanceFocusedHandler;
|
|
7
|
-
private focusedTimes;
|
|
8
|
-
private currentFocusedApp?;
|
|
9
|
-
private unInstanceFocusHandler;
|
|
10
|
-
private validator;
|
|
11
|
-
constructor(settings: TelemetryMetricSettings, meter: Meter, userId: string, logger: TelemetryLogger, instanceFocusHandler: InstanceFocusedHandler);
|
|
12
|
-
protected subscribeCore(): Promise<void>;
|
|
13
|
-
protected observeCore(): Promise<void>;
|
|
14
|
-
protected unsubscribeCore(): Promise<void>;
|
|
15
|
-
protected abstract sendMetric(focusedPeriods: number[], data: TelemetryMetricData): void;
|
|
16
|
-
private handleFocusChanged;
|
|
17
|
-
private handleFocusChangedCore;
|
|
18
|
-
private handleGotFocus;
|
|
19
|
-
private handleLostFocus;
|
|
20
|
-
private addFocusLostEventCore;
|
|
21
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ApplicationDurationMetricBase = void 0;
|
|
4
|
-
const validator_1 = require("../../utils/validator");
|
|
5
|
-
const duration_1 = require("../../validation/metrics/application/duration");
|
|
6
|
-
const observable_1 = require("../base/observable");
|
|
7
|
-
class ApplicationDurationMetricBase extends observable_1.ObservableMetricBase {
|
|
8
|
-
constructor(settings, meter, userId, logger, instanceFocusHandler) {
|
|
9
|
-
super(settings, meter, userId, logger);
|
|
10
|
-
this.instanceFocusHandler = instanceFocusHandler;
|
|
11
|
-
// application -> focused times for a given period
|
|
12
|
-
this.focusedTimes = new Map();
|
|
13
|
-
this.validator = new duration_1.ApplicationDurationMetricValidator();
|
|
14
|
-
this.validator.validate(this);
|
|
15
|
-
}
|
|
16
|
-
subscribeCore() {
|
|
17
|
-
this.unInstanceFocusHandler = this.instanceFocusHandler(this.handleFocusChanged.bind(this));
|
|
18
|
-
return Promise.resolve();
|
|
19
|
-
}
|
|
20
|
-
observeCore() {
|
|
21
|
-
const hasFocusedApp = this.currentFocusedApp !== undefined;
|
|
22
|
-
const currentFocusedApp = hasFocusedApp ? this.currentFocusedApp.name : undefined;
|
|
23
|
-
if (hasFocusedApp) {
|
|
24
|
-
this.handleFocusChanged({ application: currentFocusedApp, focused: false });
|
|
25
|
-
}
|
|
26
|
-
this.focusedTimes.forEach((focusedPeriods, application) => {
|
|
27
|
-
const data = this.getData(application);
|
|
28
|
-
this.sendMetric(focusedPeriods, data);
|
|
29
|
-
focusedPeriods.splice(0);
|
|
30
|
-
});
|
|
31
|
-
if (hasFocusedApp) {
|
|
32
|
-
this.handleFocusChanged({ application: currentFocusedApp, focused: true });
|
|
33
|
-
}
|
|
34
|
-
return Promise.resolve();
|
|
35
|
-
}
|
|
36
|
-
unsubscribeCore() {
|
|
37
|
-
this.unInstanceFocusHandler();
|
|
38
|
-
return Promise.resolve();
|
|
39
|
-
}
|
|
40
|
-
// protected sendMetric(focusedPeriods: number[], data: TelemetryMetricData, result: ObservableResult<TelemetryMetricData>): void {
|
|
41
|
-
// const focusedTime = focusedPeriods.length === 0 ? 0 : focusedPeriods.reduce((prev, current) => prev + current);
|
|
42
|
-
// result.observe(focusedTime, data);
|
|
43
|
-
// this.logger.debug(`metric ${this.settings.name} sent focused time ${focusedTime} for app ${data.application}`);
|
|
44
|
-
// }
|
|
45
|
-
handleFocusChanged(e) {
|
|
46
|
-
try {
|
|
47
|
-
this.validator.validateFocusChanged(e);
|
|
48
|
-
this.logger.debug(`focused changed is being invoked for metric ${this.settings.name} with ${JSON.stringify(e)}`);
|
|
49
|
-
return this.handleFocusChangedCore(e);
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
const message = `error while executing handleFocusChanges for metric from type: ${this.settings.type}`;
|
|
53
|
-
this.logger.error(message, error);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
handleFocusChangedCore(e) {
|
|
57
|
-
const focused = e.focused;
|
|
58
|
-
const application = e.application;
|
|
59
|
-
if (focused) {
|
|
60
|
-
this.handleGotFocus(application);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
try {
|
|
64
|
-
this.handleLostFocus(application);
|
|
65
|
-
}
|
|
66
|
-
finally {
|
|
67
|
-
this.currentFocusedApp = undefined;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
handleGotFocus(application) {
|
|
72
|
-
const now = new Date().getTime();
|
|
73
|
-
this.currentFocusedApp = { name: application, gotFocusTime: now };
|
|
74
|
-
if (!this.focusedTimes.has(this.currentFocusedApp.name)) {
|
|
75
|
-
this.focusedTimes.set(this.currentFocusedApp.name, []);
|
|
76
|
-
}
|
|
77
|
-
this.logger.debug(`got focus event has been added for metric ${this.settings.name}`);
|
|
78
|
-
}
|
|
79
|
-
handleLostFocus(application) {
|
|
80
|
-
if (validator_1.Validator.isNullOrUndefined(this.currentFocusedApp)) {
|
|
81
|
-
throw new Error(`cannot handle focus lost for application ${application} since there is no previous got focus event`);
|
|
82
|
-
}
|
|
83
|
-
const currentFocusedApp = this.currentFocusedApp.name;
|
|
84
|
-
const gotFocusTime = this.currentFocusedApp.gotFocusTime;
|
|
85
|
-
if (application !== currentFocusedApp) {
|
|
86
|
-
throw new Error(`cannot handle focus lost for application ${application} since the previous got focus event had come from application ${currentFocusedApp}`);
|
|
87
|
-
}
|
|
88
|
-
if (!this.focusedTimes.has(application)) {
|
|
89
|
-
throw new Error(`there is no got focus event for ${application}`);
|
|
90
|
-
}
|
|
91
|
-
this.addFocusLostEventCore(currentFocusedApp, gotFocusTime);
|
|
92
|
-
this.logger.debug(`lost focus event has been added for metric ${this.settings.name}`);
|
|
93
|
-
}
|
|
94
|
-
addFocusLostEventCore(application, gotFocusTime) {
|
|
95
|
-
const now = new Date().getTime();
|
|
96
|
-
const focusedTime = (now - gotFocusTime);
|
|
97
|
-
const focusedTimes = this.focusedTimes.get(application);
|
|
98
|
-
focusedTimes.push(focusedTime);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
exports.ApplicationDurationMetricBase = ApplicationDurationMetricBase;
|
|
102
|
-
//# sourceMappingURL=durationBase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"durationBase.js","sourceRoot":"","sources":["../../../src/metrics/application/durationBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ApplicationStartupMetricBase } from "./startupBase";
|
|
2
|
-
import { TelemetryMetricData } from "../types";
|
|
3
|
-
export declare class ApplicationStartupMetric extends ApplicationStartupMetricBase {
|
|
4
|
-
private lastMetrics;
|
|
5
|
-
private appStartupMetric;
|
|
6
|
-
protected createMetricCore(): Promise<void>;
|
|
7
|
-
protected sendMetric(startupTimes: number[], data: TelemetryMetricData): void;
|
|
8
|
-
}
|