@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.
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 +59 -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 +9 -0
  88. package/docs/examples.md +142 -0
  89. package/docs/reference/classes/MetricHelper.md +232 -0
  90. package/docs/reference/classes/MultiTelemetryConnector.md +359 -0
  91. package/docs/reference/classes/SilentTelemetryConnector.md +193 -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 +273 -0
  98. package/docs/reference/interfaces/ITelemetryConnector.md +273 -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,359 @@
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
+ \{\[`key`: `string`\]: `unknown`; \}
198
+
199
+ The custom data for the add operation.
200
+
201
+ #### Returns
202
+
203
+ `Promise`\<`string`\>
204
+
205
+ The created metric value id.
206
+
207
+ #### Implementation of
208
+
209
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValue`](../interfaces/ITelemetryConnector.md#addmetricvalue)
210
+
211
+ ***
212
+
213
+ ### addMetricValues() {#addmetricvalues}
214
+
215
+ > **addMetricValues**(`values`): `Promise`\<`string`[]\>
216
+
217
+ Add multiple metric values.
218
+
219
+ #### Parameters
220
+
221
+ ##### values
222
+
223
+ [`ITelemetryMetricValueEntry`](../interfaces/ITelemetryMetricValueEntry.md)[]
224
+
225
+ The metric values to add.
226
+
227
+ #### Returns
228
+
229
+ `Promise`\<`string`[]\>
230
+
231
+ The created metric value ids, in the order the values were supplied.
232
+
233
+ #### Implementation of
234
+
235
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValues`](../interfaces/ITelemetryConnector.md#addmetricvalues)
236
+
237
+ ***
238
+
239
+ ### removeMetric() {#removemetric}
240
+
241
+ > **removeMetric**(`id`): `Promise`\<`void`\>
242
+
243
+ Remove metric.
244
+
245
+ #### Parameters
246
+
247
+ ##### id
248
+
249
+ `string`
250
+
251
+ The id of the metric.
252
+
253
+ #### Returns
254
+
255
+ `Promise`\<`void`\>
256
+
257
+ A promise that resolves when the metric has been removed from all connectors.
258
+
259
+ #### Implementation of
260
+
261
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`removeMetric`](../interfaces/ITelemetryConnector.md#removemetric)
262
+
263
+ ***
264
+
265
+ ### query() {#query}
266
+
267
+ > **query**(`type?`, `cursor?`, `limit?`): `Promise`\<\{ `entities`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]; `cursor?`: `string`; \}\>
268
+
269
+ Query the metrics.
270
+
271
+ #### Parameters
272
+
273
+ ##### type?
274
+
275
+ [`MetricType`](../type-aliases/MetricType.md)
276
+
277
+ The type of the metric.
278
+
279
+ ##### cursor?
280
+
281
+ `string`
282
+
283
+ The cursor to request the next chunk of entities.
284
+
285
+ ##### limit?
286
+
287
+ `number`
288
+
289
+ Limit the number of entities to return.
290
+
291
+ #### Returns
292
+
293
+ `Promise`\<\{ `entities`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md)[]; `cursor?`: `string`; \}\>
294
+
295
+ All the entities for the storage matching the conditions,
296
+ and a cursor which can be used to request more entities.
297
+
298
+ #### Throws
299
+
300
+ NotImplementedError if the implementation does not support retrieval.
301
+
302
+ #### Implementation of
303
+
304
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`query`](../interfaces/ITelemetryConnector.md#query)
305
+
306
+ ***
307
+
308
+ ### queryValues() {#queryvalues}
309
+
310
+ > **queryValues**(`id`, `timeStart?`, `timeEnd?`, `cursor?`, `limit?`): `Promise`\<\{ `metric`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md); `entities`: [`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md)[]; `cursor?`: `string`; \}\>
311
+
312
+ Query the metric values.
313
+
314
+ #### Parameters
315
+
316
+ ##### id
317
+
318
+ `string`
319
+
320
+ The id of the metric.
321
+
322
+ ##### timeStart?
323
+
324
+ `number`
325
+
326
+ The inclusive time as the start of the metric entries.
327
+
328
+ ##### timeEnd?
329
+
330
+ `number`
331
+
332
+ The inclusive time as the end of the metric entries.
333
+
334
+ ##### cursor?
335
+
336
+ `string`
337
+
338
+ The cursor to request the next chunk of entities.
339
+
340
+ ##### limit?
341
+
342
+ `number`
343
+
344
+ Limit the number of entities to return.
345
+
346
+ #### Returns
347
+
348
+ `Promise`\<\{ `metric`: [`ITelemetryMetric`](../interfaces/ITelemetryMetric.md); `entities`: [`ITelemetryMetricValue`](../interfaces/ITelemetryMetricValue.md)[]; `cursor?`: `string`; \}\>
349
+
350
+ All the entities for the storage matching the conditions,
351
+ and a cursor which can be used to request more entities.
352
+
353
+ #### Throws
354
+
355
+ NotImplementedError if the implementation does not support retrieval.
356
+
357
+ #### Implementation of
358
+
359
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`queryValues`](../interfaces/ITelemetryConnector.md#queryvalues)
@@ -0,0 +1,193 @@
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
+ \{\[`key`: `string`\]: `unknown`; \}
130
+
131
+ The custom data for the update operation.
132
+
133
+ #### Returns
134
+
135
+ `Promise`\<`string`\>
136
+
137
+ The created metric value id.
138
+
139
+ #### Implementation of
140
+
141
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValue`](../interfaces/ITelemetryConnector.md#addmetricvalue)
142
+
143
+ ***
144
+
145
+ ### addMetricValues() {#addmetricvalues}
146
+
147
+ > **addMetricValues**(`values`): `Promise`\<`string`[]\>
148
+
149
+ Add multiple metric values.
150
+
151
+ #### Parameters
152
+
153
+ ##### values
154
+
155
+ [`ITelemetryMetricValueEntry`](../interfaces/ITelemetryMetricValueEntry.md)[]
156
+
157
+ The metric values to add.
158
+
159
+ #### Returns
160
+
161
+ `Promise`\<`string`[]\>
162
+
163
+ The created metric value ids.
164
+
165
+ #### Implementation of
166
+
167
+ [`ITelemetryConnector`](../interfaces/ITelemetryConnector.md).[`addMetricValues`](../interfaces/ITelemetryConnector.md#addmetricvalues)
168
+
169
+ ***
170
+
171
+ ### removeMetric() {#removemetric}
172
+
173
+ > **removeMetric**(`id`): `Promise`\<`void`\>
174
+
175
+ Remove metric.
176
+
177
+ #### Parameters
178
+
179
+ ##### id
180
+
181
+ `string`
182
+
183
+ The id of the metric.
184
+
185
+ #### Returns
186
+
187
+ `Promise`\<`void`\>
188
+
189
+ A promise that resolves when the metric and all its values have been removed.
190
+
191
+ #### Implementation of
192
+
193
+ [`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`