@forge/metrics 0.1.1-next.8 → 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 CHANGED
@@ -1,5 +1,87 @@
1
1
  # @forge/metrics
2
2
 
3
+ ## 0.1.2-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 5176a36: Implement internal metrics on Node runtime
8
+
9
+ ## 0.1.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 61d41c6: Bumping dependencies via Renovate:
14
+
15
+ - @types/react-reconciler
16
+
17
+ - ba6d381: Bumping dependencies via Renovate:
18
+
19
+ - @types/cross-spawn
20
+
21
+ - 4a070c4: Bumping dependencies via Renovate:
22
+
23
+ - command-exists
24
+
25
+ - 37eee39: Bumping dependencies via Renovate:
26
+
27
+ - ajv
28
+
29
+ - 444ada4: Bumping dependencies via Renovate:
30
+
31
+ - @changesets/types
32
+
33
+ - 66da5d9: Bumping dependencies via Renovate:
34
+
35
+ - conf
36
+
37
+ - decbf80: Bumping dependencies via Renovate:
38
+
39
+ - @types/react
40
+
41
+ - 2b1589f: Bumping dependencies via Renovate:
42
+
43
+ - @types/minimatch
44
+
45
+ - 6386221: Bumping dependencies via Renovate:
46
+
47
+ - @types/lodash
48
+
49
+ - 203f465: Bumping dependencies via Renovate:
50
+
51
+ - @types/inquirer
52
+
53
+ - 51d8225: Bumping dependencies via Renovate:
54
+
55
+ - @types/xml
56
+
57
+ - c810119: Bumping dependencies via Renovate:
58
+
59
+ - @atlassian/logger-interface
60
+
61
+ - d6d7226: Bumping dependencies via Renovate:
62
+
63
+ - @types/history
64
+
65
+ - 5d6f948: Bumping dependencies via Renovate:
66
+
67
+ - @changesets/apply-release-plan
68
+
69
+ - 0d52cdb: Bumping dependencies via Renovate:
70
+
71
+ - @types/uuid
72
+
73
+ - 1508104: Bumping dependencies via Renovate:
74
+
75
+ - @types/cheerio
76
+
77
+ - ff5d0f8: Bumping dependencies via Renovate:
78
+
79
+ - @types/supertest
80
+
81
+ - 8970da8: Bumping dependencies via Renovate:
82
+
83
+ - @types/concat-stream
84
+
3
85
  ## 0.1.1-next.8
4
86
 
5
87
  ### Patch Changes
@@ -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
- constructor(name: string);
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
- constructor(name: string);
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 name;
53
- constructor(name: string);
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;AAMD,qBAAa,wBAAyB,SAAQ,KAAK;;CAIlD;AAED,qBAAa,cAAe,SAAQ,KAAK;;CAIxC;AAED,qBAAa,mBAAoB,YAAW,OAAO;IAGrC,OAAO,CAAC,IAAI;IAFxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAElC,IAAI,EAAE,MAAM;IAEhC,MAAM,CAAC,KAAK,EAAE,MAAM;IAIpB,IAAI;IAIJ,MAAM,CAAC,KAAK,EAAE,MAAM;IAIpB,IAAI;CAGL;AAED,qBAAa,iBAAkB,YAAW,KAAK;IAGjC,OAAO,CAAC,IAAI;IAFxB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;gBAElC,IAAI,EAAE,MAAM;IAEhC,GAAG,CAAC,KAAK,EAAE,MAAM;CAGlB;AAED,qBAAa,qBAAsB,YAAW,SAAS;IAKzC,OAAO,CAAC,SAAS;IAJ7B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuB;IACtD,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,OAAO,CAAS;gBAEJ,SAAS,EAAE,MAAM;IAKrC,IAAI;CAYL;AAED,qBAAa,iBAAkB,YAAW,KAAK;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,MAAM;IAEhC,OAAO;CAGR"}
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
- global.api.internalMetrics.invokeCounter('decr', this.name, value);
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;
@@ -1,14 +1,2 @@
1
- import { Counter, ExperimentalCounter, ExperimentalGauge, ExperimentalTimer, Gauge, Timer } 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
- 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,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEhH,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;AAED,cAAM,mBAAoB,YAAW,OAAO;IAC1C,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,KAAK,CAAC,IAAI,EAAE,MAAM;IAIlB,KAAK,CAAC,IAAI,EAAE,MAAM;CAGnB;AAED,eAAO,MAAM,eAAe,qBAA4B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
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"}
@@ -1,16 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.internalMetrics = void 0;
4
- const data_types_1 = require("./data-types");
5
- class ExperimentalMetrics {
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.1-next.8",
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
  }