@3sixty/telemetry-models 0.0.0-stage → 0.20.0-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.
Files changed (120) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +24 -2
  3. package/dist/es/connectors/multiTelemetryConnector.js +184 -0
  4. package/dist/es/connectors/multiTelemetryConnector.js.map +1 -0
  5. package/dist/es/connectors/silentTelemetryConnector.js +57 -0
  6. package/dist/es/connectors/silentTelemetryConnector.js.map +1 -0
  7. package/dist/es/factories/metricsProducerFactory.js +13 -0
  8. package/dist/es/factories/metricsProducerFactory.js.map +1 -0
  9. package/dist/es/factories/telemetryConnectorFactory.js +9 -0
  10. package/dist/es/factories/telemetryConnectorFactory.js.map +1 -0
  11. package/dist/es/helpers/metricHelper.js +139 -0
  12. package/dist/es/helpers/metricHelper.js.map +1 -0
  13. package/dist/es/index.js +30 -0
  14. package/dist/es/index.js.map +1 -0
  15. package/dist/es/models/IMetricsCollectorComponent.js +2 -0
  16. package/dist/es/models/IMetricsCollectorComponent.js.map +1 -0
  17. package/dist/es/models/IMetricsProducer.js +2 -0
  18. package/dist/es/models/IMetricsProducer.js.map +1 -0
  19. package/dist/es/models/IMultiTelemetryConnectorConstructorOptions.js +4 -0
  20. package/dist/es/models/IMultiTelemetryConnectorConstructorOptions.js.map +1 -0
  21. package/dist/es/models/ITelemetryComponent.js +2 -0
  22. package/dist/es/models/ITelemetryComponent.js.map +1 -0
  23. package/dist/es/models/ITelemetryConnector.js +2 -0
  24. package/dist/es/models/ITelemetryConnector.js.map +1 -0
  25. package/dist/es/models/ITelemetryMetric.js +2 -0
  26. package/dist/es/models/ITelemetryMetric.js.map +1 -0
  27. package/dist/es/models/ITelemetryMetricValue.js +4 -0
  28. package/dist/es/models/ITelemetryMetricValue.js.map +1 -0
  29. package/dist/es/models/ITelemetryMetricValueEntry.js +2 -0
  30. package/dist/es/models/ITelemetryMetricValueEntry.js.map +1 -0
  31. package/dist/es/models/api/ITelemetryAddMetricValueRequest.js +2 -0
  32. package/dist/es/models/api/ITelemetryAddMetricValueRequest.js.map +1 -0
  33. package/dist/es/models/api/ITelemetryCreateMetricRequest.js +2 -0
  34. package/dist/es/models/api/ITelemetryCreateMetricRequest.js.map +1 -0
  35. package/dist/es/models/api/ITelemetryGetMetricRequest.js +4 -0
  36. package/dist/es/models/api/ITelemetryGetMetricRequest.js.map +1 -0
  37. package/dist/es/models/api/ITelemetryGetMetricResponse.js +2 -0
  38. package/dist/es/models/api/ITelemetryGetMetricResponse.js.map +1 -0
  39. package/dist/es/models/api/ITelemetryGetMetricValueRequest.js +4 -0
  40. package/dist/es/models/api/ITelemetryGetMetricValueRequest.js.map +1 -0
  41. package/dist/es/models/api/ITelemetryGetMetricValueResponse.js +2 -0
  42. package/dist/es/models/api/ITelemetryGetMetricValueResponse.js.map +1 -0
  43. package/dist/es/models/api/ITelemetryListRequest.js +4 -0
  44. package/dist/es/models/api/ITelemetryListRequest.js.map +1 -0
  45. package/dist/es/models/api/ITelemetryListResponse.js +2 -0
  46. package/dist/es/models/api/ITelemetryListResponse.js.map +1 -0
  47. package/dist/es/models/api/ITelemetryRemoveMetricRequest.js +4 -0
  48. package/dist/es/models/api/ITelemetryRemoveMetricRequest.js.map +1 -0
  49. package/dist/es/models/api/ITelemetryUpdateMetricRequest.js +4 -0
  50. package/dist/es/models/api/ITelemetryUpdateMetricRequest.js.map +1 -0
  51. package/dist/es/models/api/ITelemetryValuesListRequest.js +4 -0
  52. package/dist/es/models/api/ITelemetryValuesListRequest.js.map +1 -0
  53. package/dist/es/models/api/ITelemetryValuesListResponse.js +2 -0
  54. package/dist/es/models/api/ITelemetryValuesListResponse.js.map +1 -0
  55. package/dist/es/models/metricCounterOperation.js +17 -0
  56. package/dist/es/models/metricCounterOperation.js.map +1 -0
  57. package/dist/es/models/metricType.js +21 -0
  58. package/dist/es/models/metricType.js.map +1 -0
  59. package/dist/types/connectors/multiTelemetryConnector.d.ts +124 -0
  60. package/dist/types/connectors/silentTelemetryConnector.d.ts +56 -0
  61. package/dist/types/factories/metricsProducerFactory.d.ts +10 -0
  62. package/dist/types/factories/telemetryConnectorFactory.d.ts +6 -0
  63. package/dist/types/helpers/metricHelper.d.ts +67 -0
  64. package/dist/types/index.d.ts +27 -0
  65. package/dist/types/models/IMetricsCollectorComponent.d.ts +6 -0
  66. package/dist/types/models/IMetricsProducer.d.ts +27 -0
  67. package/dist/types/models/IMultiTelemetryConnectorConstructorOptions.d.ts +9 -0
  68. package/dist/types/models/ITelemetryComponent.d.ts +109 -0
  69. package/dist/types/models/ITelemetryConnector.d.ts +109 -0
  70. package/dist/types/models/ITelemetryMetric.d.ts +31 -0
  71. package/dist/types/models/ITelemetryMetricValue.d.ts +23 -0
  72. package/dist/types/models/ITelemetryMetricValueEntry.d.ts +20 -0
  73. package/dist/types/models/api/ITelemetryAddMetricValueRequest.d.ts +30 -0
  74. package/dist/types/models/api/ITelemetryCreateMetricRequest.d.ts +11 -0
  75. package/dist/types/models/api/ITelemetryGetMetricRequest.d.ts +14 -0
  76. package/dist/types/models/api/ITelemetryGetMetricResponse.d.ts +20 -0
  77. package/dist/types/models/api/ITelemetryGetMetricValueRequest.d.ts +18 -0
  78. package/dist/types/models/api/ITelemetryGetMetricValueResponse.d.ts +10 -0
  79. package/dist/types/models/api/ITelemetryListRequest.d.ts +22 -0
  80. package/dist/types/models/api/ITelemetryListResponse.d.ts +19 -0
  81. package/dist/types/models/api/ITelemetryRemoveMetricRequest.d.ts +14 -0
  82. package/dist/types/models/api/ITelemetryUpdateMetricRequest.d.ts +31 -0
  83. package/dist/types/models/api/ITelemetryValuesListRequest.d.ts +35 -0
  84. package/dist/types/models/api/ITelemetryValuesListResponse.d.ts +24 -0
  85. package/dist/types/models/metricCounterOperation.d.ts +17 -0
  86. package/dist/types/models/metricType.d.ts +21 -0
  87. package/docs/changelog.md +0 -0
  88. package/docs/examples.md +142 -0
  89. package/docs/reference/classes/MetricHelper.md +226 -0
  90. package/docs/reference/classes/MultiTelemetryConnector.md +357 -0
  91. package/docs/reference/classes/SilentTelemetryConnector.md +191 -0
  92. package/docs/reference/index.md +42 -0
  93. package/docs/reference/interfaces/IMetricsCollectorComponent.md +7 -0
  94. package/docs/reference/interfaces/IMetricsProducer.md +45 -0
  95. package/docs/reference/interfaces/IMultiTelemetryConnectorConstructorOptions.md +11 -0
  96. package/docs/reference/interfaces/ITelemetryAddMetricValueRequest.md +41 -0
  97. package/docs/reference/interfaces/ITelemetryComponent.md +271 -0
  98. package/docs/reference/interfaces/ITelemetryConnector.md +271 -0
  99. package/docs/reference/interfaces/ITelemetryCreateMetricRequest.md +12 -0
  100. package/docs/reference/interfaces/ITelemetryGetMetricRequest.md +17 -0
  101. package/docs/reference/interfaces/ITelemetryGetMetricResponse.md +23 -0
  102. package/docs/reference/interfaces/ITelemetryGetMetricValueRequest.md +23 -0
  103. package/docs/reference/interfaces/ITelemetryGetMetricValueResponse.md +11 -0
  104. package/docs/reference/interfaces/ITelemetryListRequest.md +29 -0
  105. package/docs/reference/interfaces/ITelemetryListResponse.md +23 -0
  106. package/docs/reference/interfaces/ITelemetryMetric.md +52 -0
  107. package/docs/reference/interfaces/ITelemetryMetricValue.md +39 -0
  108. package/docs/reference/interfaces/ITelemetryMetricValueEntry.md +31 -0
  109. package/docs/reference/interfaces/ITelemetryRemoveMetricRequest.md +17 -0
  110. package/docs/reference/interfaces/ITelemetryUpdateMetricRequest.md +43 -0
  111. package/docs/reference/interfaces/ITelemetryValuesListRequest.md +49 -0
  112. package/docs/reference/interfaces/ITelemetryValuesListResponse.md +29 -0
  113. package/docs/reference/type-aliases/MetricCounterOperation.md +5 -0
  114. package/docs/reference/type-aliases/MetricType.md +5 -0
  115. package/docs/reference/variables/MetricCounterOperation.md +19 -0
  116. package/docs/reference/variables/MetricType.md +25 -0
  117. package/docs/reference/variables/MetricsProducerFactory.md +9 -0
  118. package/docs/reference/variables/TelemetryConnectorFactory.md +5 -0
  119. package/locales/en.json +7 -0
  120. package/package.json +51 -5
