@3sixty/telemetry-models 0.0.0-stage → 0.20.0-next.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/LICENSE +201 -0
- package/README.md +24 -2
- package/dist/es/connectors/multiTelemetryConnector.js +184 -0
- package/dist/es/connectors/multiTelemetryConnector.js.map +1 -0
- package/dist/es/connectors/silentTelemetryConnector.js +59 -0
- package/dist/es/connectors/silentTelemetryConnector.js.map +1 -0
- package/dist/es/factories/metricsProducerFactory.js +13 -0
- package/dist/es/factories/metricsProducerFactory.js.map +1 -0
- package/dist/es/factories/telemetryConnectorFactory.js +9 -0
- package/dist/es/factories/telemetryConnectorFactory.js.map +1 -0
- package/dist/es/helpers/metricHelper.js +139 -0
- package/dist/es/helpers/metricHelper.js.map +1 -0
- package/dist/es/index.js +30 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/models/IMetricsCollectorComponent.js +2 -0
- package/dist/es/models/IMetricsCollectorComponent.js.map +1 -0
- package/dist/es/models/IMetricsProducer.js +2 -0
- package/dist/es/models/IMetricsProducer.js.map +1 -0
- package/dist/es/models/IMultiTelemetryConnectorConstructorOptions.js +4 -0
- package/dist/es/models/IMultiTelemetryConnectorConstructorOptions.js.map +1 -0
- package/dist/es/models/ITelemetryComponent.js +2 -0
- package/dist/es/models/ITelemetryComponent.js.map +1 -0
- package/dist/es/models/ITelemetryConnector.js +2 -0
- package/dist/es/models/ITelemetryConnector.js.map +1 -0
- package/dist/es/models/ITelemetryMetric.js +2 -0
- package/dist/es/models/ITelemetryMetric.js.map +1 -0
- package/dist/es/models/ITelemetryMetricValue.js +4 -0
- package/dist/es/models/ITelemetryMetricValue.js.map +1 -0
- package/dist/es/models/ITelemetryMetricValueEntry.js +2 -0
- package/dist/es/models/ITelemetryMetricValueEntry.js.map +1 -0
- package/dist/es/models/api/ITelemetryAddMetricValueRequest.js +2 -0
- package/dist/es/models/api/ITelemetryAddMetricValueRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryCreateMetricRequest.js +2 -0
- package/dist/es/models/api/ITelemetryCreateMetricRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryGetMetricRequest.js +4 -0
- package/dist/es/models/api/ITelemetryGetMetricRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryGetMetricResponse.js +2 -0
- package/dist/es/models/api/ITelemetryGetMetricResponse.js.map +1 -0
- package/dist/es/models/api/ITelemetryGetMetricValueRequest.js +4 -0
- package/dist/es/models/api/ITelemetryGetMetricValueRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryGetMetricValueResponse.js +2 -0
- package/dist/es/models/api/ITelemetryGetMetricValueResponse.js.map +1 -0
- package/dist/es/models/api/ITelemetryListRequest.js +4 -0
- package/dist/es/models/api/ITelemetryListRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryListResponse.js +2 -0
- package/dist/es/models/api/ITelemetryListResponse.js.map +1 -0
- package/dist/es/models/api/ITelemetryRemoveMetricRequest.js +4 -0
- package/dist/es/models/api/ITelemetryRemoveMetricRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryUpdateMetricRequest.js +4 -0
- package/dist/es/models/api/ITelemetryUpdateMetricRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryValuesListRequest.js +4 -0
- package/dist/es/models/api/ITelemetryValuesListRequest.js.map +1 -0
- package/dist/es/models/api/ITelemetryValuesListResponse.js +2 -0
- package/dist/es/models/api/ITelemetryValuesListResponse.js.map +1 -0
- package/dist/es/models/metricCounterOperation.js +17 -0
- package/dist/es/models/metricCounterOperation.js.map +1 -0
- package/dist/es/models/metricType.js +21 -0
- package/dist/es/models/metricType.js.map +1 -0
- package/dist/types/connectors/multiTelemetryConnector.d.ts +124 -0
- package/dist/types/connectors/silentTelemetryConnector.d.ts +56 -0
- package/dist/types/factories/metricsProducerFactory.d.ts +10 -0
- package/dist/types/factories/telemetryConnectorFactory.d.ts +6 -0
- package/dist/types/helpers/metricHelper.d.ts +67 -0
- package/dist/types/index.d.ts +27 -0
- package/dist/types/models/IMetricsCollectorComponent.d.ts +6 -0
- package/dist/types/models/IMetricsProducer.d.ts +27 -0
- package/dist/types/models/IMultiTelemetryConnectorConstructorOptions.d.ts +9 -0
- package/dist/types/models/ITelemetryComponent.d.ts +109 -0
- package/dist/types/models/ITelemetryConnector.d.ts +109 -0
- package/dist/types/models/ITelemetryMetric.d.ts +31 -0
- package/dist/types/models/ITelemetryMetricValue.d.ts +23 -0
- package/dist/types/models/ITelemetryMetricValueEntry.d.ts +20 -0
- package/dist/types/models/api/ITelemetryAddMetricValueRequest.d.ts +30 -0
- package/dist/types/models/api/ITelemetryCreateMetricRequest.d.ts +11 -0
- package/dist/types/models/api/ITelemetryGetMetricRequest.d.ts +14 -0
- package/dist/types/models/api/ITelemetryGetMetricResponse.d.ts +20 -0
- package/dist/types/models/api/ITelemetryGetMetricValueRequest.d.ts +18 -0
- package/dist/types/models/api/ITelemetryGetMetricValueResponse.d.ts +10 -0
- package/dist/types/models/api/ITelemetryListRequest.d.ts +22 -0
- package/dist/types/models/api/ITelemetryListResponse.d.ts +19 -0
- package/dist/types/models/api/ITelemetryRemoveMetricRequest.d.ts +14 -0
- package/dist/types/models/api/ITelemetryUpdateMetricRequest.d.ts +31 -0
- package/dist/types/models/api/ITelemetryValuesListRequest.d.ts +35 -0
- package/dist/types/models/api/ITelemetryValuesListResponse.d.ts +24 -0
- package/dist/types/models/metricCounterOperation.d.ts +17 -0
- package/dist/types/models/metricType.d.ts +21 -0
- package/docs/changelog.md +9 -0
- package/docs/examples.md +142 -0
- package/docs/reference/classes/MetricHelper.md +232 -0
- package/docs/reference/classes/MultiTelemetryConnector.md +359 -0
- package/docs/reference/classes/SilentTelemetryConnector.md +193 -0
- package/docs/reference/index.md +42 -0
- package/docs/reference/interfaces/IMetricsCollectorComponent.md +7 -0
- package/docs/reference/interfaces/IMetricsProducer.md +45 -0
- package/docs/reference/interfaces/IMultiTelemetryConnectorConstructorOptions.md +11 -0
- package/docs/reference/interfaces/ITelemetryAddMetricValueRequest.md +41 -0
- package/docs/reference/interfaces/ITelemetryComponent.md +273 -0
- package/docs/reference/interfaces/ITelemetryConnector.md +273 -0
- package/docs/reference/interfaces/ITelemetryCreateMetricRequest.md +12 -0
- package/docs/reference/interfaces/ITelemetryGetMetricRequest.md +17 -0
- package/docs/reference/interfaces/ITelemetryGetMetricResponse.md +23 -0
- package/docs/reference/interfaces/ITelemetryGetMetricValueRequest.md +23 -0
- package/docs/reference/interfaces/ITelemetryGetMetricValueResponse.md +11 -0
- package/docs/reference/interfaces/ITelemetryListRequest.md +29 -0
- package/docs/reference/interfaces/ITelemetryListResponse.md +23 -0
- package/docs/reference/interfaces/ITelemetryMetric.md +52 -0
- package/docs/reference/interfaces/ITelemetryMetricValue.md +39 -0
- package/docs/reference/interfaces/ITelemetryMetricValueEntry.md +31 -0
- package/docs/reference/interfaces/ITelemetryRemoveMetricRequest.md +17 -0
- package/docs/reference/interfaces/ITelemetryUpdateMetricRequest.md +43 -0
- package/docs/reference/interfaces/ITelemetryValuesListRequest.md +49 -0
- package/docs/reference/interfaces/ITelemetryValuesListResponse.md +29 -0
- package/docs/reference/type-aliases/MetricCounterOperation.md +5 -0
- package/docs/reference/type-aliases/MetricType.md +5 -0
- package/docs/reference/variables/MetricCounterOperation.md +19 -0
- package/docs/reference/variables/MetricType.md +25 -0
- package/docs/reference/variables/MetricsProducerFactory.md +9 -0
- package/docs/reference/variables/TelemetryConnectorFactory.md +5 -0
- package/locales/en.json +7 -0
- package/package.json +51 -5
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Update a telemetry metric.
|
|
3
|
+
*/
|
|
4
|
+
export interface ITelemetryUpdateMetricRequest {
|
|
5
|
+
/**
|
|
6
|
+
* The path parameters.
|
|
7
|
+
*/
|
|
8
|
+
pathParams: {
|
|
9
|
+
/**
|
|
10
|
+
* The id of the metric.
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The data to be used in the update.
|
|
16
|
+
*/
|
|
17
|
+
body: {
|
|
18
|
+
/**
|
|
19
|
+
* The label of the metric.
|
|
20
|
+
*/
|
|
21
|
+
label: string;
|
|
22
|
+
/**
|
|
23
|
+
* The description of the metric.
|
|
24
|
+
*/
|
|
25
|
+
description?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The unit of the metric.
|
|
28
|
+
*/
|
|
29
|
+
unit?: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the a list of the telemetry values.
|
|
3
|
+
*/
|
|
4
|
+
export interface ITelemetryValuesListRequest {
|
|
5
|
+
/**
|
|
6
|
+
* The path parameters.
|
|
7
|
+
*/
|
|
8
|
+
pathParams: {
|
|
9
|
+
/**
|
|
10
|
+
* The id of the metric.
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The query parameters.
|
|
16
|
+
*/
|
|
17
|
+
query?: {
|
|
18
|
+
/**
|
|
19
|
+
* The start time of the metrics to retrieve as a timestamp in ms.
|
|
20
|
+
*/
|
|
21
|
+
timeStart?: string;
|
|
22
|
+
/**
|
|
23
|
+
* The end time of the metrics to retrieve as a timestamp in ms.
|
|
24
|
+
*/
|
|
25
|
+
timeEnd?: string;
|
|
26
|
+
/**
|
|
27
|
+
* The optional cursor to get next chunk.
|
|
28
|
+
*/
|
|
29
|
+
cursor?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Limit the number of entities to return.
|
|
32
|
+
*/
|
|
33
|
+
limit?: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ITelemetryMetric } from "../ITelemetryMetric.js";
|
|
2
|
+
import type { ITelemetryMetricValue } from "../ITelemetryMetricValue.js";
|
|
3
|
+
/**
|
|
4
|
+
* Response for telemetry list request.
|
|
5
|
+
*/
|
|
6
|
+
export interface ITelemetryValuesListResponse {
|
|
7
|
+
/**
|
|
8
|
+
* The response payload.
|
|
9
|
+
*/
|
|
10
|
+
body: {
|
|
11
|
+
/**
|
|
12
|
+
* The main metric details.
|
|
13
|
+
*/
|
|
14
|
+
metric: ITelemetryMetric;
|
|
15
|
+
/**
|
|
16
|
+
* The metric values.
|
|
17
|
+
*/
|
|
18
|
+
entities: ITelemetryMetricValue[];
|
|
19
|
+
/**
|
|
20
|
+
* An optional cursor, when defined can be used to call find to get more entities.
|
|
21
|
+
*/
|
|
22
|
+
cursor?: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The types of metric value operations for increment decrement counter metrics.
|
|
3
|
+
*/
|
|
4
|
+
export declare const MetricCounterOperation: {
|
|
5
|
+
/**
|
|
6
|
+
* Increment Counter.
|
|
7
|
+
*/
|
|
8
|
+
readonly Increment: "inc";
|
|
9
|
+
/**
|
|
10
|
+
* Decrement Counter.
|
|
11
|
+
*/
|
|
12
|
+
readonly Decrement: "dec";
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The types of metric counter operations.
|
|
16
|
+
*/
|
|
17
|
+
export type MetricCounterOperation = (typeof MetricCounterOperation)[keyof typeof MetricCounterOperation];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The types of metrics.
|
|
3
|
+
*/
|
|
4
|
+
export declare const MetricType: {
|
|
5
|
+
/**
|
|
6
|
+
* Counter.
|
|
7
|
+
*/
|
|
8
|
+
readonly Counter: 0;
|
|
9
|
+
/**
|
|
10
|
+
* Increment Decrement Counter.
|
|
11
|
+
*/
|
|
12
|
+
readonly IncDecCounter: 1;
|
|
13
|
+
/**
|
|
14
|
+
* Gauge.
|
|
15
|
+
*/
|
|
16
|
+
readonly Gauge: 2;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The types of metrics.
|
|
20
|
+
*/
|
|
21
|
+
export type MetricType = (typeof MetricType)[keyof typeof MetricType];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.20.0-next.1](https://github.com/3sixtyglobal/telemetry/compare/telemetry-models-v0.20.0-next.0...telemetry-models-v0.20.0-next.1) (2026-10-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* publish packages under the [@3sixty](https://github.com/3sixty) namespace ([e488a8c](https://github.com/3sixtyglobal/telemetry/commit/e488a8cbe26251de694077a0164af480cab61c3a))
|
|
9
|
+
* updated ts compile ([4490a7b](https://github.com/3sixtyglobal/telemetry/commit/4490a7b854bdea72a79946d2dbb708a47e81b56f))
|
package/docs/examples.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Telemetry Models Examples
|
|
2
|
+
|
|
3
|
+
These examples demonstrate how to compose telemetry connectors and use the shared telemetry contracts when building integrations.
|
|
4
|
+
|
|
5
|
+
## MultiTelemetryConnector
|
|
6
|
+
|
|
7
|
+
```typescript
|
|
8
|
+
import {
|
|
9
|
+
MetricType,
|
|
10
|
+
MultiTelemetryConnector,
|
|
11
|
+
SilentTelemetryConnector,
|
|
12
|
+
TelemetryConnectorFactory
|
|
13
|
+
} from '@3sixty/telemetry-models';
|
|
14
|
+
|
|
15
|
+
TelemetryConnectorFactory.register('silent-a', () => new SilentTelemetryConnector());
|
|
16
|
+
TelemetryConnectorFactory.register('silent-b', () => new SilentTelemetryConnector());
|
|
17
|
+
|
|
18
|
+
const multi = new MultiTelemetryConnector({
|
|
19
|
+
telemetryConnectorTypes: ['silent-a', 'silent-b']
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
console.log(multi.className()); // multiTelemetryConnector
|
|
23
|
+
|
|
24
|
+
await multi.createMetric({
|
|
25
|
+
id: 'heartbeat-total',
|
|
26
|
+
label: 'Heartbeat Total',
|
|
27
|
+
description: 'Number of heartbeats sent',
|
|
28
|
+
unit: 'events',
|
|
29
|
+
type: MetricType.Counter
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
await multi.updateMetric({
|
|
33
|
+
id: 'heartbeat-total',
|
|
34
|
+
label: 'Heartbeat Events',
|
|
35
|
+
description: 'Total heartbeats sent by all nodes',
|
|
36
|
+
unit: 'events'
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const metricValueId = await multi.addMetricValue('heartbeat-total', 'inc', {
|
|
40
|
+
nodeId: 'node-7'
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
console.log(metricValueId.length === 0); // true
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
import {
|
|
48
|
+
MetricType,
|
|
49
|
+
MultiTelemetryConnector,
|
|
50
|
+
SilentTelemetryConnector,
|
|
51
|
+
TelemetryConnectorFactory
|
|
52
|
+
} from '@3sixty/telemetry-models';
|
|
53
|
+
|
|
54
|
+
TelemetryConnectorFactory.register('silent-a', () => new SilentTelemetryConnector());
|
|
55
|
+
TelemetryConnectorFactory.register('silent-b', () => new SilentTelemetryConnector());
|
|
56
|
+
|
|
57
|
+
const multi = new MultiTelemetryConnector({
|
|
58
|
+
telemetryConnectorTypes: ['silent-a', 'silent-b']
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
await multi.removeMetric('heartbeat-total');
|
|
62
|
+
|
|
63
|
+
const counters = await multi.query(MetricType.Counter, undefined, 50);
|
|
64
|
+
console.log(counters.entities.length); // 0
|
|
65
|
+
|
|
66
|
+
const values = await multi.queryValues(
|
|
67
|
+
'heartbeat-total',
|
|
68
|
+
Date.now() - 86_400_000,
|
|
69
|
+
Date.now(),
|
|
70
|
+
undefined,
|
|
71
|
+
100
|
|
72
|
+
);
|
|
73
|
+
console.log(values.entities.length); // 0
|
|
74
|
+
|
|
75
|
+
const metric = await multi.getMetric('heartbeat-total');
|
|
76
|
+
console.log(metric.metric.id); // heartbeat-total
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## SilentTelemetryConnector
|
|
80
|
+
|
|
81
|
+
```typescript
|
|
82
|
+
import { MetricType, SilentTelemetryConnector } from '@3sixty/telemetry-models';
|
|
83
|
+
|
|
84
|
+
const silent = new SilentTelemetryConnector();
|
|
85
|
+
|
|
86
|
+
console.log(silent.className()); // silentTelemetryConnector
|
|
87
|
+
|
|
88
|
+
await silent.createMetric({
|
|
89
|
+
id: 'dropped-messages',
|
|
90
|
+
label: 'Dropped Messages',
|
|
91
|
+
type: MetricType.Counter
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
await silent.updateMetric({
|
|
95
|
+
id: 'dropped-messages',
|
|
96
|
+
label: 'Dropped Messages Total'
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
await silent.addMetricValue('dropped-messages', 1);
|
|
100
|
+
await silent.removeMetric('dropped-messages');
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
```typescript
|
|
104
|
+
import { SilentTelemetryConnector } from '@3sixty/telemetry-models';
|
|
105
|
+
|
|
106
|
+
const silent = new SilentTelemetryConnector();
|
|
107
|
+
|
|
108
|
+
try {
|
|
109
|
+
await silent.getMetric('dropped-messages');
|
|
110
|
+
} catch (error) {
|
|
111
|
+
if (error instanceof Error) {
|
|
112
|
+
console.log(error.name); // NotSupportedError
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
try {
|
|
117
|
+
await silent.query();
|
|
118
|
+
} catch (error) {
|
|
119
|
+
if (error instanceof Error) {
|
|
120
|
+
console.log(error.name); // NotSupportedError
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
try {
|
|
125
|
+
await silent.queryValues('dropped-messages');
|
|
126
|
+
} catch (error) {
|
|
127
|
+
if (error instanceof Error) {
|
|
128
|
+
console.log(error.name); // NotSupportedError
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## TelemetryConnectorFactory
|
|
134
|
+
|
|
135
|
+
```typescript
|
|
136
|
+
import { SilentTelemetryConnector, TelemetryConnectorFactory } from '@3sixty/telemetry-models';
|
|
137
|
+
|
|
138
|
+
TelemetryConnectorFactory.register('silent-default', () => new SilentTelemetryConnector());
|
|
139
|
+
|
|
140
|
+
const connector = TelemetryConnectorFactory.get('silent-default');
|
|
141
|
+
console.log(connector.className()); // silentTelemetryConnector
|
|
142
|
+
```
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
# Class: MetricHelper
|
|
2
|
+
|
|
3
|
+
Helper class for performing common metric operations, swallowing any errors from the telemetry component.
|
|
4
|
+
|
|
5
|
+
## Constructors
|
|
6
|
+
|
|
7
|
+
### Constructor
|
|
8
|
+
|
|
9
|
+
> **new MetricHelper**(): `MetricHelper`
|
|
10
|
+
|
|
11
|
+
#### Returns
|
|
12
|
+
|
|
13
|
+
`MetricHelper`
|
|
14
|
+
|
|
15
|
+
## Methods
|
|
16
|
+
|
|
17
|
+
### createMetrics() {#createmetrics}
|
|
18
|
+
|
|
19
|
+
> `static` **createMetrics**(`telemetryComponent`, `metrics`): `Promise`\<`void`\>
|
|
20
|
+
|
|
21
|
+
Create multiple metrics if they don't already exist, swallowing any already exists errors.
|
|
22
|
+
A convenience wrapper over createMetric for callers that always have a list.
|
|
23
|
+
|
|
24
|
+
#### Parameters
|
|
25
|
+
|
|
26
|
+
##### telemetryComponent
|
|
27
|
+
|
|
28
|
+
[`ITelemetryComponent`](../interfaces/ITelemetryComponent.md) \| `undefined`
|
|
29
|
+
|
|
30
|
+
The telemetry component to use for creating the metrics.
|
|
31
|
+
|
|
32
|
+
##### metrics
|
|
33
|
+
|
|
34
|
+
[`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]
|
|
35
|
+
|
|
36
|
+
The telemetry metrics to create.
|
|
37
|
+
|
|
38
|
+
#### Returns
|
|
39
|
+
|
|
40
|
+
`Promise`\<`void`\>
|
|
41
|
+
|
|
42
|
+
A promise that resolves when all metrics have been created or confirmed to exist.
|
|
43
|
+
|
|
44
|
+
***
|
|
45
|
+
|
|
46
|
+
### createMetric() {#createmetric}
|
|
47
|
+
|
|
48
|
+
> `static` **createMetric**(`telemetryComponent`, `metric`): `Promise`\<`void`\>
|
|
49
|
+
|
|
50
|
+
Create one or more metrics if they don't already exist, swallowing any already exists errors.
|
|
51
|
+
|
|
52
|
+
#### Parameters
|
|
53
|
+
|
|
54
|
+
##### telemetryComponent
|
|
55
|
+
|
|
56
|
+
[`ITelemetryComponent`](../interfaces/ITelemetryComponent.md) \| `undefined`
|
|
57
|
+
|
|
58
|
+
The telemetry component to use for creating the metrics.
|
|
59
|
+
|
|
60
|
+
##### metric
|
|
61
|
+
|
|
62
|
+
[`ITelemetryMetric`](../interfaces/ITelemetryMetric.md) \| [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]
|
|
63
|
+
|
|
64
|
+
The telemetry metric to create, or the metrics to create.
|
|
65
|
+
|
|
66
|
+
#### Returns
|
|
67
|
+
|
|
68
|
+
`Promise`\<`void`\>
|
|
69
|
+
|
|
70
|
+
A promise that resolves when the metrics have been created or confirmed to exist.
|
|
71
|
+
|
|
72
|
+
***
|
|
73
|
+
|
|
74
|
+
### metricIncrement() {#metricincrement}
|
|
75
|
+
|
|
76
|
+
> `static` **metricIncrement**(`telemetryComponent`, `id`, `customData?`, `onError?`): `Promise`\<`void`\>
|
|
77
|
+
|
|
78
|
+
Increment a metric counter, swallowing any telemetry errors.
|
|
79
|
+
|
|
80
|
+
#### Parameters
|
|
81
|
+
|
|
82
|
+
##### telemetryComponent
|
|
83
|
+
|
|
84
|
+
[`ITelemetryComponent`](../interfaces/ITelemetryComponent.md) \| `undefined`
|
|
85
|
+
|
|
86
|
+
The telemetry component to use for incrementing the metric.
|
|
87
|
+
|
|
88
|
+
##### id
|
|
89
|
+
|
|
90
|
+
`string`
|
|
91
|
+
|
|
92
|
+
The metric ID.
|
|
93
|
+
|
|
94
|
+
##### customData?
|
|
95
|
+
|
|
96
|
+
\{\[`key`: `string`\]: `unknown`; \}
|
|
97
|
+
|
|
98
|
+
Optional custom data for the increment.
|
|
99
|
+
|
|
100
|
+
##### onError?
|
|
101
|
+
|
|
102
|
+
(`err`) => `void` \| `Promise`\<`void`\>
|
|
103
|
+
|
|
104
|
+
Optional callback invoked with the swallowed error, for callers that want visibility.
|
|
105
|
+
|
|
106
|
+
#### Returns
|
|
107
|
+
|
|
108
|
+
`Promise`\<`void`\>
|
|
109
|
+
|
|
110
|
+
A promise that resolves when the increment has been recorded or the error swallowed.
|
|
111
|
+
|
|
112
|
+
***
|
|
113
|
+
|
|
114
|
+
### metricDecrement() {#metricdecrement}
|
|
115
|
+
|
|
116
|
+
> `static` **metricDecrement**(`telemetryComponent`, `id`, `customData?`, `onError?`): `Promise`\<`void`\>
|
|
117
|
+
|
|
118
|
+
Decrement a metric counter, swallowing any telemetry errors.
|
|
119
|
+
|
|
120
|
+
#### Parameters
|
|
121
|
+
|
|
122
|
+
##### telemetryComponent
|
|
123
|
+
|
|
124
|
+
[`ITelemetryComponent`](../interfaces/ITelemetryComponent.md) \| `undefined`
|
|
125
|
+
|
|
126
|
+
The telemetry component to use for decrementing the metric.
|
|
127
|
+
|
|
128
|
+
##### id
|
|
129
|
+
|
|
130
|
+
`string`
|
|
131
|
+
|
|
132
|
+
The metric ID.
|
|
133
|
+
|
|
134
|
+
##### customData?
|
|
135
|
+
|
|
136
|
+
\{\[`key`: `string`\]: `unknown`; \}
|
|
137
|
+
|
|
138
|
+
Optional custom data for the decrement.
|
|
139
|
+
|
|
140
|
+
##### onError?
|
|
141
|
+
|
|
142
|
+
(`err`) => `void` \| `Promise`\<`void`\>
|
|
143
|
+
|
|
144
|
+
Optional callback invoked with the swallowed error, for callers that want visibility.
|
|
145
|
+
|
|
146
|
+
#### Returns
|
|
147
|
+
|
|
148
|
+
`Promise`\<`void`\>
|
|
149
|
+
|
|
150
|
+
A promise that resolves when the decrement has been recorded or the error swallowed.
|
|
151
|
+
|
|
152
|
+
***
|
|
153
|
+
|
|
154
|
+
### metricValue() {#metricvalue}
|
|
155
|
+
|
|
156
|
+
> `static` **metricValue**(`telemetryComponent`, `id`, `value`, `customData?`, `onError?`): `Promise`\<`void`\>
|
|
157
|
+
|
|
158
|
+
Set a metric value, swallowing any telemetry errors.
|
|
159
|
+
|
|
160
|
+
#### Parameters
|
|
161
|
+
|
|
162
|
+
##### telemetryComponent
|
|
163
|
+
|
|
164
|
+
[`ITelemetryComponent`](../interfaces/ITelemetryComponent.md) \| `undefined`
|
|
165
|
+
|
|
166
|
+
The telemetry component to use for setting the metric value.
|
|
167
|
+
|
|
168
|
+
##### id
|
|
169
|
+
|
|
170
|
+
`string`
|
|
171
|
+
|
|
172
|
+
The metric ID.
|
|
173
|
+
|
|
174
|
+
##### value
|
|
175
|
+
|
|
176
|
+
`number`
|
|
177
|
+
|
|
178
|
+
The metric value to set.
|
|
179
|
+
|
|
180
|
+
##### customData?
|
|
181
|
+
|
|
182
|
+
\{\[`key`: `string`\]: `unknown`; \}
|
|
183
|
+
|
|
184
|
+
Optional custom data for setting the value.
|
|
185
|
+
|
|
186
|
+
##### onError?
|
|
187
|
+
|
|
188
|
+
(`err`) => `void` \| `Promise`\<`void`\>
|
|
189
|
+
|
|
190
|
+
Optional callback invoked with the swallowed error, for callers that want visibility.
|
|
191
|
+
|
|
192
|
+
#### Returns
|
|
193
|
+
|
|
194
|
+
`Promise`\<`void`\>
|
|
195
|
+
|
|
196
|
+
A promise that resolves when the value has been recorded or the error swallowed.
|
|
197
|
+
|
|
198
|
+
***
|
|
199
|
+
|
|
200
|
+
### metricValues() {#metricvalues}
|
|
201
|
+
|
|
202
|
+
> `static` **metricValues**(`telemetryComponent`, `values`, `onError?`): `Promise`\<`void`\>
|
|
203
|
+
|
|
204
|
+
Set several metric values at once, swallowing any telemetry errors.
|
|
205
|
+
Components which support it record the whole set in one operation, which for a persisted
|
|
206
|
+
connector is a single write rather than one per value.
|
|
207
|
+
|
|
208
|
+
#### Parameters
|
|
209
|
+
|
|
210
|
+
##### telemetryComponent
|
|
211
|
+
|
|
212
|
+
[`ITelemetryComponent`](../interfaces/ITelemetryComponent.md) \| `undefined`
|
|
213
|
+
|
|
214
|
+
The telemetry component to use for setting the metric values.
|
|
215
|
+
|
|
216
|
+
##### values
|
|
217
|
+
|
|
218
|
+
[`ITelemetryMetricValueEntry`](../interfaces/ITelemetryMetricValueEntry.md)[]
|
|
219
|
+
|
|
220
|
+
The metric values to set.
|
|
221
|
+
|
|
222
|
+
##### onError?
|
|
223
|
+
|
|
224
|
+
(`err`) => `void` \| `Promise`\<`void`\>
|
|
225
|
+
|
|
226
|
+
Optional callback invoked with the swallowed error, for callers that want visibility.
|
|
227
|
+
|
|
228
|
+
#### Returns
|
|
229
|
+
|
|
230
|
+
`Promise`\<`void`\>
|
|
231
|
+
|
|
232
|
+
A promise that resolves when the values have been recorded or the error swallowed.
|