@forge/metrics 0.1.1 → 0.1.2-next.0
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/CHANGELOG.md +6 -0
- package/out/internal/data-types.d.ts +9 -8
- package/out/internal/data-types.d.ts.map +1 -1
- package/out/internal/data-types.js +10 -12
- package/out/internal/index.d.ts +1 -13
- package/out/internal/index.d.ts.map +1 -1
- package/out/internal/index.js +2 -13
- package/out/internal/metrics.d.ts +15 -0
- package/out/internal/metrics.d.ts.map +1 -0
- package/out/internal/metrics.js +42 -0
- package/package.json +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -26,31 +26,32 @@ export declare class TimerDeadError extends Error {
|
|
|
26
26
|
constructor();
|
|
27
27
|
}
|
|
28
28
|
export declare class ExperimentalCounter implements Counter {
|
|
29
|
-
private name;
|
|
30
29
|
private readonly runtimeMetrics;
|
|
31
|
-
|
|
30
|
+
private readonly name;
|
|
31
|
+
constructor(runtimeMetrics: RuntimeMetrics, name: string);
|
|
32
32
|
incrBy(value: number): void;
|
|
33
33
|
incr(): void;
|
|
34
34
|
decrBy(value: number): void;
|
|
35
35
|
decr(): void;
|
|
36
36
|
}
|
|
37
37
|
export declare class ExperimentalGauge implements Gauge {
|
|
38
|
-
private name;
|
|
39
38
|
private readonly runtimeMetrics;
|
|
40
|
-
|
|
39
|
+
private readonly name;
|
|
40
|
+
constructor(runtimeMetrics: RuntimeMetrics, name: string);
|
|
41
41
|
set(value: number): void;
|
|
42
42
|
}
|
|
43
43
|
export declare class ExperimentalTimerStop implements TimerStop {
|
|
44
|
-
private timerName;
|
|
45
44
|
private readonly runtimeMetrics;
|
|
45
|
+
private readonly timerName;
|
|
46
46
|
private timerId;
|
|
47
47
|
private isAlive;
|
|
48
|
-
constructor(timerName: string);
|
|
48
|
+
constructor(runtimeMetrics: RuntimeMetrics, timerName: string);
|
|
49
49
|
stop(): void;
|
|
50
50
|
}
|
|
51
51
|
export declare class ExperimentalTimer implements Timer {
|
|
52
|
-
private
|
|
53
|
-
|
|
52
|
+
private readonly runtimeMetrics;
|
|
53
|
+
private readonly name;
|
|
54
|
+
constructor(runtimeMetrics: RuntimeMetrics, name: string);
|
|
54
55
|
measure(): ExperimentalTimerStop;
|
|
55
56
|
}
|
|
56
57
|
//# sourceMappingURL=data-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-types.d.ts","sourceRoot":"","sources":["../../src/internal/data-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,IAAI,SAAS,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"data-types.d.ts","sourceRoot":"","sources":["../../src/internal/data-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACvE,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,IAAI,IAAI,CAAC;IACb,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,KAAK;IACpB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,KAAK;IACpB,OAAO,IAAI,SAAS,CAAC;CACtB;AAED,qBAAa,wBAAyB,SAAQ,KAAK;;CAIlD;AAED,qBAAa,cAAe,SAAQ,KAAK;;CAIxC;AAED,qBAAa,mBAAoB,YAAW,OAAO;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAArD,cAAc,EAAE,cAAc,EAAmB,IAAI,EAAE,MAAM;IAE1F,MAAM,CAAC,KAAK,EAAE,MAAM;IAIpB,IAAI;IAIJ,MAAM,CAAC,KAAK,EAAE,MAAM;IAIpB,IAAI;CAGL;AAED,qBAAa,iBAAkB,YAAW,KAAK;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAArD,cAAc,EAAE,cAAc,EAAmB,IAAI,EAAE,MAAM;IAE1F,GAAG,CAAC,KAAK,EAAE,MAAM;CAGlB;AAED,qBAAa,qBAAsB,YAAW,SAAS;IAIzC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAHvF,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAS;gBAEK,cAAc,EAAE,cAAc,EAAmB,SAAS,EAAE,MAAM;IAK/F,IAAI;CAYL;AAED,qBAAa,iBAAkB,YAAW,KAAK;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAArD,cAAc,EAAE,cAAc,EAAmB,IAAI,EAAE,MAAM;IAE1F,OAAO;CAGR"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ExperimentalTimer = exports.ExperimentalTimerStop = exports.ExperimentalGauge = exports.ExperimentalCounter = exports.TimerDeadError = exports.TimerNotInitialisedError = void 0;
|
|
4
|
-
const getRuntimeMetrics = () => {
|
|
5
|
-
return global.api.internalMetrics;
|
|
6
|
-
};
|
|
7
4
|
class TimerNotInitialisedError extends Error {
|
|
8
5
|
constructor() {
|
|
9
6
|
super('Timer is not initialised');
|
|
@@ -17,9 +14,9 @@ class TimerDeadError extends Error {
|
|
|
17
14
|
}
|
|
18
15
|
exports.TimerDeadError = TimerDeadError;
|
|
19
16
|
class ExperimentalCounter {
|
|
20
|
-
constructor(name) {
|
|
17
|
+
constructor(runtimeMetrics, name) {
|
|
18
|
+
this.runtimeMetrics = runtimeMetrics;
|
|
21
19
|
this.name = name;
|
|
22
|
-
this.runtimeMetrics = getRuntimeMetrics();
|
|
23
20
|
}
|
|
24
21
|
incrBy(value) {
|
|
25
22
|
this.runtimeMetrics.invokeCounter('incr', this.name, value);
|
|
@@ -28,7 +25,7 @@ class ExperimentalCounter {
|
|
|
28
25
|
this.incrBy(1);
|
|
29
26
|
}
|
|
30
27
|
decrBy(value) {
|
|
31
|
-
|
|
28
|
+
this.runtimeMetrics.invokeCounter('decr', this.name, value);
|
|
32
29
|
}
|
|
33
30
|
decr() {
|
|
34
31
|
this.decrBy(1);
|
|
@@ -36,9 +33,9 @@ class ExperimentalCounter {
|
|
|
36
33
|
}
|
|
37
34
|
exports.ExperimentalCounter = ExperimentalCounter;
|
|
38
35
|
class ExperimentalGauge {
|
|
39
|
-
constructor(name) {
|
|
36
|
+
constructor(runtimeMetrics, name) {
|
|
37
|
+
this.runtimeMetrics = runtimeMetrics;
|
|
40
38
|
this.name = name;
|
|
41
|
-
this.runtimeMetrics = getRuntimeMetrics();
|
|
42
39
|
}
|
|
43
40
|
set(value) {
|
|
44
41
|
this.runtimeMetrics.invokeGauge(this.name, value);
|
|
@@ -46,9 +43,9 @@ class ExperimentalGauge {
|
|
|
46
43
|
}
|
|
47
44
|
exports.ExperimentalGauge = ExperimentalGauge;
|
|
48
45
|
class ExperimentalTimerStop {
|
|
49
|
-
constructor(timerName) {
|
|
46
|
+
constructor(runtimeMetrics, timerName) {
|
|
47
|
+
this.runtimeMetrics = runtimeMetrics;
|
|
50
48
|
this.timerName = timerName;
|
|
51
|
-
this.runtimeMetrics = getRuntimeMetrics();
|
|
52
49
|
this.timerId = null;
|
|
53
50
|
this.isAlive = false;
|
|
54
51
|
this.timerId = this.runtimeMetrics.invokeTimer('start', null, this.timerName);
|
|
@@ -67,11 +64,12 @@ class ExperimentalTimerStop {
|
|
|
67
64
|
}
|
|
68
65
|
exports.ExperimentalTimerStop = ExperimentalTimerStop;
|
|
69
66
|
class ExperimentalTimer {
|
|
70
|
-
constructor(name) {
|
|
67
|
+
constructor(runtimeMetrics, name) {
|
|
68
|
+
this.runtimeMetrics = runtimeMetrics;
|
|
71
69
|
this.name = name;
|
|
72
70
|
}
|
|
73
71
|
measure() {
|
|
74
|
-
return new ExperimentalTimerStop(this.name);
|
|
72
|
+
return new ExperimentalTimerStop(this.runtimeMetrics, this.name);
|
|
75
73
|
}
|
|
76
74
|
}
|
|
77
75
|
exports.ExperimentalTimer = ExperimentalTimer;
|
package/out/internal/index.d.ts
CHANGED
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export interface Metrics {
|
|
3
|
-
counter(name: string): Counter;
|
|
4
|
-
gauge(name: string): Gauge;
|
|
5
|
-
timer(name: string): Timer;
|
|
6
|
-
}
|
|
7
|
-
declare class ExperimentalMetrics implements Metrics {
|
|
8
|
-
counter(name: string): ExperimentalCounter;
|
|
9
|
-
gauge(name: string): ExperimentalGauge;
|
|
10
|
-
timer(name: string): ExperimentalTimer;
|
|
11
|
-
}
|
|
12
|
-
export declare const internalMetrics: ExperimentalMetrics;
|
|
13
|
-
export { Counter, Gauge, Timer };
|
|
1
|
+
export { internalMetrics, Counter, Gauge, Timer, Metrics } from './metrics';
|
|
14
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
package/out/internal/index.js
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.internalMetrics = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
counter(name) {
|
|
7
|
-
return new data_types_1.ExperimentalCounter(name);
|
|
8
|
-
}
|
|
9
|
-
gauge(name) {
|
|
10
|
-
return new data_types_1.ExperimentalGauge(name);
|
|
11
|
-
}
|
|
12
|
-
timer(name) {
|
|
13
|
-
return new data_types_1.ExperimentalTimer(name);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.internalMetrics = new ExperimentalMetrics();
|
|
4
|
+
var metrics_1 = require("./metrics");
|
|
5
|
+
Object.defineProperty(exports, "internalMetrics", { enumerable: true, get: function () { return metrics_1.internalMetrics; } });
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Counter, Gauge, Timer, ExperimentalTimer } from './data-types';
|
|
2
|
+
export interface Metrics {
|
|
3
|
+
counter(name: string): Counter;
|
|
4
|
+
gauge(name: string): Gauge;
|
|
5
|
+
timer(name: string): Timer;
|
|
6
|
+
}
|
|
7
|
+
declare class ExperimentalMetrics implements Metrics {
|
|
8
|
+
internalMetricName(name: string): string;
|
|
9
|
+
counter(name: string): import("packages/forge-util/packages/metrics-interface/dist").Counter;
|
|
10
|
+
gauge(name: string): import("packages/forge-util/packages/metrics-interface/dist").Gauge;
|
|
11
|
+
timer(name: string): ExperimentalTimer | import("packages/forge-util/packages/metrics-interface/dist").Timing;
|
|
12
|
+
}
|
|
13
|
+
export declare const internalMetrics: ExperimentalMetrics;
|
|
14
|
+
export { Counter, Gauge, Timer };
|
|
15
|
+
//# sourceMappingURL=metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/internal/metrics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,KAAK,EACL,KAAK,EAGL,iBAAiB,EAElB,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAMD,cAAM,mBAAoB,YAAW,OAAO;IAC1C,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIxC,OAAO,CAAC,IAAI,EAAE,MAAM;IASpB,KAAK,CAAC,IAAI,EAAE,MAAM;IASlB,KAAK,CAAC,IAAI,EAAE,MAAM;CAQnB;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.internalMetrics = void 0;
|
|
4
|
+
const api_1 = require("@forge/api");
|
|
5
|
+
const data_types_1 = require("./data-types");
|
|
6
|
+
function getRuntimeMetrics() {
|
|
7
|
+
var _a;
|
|
8
|
+
return (_a = global.api) === null || _a === void 0 ? void 0 : _a.internalMetrics;
|
|
9
|
+
}
|
|
10
|
+
class ExperimentalMetrics {
|
|
11
|
+
internalMetricName(name) {
|
|
12
|
+
return `internalAppMetrics.${name}`;
|
|
13
|
+
}
|
|
14
|
+
counter(name) {
|
|
15
|
+
const metrics = getRuntimeMetrics();
|
|
16
|
+
if (metrics) {
|
|
17
|
+
return new data_types_1.ExperimentalCounter(metrics, name);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return (0, api_1.getRuntime)().metrics.counter(this.internalMetricName(name));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
gauge(name) {
|
|
24
|
+
const metrics = getRuntimeMetrics();
|
|
25
|
+
if (metrics) {
|
|
26
|
+
return new data_types_1.ExperimentalGauge(metrics, name);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return (0, api_1.getRuntime)().metrics.gauge(this.internalMetricName(name));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
timer(name) {
|
|
33
|
+
const metrics = getRuntimeMetrics();
|
|
34
|
+
if (metrics) {
|
|
35
|
+
return new data_types_1.ExperimentalTimer(metrics, name);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return (0, api_1.getRuntime)().metrics.timing(this.internalMetricName(name));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.internalMetrics = new ExperimentalMetrics();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forge/metrics",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2-next.0",
|
|
4
4
|
"description": "Forge internal metrics",
|
|
5
5
|
"author": "Atlassian",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -10,5 +10,9 @@
|
|
|
10
10
|
"build": "yarn run clean && yarn run compile",
|
|
11
11
|
"clean": "rm -rf ./out && rm -f tsconfig.tsbuildinfo",
|
|
12
12
|
"compile": "tsc -b -v"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@forge/api": "2.13.0",
|
|
16
|
+
"@forge/runtime": "4.3.1"
|
|
13
17
|
}
|
|
14
18
|
}
|