@@ -0,0 +1,357 @@
1
+ # Class: MultiTelemetryConnector
2
+
3
+ Class for performing telemetry operations on multiple connectors.
4
+
5
+ ## Implements
6
+
7
+ - [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md)
8
+
9
+ ## Constructors
10
+
11
+ ### Constructor
12
+
13
+ > **new MultiTelemetryConnector**(`options`): `MultiTelemetryConnector`
14
+
15
+ Create a new instance of MultiTelemetryConnector.
16
+
17
+ #### Parameters
18
+
19
+ ##### options
20
+
21
+ [`IMultiTelemetryConnectorConstructorOptions`](../interfaces/IMultiTelemetryConnectorConstructorOptions.md)
22
+
23
+ The options for the connector.
24
+
25
+ #### Returns
26
+
27
+ `MultiTelemetryConnector`
28
+
29
+ ## Properties
30
+
31
+ ### NAMESPACE {#namespace}
32
+
33
+ > `readonly` `static` **NAMESPACE**: `string` = `"multi"`
34
+
35
+ The namespace for the class.
36
+
37
+ ***
38
+
39
+ ### CLASS\_NAME {#class_name}
40
+
41
+ > `readonly` `static` **CLASS\_NAME**: `string`
42
+
43
+ Runtime name for the class.
44
+
45
+ ## Methods
46
+
47
+ ### className() {#classname}
48
+
49
+ > **className**(): `string`
50
+
51
+ Returns the class name of the component.
52
+
53
+ #### Returns
54
+
55
+ `string`
56
+
57
+ The class name of the component.
58
+
59
+ #### Implementation of
60
+
61
+ `ITelemetryConnector.className`
62
+
63
+ ***
64
+
65
+ ### createMetric() {#createmetric}
66
+
67
+ > **createMetric**(`metric`): `Promise`\<`void`\>
68
+
69
+ Create one or more metrics.
70
+
71
+ #### Parameters
72
+
73
+ ##### metric
74
+
75
+ [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md) \| [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]
76
+
77
+ The metric details, or the details of several metrics.
78
+
79
+ #### Returns
80
+
81
+ `Promise`\<`void`\>
82
+
83
+ A promise that resolves when the metrics have been created on all connectors.
84
+
85
+ #### Implementation of
86
+
87
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`createMetric`](../interfaces/ITelemetryConnector.md#createmetric)
88
+
89
+ ***
90
+
91
+ ### getMetric() {#getmetric}
92
+
93
+ > **getMetric**(`id`): `Promise`\<\{ `metric`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md); `value?`: [`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md); \}\>
94
+
95
+ Get the metric details and it's most recent value.
96
+
97
+ #### Parameters
98
+
99
+ ##### id
100
+
101
+ `string`
102
+
103
+ The metric id.
104
+
105
+ #### Returns
106
+
107
+ `Promise`\<\{ `metric`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md); `value?`: [`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md); \}\>
108
+
109
+ The metric details and it's most recent value.
110
+
111
+ #### Implementation of
112
+
113
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`getMetric`](../interfaces/ITelemetryConnector.md#getmetric)
114
+
115
+ ***
116
+
117
+ ### getMetricValue() {#getmetricvalue}
118
+
119
+ > **getMetricValue**(`id`, `valueId`): `Promise`\<[`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md)\>
120
+
121
+ Get a specific metric value by its id.
122
+
123
+ #### Parameters
124
+
125
+ ##### id
126
+
127
+ `string`
128
+
129
+ The id of the metric.
130
+
131
+ ##### valueId
132
+
133
+ `string`
134
+
135
+ The id of the metric value.
136
+
137
+ #### Returns
138
+
139
+ `Promise`\<[`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md)\>
140
+
141
+ The metric value.
142
+
143
+ #### Implementation of
144
+
145
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`getMetricValue`](../interfaces/ITelemetryConnector.md#getmetricvalue)
146
+
147
+ ***
148
+
149
+ ### updateMetric() {#updatemetric}
150
+
151
+ > **updateMetric**(`metric`): `Promise`\<`void`\>
152
+
153
+ Update metric.
154
+
155
+ #### Parameters
156
+
157
+ ##### metric
158
+
159
+ `Omit`\<[`ITelemetryMetric`](../interfaces/ITelemetryMetric.md), `"type"`\>
160
+
161
+ The metric details.
162
+
163
+ #### Returns
164
+
165
+ `Promise`\<`void`\>
166
+
167
+ A promise that resolves when the metric has been updated on all connectors.
168
+
169
+ #### Implementation of
170
+
171
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`updateMetric`](../interfaces/ITelemetryConnector.md#updatemetric)
172
+
173
+ ***
174
+
175
+ ### addMetricValue() {#addmetricvalue}
176
+
177
+ > **addMetricValue**(`id`, `value`, `customData?`): `Promise`\<`string`\>
178
+
179
+ Add a metric value.
180
+
181
+ #### Parameters
182
+
183
+ ##### id
184
+
185
+ `string`
186
+
187
+ The id of the metric.
188
+
189
+ ##### value
190
+
191
+ `number` \| [`MetricCounterOperation`](../type-aliases/MetricCounterOperation.md)
192
+
193
+ The value for the add operation.
194
+
195
+ ##### customData?
196
+
197
+ The custom data for the add operation.
198
+
199
+ #### Returns
200
+
201
+ `Promise`\<`string`\>
202
+
203
+ The created metric value id.
204
+
205
+ #### Implementation of
206
+
207
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValue`](../interfaces/ITelemetryConnector.md#addmetricvalue)
208
+
209
+ ***
210
+
211
+ ### addMetricValues() {#addmetricvalues}
212
+
213
+ > **addMetricValues**(`values`): `Promise`\<`string`[]\>
214
+
215
+ Add multiple metric values.
216
+
217
+ #### Parameters
218
+
219
+ ##### values
220
+
221
+ [`ITelemetryMetricValueEntry`](../interfaces/ITelemetryMetricValueEntry.md)[]
222
+
223
+ The metric values to add.
224
+
225
+ #### Returns
226
+
227
+ `Promise`\<`string`[]\>
228
+
229
+ The created metric value ids, in the order the values were supplied.
230
+
231
+ #### Implementation of
232
+
233
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValues`](../interfaces/ITelemetryConnector.md#addmetricvalues)
234
+
235
+ ***
236
+
237
+ ### removeMetric() {#removemetric}
238
+
239
+ > **removeMetric**(`id`): `Promise`\<`void`\>
240
+
241
+ Remove metric.
242
+
243
+ #### Parameters
244
+
245
+ ##### id
246
+
247
+ `string`
248
+
249
+ The id of the metric.
250
+
251
+ #### Returns
252
+
253
+ `Promise`\<`void`\>
254
+
255
+ A promise that resolves when the metric has been removed from all connectors.
256
+
257
+ #### Implementation of
258
+
259
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`removeMetric`](../interfaces/ITelemetryConnector.md#removemetric)
260
+
261
+ ***
262
+
263
+ ### query() {#query}
264
+
265
+ > **query**(`type?`, `cursor?`, `limit?`): `Promise`\<\{ `entities`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]; `cursor?`: `string`; \}\>
266
+
267
+ Query the metrics.
268
+
269
+ #### Parameters
270
+
271
+ ##### type?
272
+
273
+ [`MetricType`](../type-aliases/MetricType.md)
274
+
275
+ The type of the metric.
276
+
277
+ ##### cursor?
278
+
279
+ `string`
280
+
281
+ The cursor to request the next chunk of entities.
282
+
283
+ ##### limit?
284
+
285
+ `number`
286
+
287
+ Limit the number of entities to return.
288
+
289
+ #### Returns
290
+
291
+ `Promise`\<\{ `entities`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]; `cursor?`: `string`; \}\>
292
+
293
+ All the entities for the storage matching the conditions,
294
+ and a cursor which can be used to request more entities.
295
+
296
+ #### Throws
297
+
298
+ NotImplementedError if the implementation does not support retrieval.
299
+
300
+ #### Implementation of
301
+
302
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`query`](../interfaces/ITelemetryConnector.md#query)
303
+
304
+ ***
305
+
306
+ ### queryValues() {#queryvalues}
307
+
308
+ > **queryValues**(`id`, `timeStart?`, `timeEnd?`, `cursor?`, `limit?`): `Promise`\<\{ `metric`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md); `entities`: [`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md)[]; `cursor?`: `string`; \}\>
309
+
310
+ Query the metric values.
311
+
312
+ #### Parameters
313
+
314
+ ##### id
315
+
316
+ `string`
317
+
318
+ The id of the metric.
319
+
320
+ ##### timeStart?
321
+
322
+ `number`
323
+
324
+ The inclusive time as the start of the metric entries.
325
+
326
+ ##### timeEnd?
327
+
328
+ `number`
329
+
330
+ The inclusive time as the end of the metric entries.
331
+
332
+ ##### cursor?
333
+
334
+ `string`
335
+
336
+ The cursor to request the next chunk of entities.
337
+
338
+ ##### limit?
339
+
340
+ `number`
341
+
342
+ Limit the number of entities to return.
343
+
344
+ #### Returns
345
+
346
+ `Promise`\<\{ `metric`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md); `entities`: [`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md)[]; `cursor?`: `string`; \}\>
347
+
348
+ All the entities for the storage matching the conditions,
349
+ and a cursor which can be used to request more entities.
350
+
351
+ #### Throws
352
+
353
+ NotImplementedError if the implementation does not support retrieval.
354
+
355
+ #### Implementation of
356
+
357
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`queryValues`](../interfaces/ITelemetryConnector.md#queryvalues)
@@ -0,0 +1,191 @@
1
+ # Class: SilentTelemetryConnector
2
+
3
+ Class for performing telemetry operations to nowhere.
4
+
5
+ ## Implements
6
+
7
+ - [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md)
8
+
9
+ ## Constructors
10
+
11
+ ### Constructor
12
+
13
+ > **new SilentTelemetryConnector**(): `SilentTelemetryConnector`
14
+
15
+ #### Returns
16
+
17
+ `SilentTelemetryConnector`
18
+
19
+ ## Properties
20
+
21
+ ### NAMESPACE {#namespace}
22
+
23
+ > `readonly` `static` **NAMESPACE**: `string` = `"silent"`
24
+
25
+ The namespace for the class.
26
+
27
+ ***
28
+
29
+ ### CLASS\_NAME {#class_name}
30
+
31
+ > `readonly` `static` **CLASS\_NAME**: `string`
32
+
33
+ Runtime name for the class.
34
+
35
+ ## Methods
36
+
37
+ ### className() {#classname}
38
+
39
+ > **className**(): `string`
40
+
41
+ Returns the class name of the component.
42
+
43
+ #### Returns
44
+
45
+ `string`
46
+
47
+ The class name of the component.
48
+
49
+ #### Implementation of
50
+
51
+ `ITelemetryConnector.className`
52
+
53
+ ***
54
+
55
+ ### createMetric() {#createmetric}
56
+
57
+ > **createMetric**(`metric`): `Promise`\<`void`\>
58
+
59
+ Create one or more metrics.
60
+
61
+ #### Parameters
62
+
63
+ ##### metric
64
+
65
+ [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md) \| [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]
66
+
67
+ The metric details, or the details of several metrics.
68
+
69
+ #### Returns
70
+
71
+ `Promise`\<`void`\>
72
+
73
+ A promise that resolves when the metric has been created.
74
+
75
+ #### Implementation of
76
+
77
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`createMetric`](../interfaces/ITelemetryConnector.md#createmetric)
78
+
79
+ ***
80
+
81
+ ### updateMetric() {#updatemetric}
82
+
83
+ > **updateMetric**(`metric`): `Promise`\<`void`\>
84
+
85
+ Update metric.
86
+
87
+ #### Parameters
88
+
89
+ ##### metric
90
+
91
+ `Omit`\<[`ITelemetryMetric`](../interfaces/ITelemetryMetric.md), `"type"`\>
92
+
93
+ The metric details.
94
+
95
+ #### Returns
96
+
97
+ `Promise`\<`void`\>
98
+
99
+ A promise that resolves when the metric has been updated.
100
+
101
+ #### Implementation of
102
+
103
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`updateMetric`](../interfaces/ITelemetryConnector.md#updatemetric)
104
+
105
+ ***
106
+
107
+ ### addMetricValue() {#addmetricvalue}
108
+
109
+ > **addMetricValue**(`id`, `value`, `customData?`): `Promise`\<`string`\>
110
+
111
+ Update metric value.
112
+
113
+ #### Parameters
114
+
115
+ ##### id
116
+
117
+ `string`
118
+
119
+ The id of the metric.
120
+
121
+ ##### value
122
+
123
+ `number` \| [`MetricCounterOperation`](../type-aliases/MetricCounterOperation.md)
124
+
125
+ The value for the update operation.
126
+
127
+ ##### customData?
128
+
129
+ The custom data for the update operation.
130
+
131
+ #### Returns
132
+
133
+ `Promise`\<`string`\>
134
+
135
+ The created metric value id.
136
+
137
+ #### Implementation of
138
+
139
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValue`](../interfaces/ITelemetryConnector.md#addmetricvalue)
140
+
141
+ ***
142
+
143
+ ### addMetricValues() {#addmetricvalues}
144
+
145
+ > **addMetricValues**(`values`): `Promise`\<`string`[]\>
146
+
147
+ Add multiple metric values.
148
+
149
+ #### Parameters
150
+
151
+ ##### values
152
+
153
+ [`ITelemetryMetricValueEntry`](../interfaces/ITelemetryMetricValueEntry.md)[]
154
+
155
+ The metric values to add.
156
+
157
+ #### Returns
158
+
159
+ `Promise`\<`string`[]\>
160
+
161
+ The created metric value ids.
162
+
163
+ #### Implementation of
164
+
165
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValues`](../interfaces/ITelemetryConnector.md#addmetricvalues)
166
+
167
+ ***
168
+
169
+ ### removeMetric() {#removemetric}
170
+
171
+ > **removeMetric**(`id`): `Promise`\<`void`\>
172
+
173
+ Remove metric.
174
+
175
+ #### Parameters
176
+
177
+ ##### id
178
+
179
+ `string`
180
+
181
+ The id of the metric.
182
+
183
+ #### Returns
184
+
185
+ `Promise`\<`void`\>
186
+
187
+ A promise that resolves when the metric and all its values have been removed.
188
+
189
+ #### Implementation of
190
+
191
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`removeMetric`](../interfaces/ITelemetryConnector.md#removemetric)
@@ -0,0 +1,42 @@
1
+ # @3sixty/telemetry-models
2
+
3
+ ## Classes
4
+
5
+ - [MultiTelemetryConnector](classes/MultiTelemetryConnector.md)
6
+ - [SilentTelemetryConnector](classes/SilentTelemetryConnector.md)
7
+ - [MetricHelper](classes/MetricHelper.md)
8
+
9
+ ## Interfaces
10
+
11
+ - [IMetricsCollectorComponent](interfaces/IMetricsCollectorComponent.md)
12
+ - [IMetricsProducer](interfaces/IMetricsProducer.md)
13
+ - [IMultiTelemetryConnectorConstructorOptions](interfaces/IMultiTelemetryConnectorConstructorOptions.md)
14
+ - [ITelemetryComponent](interfaces/ITelemetryComponent.md)
15
+ - [ITelemetryConnector](interfaces/ITelemetryConnector.md)
16
+ - [ITelemetryMetric](interfaces/ITelemetryMetric.md)
17
+ - [ITelemetryMetricValue](interfaces/ITelemetryMetricValue.md)
18
+ - [ITelemetryMetricValueEntry](interfaces/ITelemetryMetricValueEntry.md)
19
+ - [ITelemetryAddMetricValueRequest](interfaces/ITelemetryAddMetricValueRequest.md)
20
+ - [ITelemetryCreateMetricRequest](interfaces/ITelemetryCreateMetricRequest.md)
21
+ - [ITelemetryGetMetricRequest](interfaces/ITelemetryGetMetricRequest.md)
22
+ - [ITelemetryGetMetricResponse](interfaces/ITelemetryGetMetricResponse.md)
23
+ - [ITelemetryGetMetricValueRequest](interfaces/ITelemetryGetMetricValueRequest.md)
24
+ - [ITelemetryGetMetricValueResponse](interfaces/ITelemetryGetMetricValueResponse.md)
25
+ - [ITelemetryListRequest](interfaces/ITelemetryListRequest.md)
26
+ - [ITelemetryListResponse](interfaces/ITelemetryListResponse.md)
27
+ - [ITelemetryRemoveMetricRequest](interfaces/ITelemetryRemoveMetricRequest.md)
28
+ - [ITelemetryUpdateMetricRequest](interfaces/ITelemetryUpdateMetricRequest.md)
29
+ - [ITelemetryValuesListRequest](interfaces/ITelemetryValuesListRequest.md)
30
+ - [ITelemetryValuesListResponse](interfaces/ITelemetryValuesListResponse.md)
31
+
32
+ ## Type Aliases
33
+
34
+ - [MetricCounterOperation](type-aliases/MetricCounterOperation.md)
35
+ - [MetricType](type-aliases/MetricType.md)
36
+
37
+ ## Variables
38
+
39
+ - [MetricsProducerFactory](variables/MetricsProducerFactory.md)
40
+ - [TelemetryConnectorFactory](variables/TelemetryConnectorFactory.md)
41
+ - [MetricCounterOperation](variables/MetricCounterOperation.md)
42
+ - [MetricType](variables/MetricType.md)
@@ -0,0 +1,7 @@
1
+ # Interface: IMetricsCollectorComponent
2
+
3
+ Contract for a metrics collector component.
4
+
5
+ ## Extends
6
+
7
+ - `IComponent`
@@ -0,0 +1,45 @@
1
+ # Interface: IMetricsProducer
2
+
3
+ Contract for a metrics producer.
4
+
5
+ A producer declares its metrics with `register()` once and pushes current
6
+ values with `collect()` on every poll cycle. Producers are discovered via
7
+ `MetricsProducerFactory` and orchestrated by a `MetricsCollectorService`.
8
+
9
+ Producers are factory-only entries - they are not lifecycle components of
10
+ the engine. The orchestrating service owns the polling timer.
11
+
12
+ ## Extends
13
+
14
+ - `IComponent`
15
+
16
+ ## Methods
17
+
18
+ ### register() {#register}
19
+
20
+ > **register**(): `Promise`\<`void`\>
21
+
22
+ Register every metric this producer emits with the telemetry component.
23
+ Called once when the orchestrating service starts.
24
+
25
+ #### Returns
26
+
27
+ `Promise`\<`void`\>
28
+
29
+ A promise that resolves when all metrics have been registered.
30
+
31
+ ***
32
+
33
+ ### collect() {#collect}
34
+
35
+ > **collect**(): `Promise`\<[`ITelemetryMetricValueEntry`](ITelemetryMetricValueEntry.md)[]\>
36
+
37
+ Read the current values for every metric this producer emits.
38
+ Called on every poll cycle. The values are returned rather than recorded, so the
39
+ orchestrating service can record a whole cycle in one operation.
40
+
41
+ #### Returns
42
+
43
+ `Promise`\<[`ITelemetryMetricValueEntry`](ITelemetryMetricValueEntry.md)[]\>
44
+
45
+ The current values for this producer's metrics.
@@ -0,0 +1,11 @@
1
+ # Interface: IMultiTelemetryConnectorConstructorOptions
2
+
3
+ The options for the multi telemetry connector constructor.
4
+
5
+ ## Properties
6
+
7
+ ### telemetryConnectorTypes {#telemetryconnectortypes}
8
+
9
+ > **telemetryConnectorTypes**: `string`[]
10
+
11
+ The telemetry connector types to multiplex.
@@ -0,0 +1,41 @@
1
+ # Interface: ITelemetryAddMetricValueRequest
2
+
3
+ Add a telemetry metric value.
4
+
5
+ ## Properties
6
+
7
+ ### pathParams {#pathparams}
8
+
9
+ > **pathParams**: `object`
10
+
11
+ The path parameters.
12
+
13
+ #### id
14
+
15
+ > **id**: `string`
16
+
17
+ The id of the metric.
18
+
19
+ ***
20
+
21
+ ### body {#body}
22
+
23
+ > **body**: `object`
24
+
25
+ The data to be used in the update.
26
+
27
+ #### value
28
+
29
+ > **value**: `number` \| [`MetricCounterOperation`](../type-aliases/MetricCounterOperation.md)
30
+
31
+ The value for the update operation.
32
+
33
+ #### customData?
34
+
35
+ > `optional` **customData?**: `object`
36
+
37
+ The custom data for the update operation.
38
+
39
+ ##### Index Signature
40
+
41
+ \[`key`: `string`\]: `unknown`