@oneuptime/common 11.1.2 → 11.2.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/Models/DatabaseModels/Alert.ts +55 -0
- package/Models/DatabaseModels/Incident.ts +55 -0
- package/Models/DatabaseModels/Index.ts +12 -0
- package/Models/DatabaseModels/IoTDevice.ts +690 -0
- package/Models/DatabaseModels/IoTFleet.ts +862 -0
- package/Models/DatabaseModels/IoTFleetLabelRule.ts +514 -0
- package/Models/DatabaseModels/IoTFleetOwnerRule.ts +596 -0
- package/Models/DatabaseModels/IoTFleetOwnerTeam.ts +485 -0
- package/Models/DatabaseModels/IoTFleetOwnerUser.ts +484 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
- package/Server/API/IoTDeviceAPI.ts +128 -0
- package/Server/API/TelemetryAPI.ts +104 -35
- package/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.ts +399 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.ts +97 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.ts +979 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Services/IoTDeviceService.ts +356 -0
- package/Server/Services/IoTFleetLabelRuleEngineService.ts +198 -0
- package/Server/Services/IoTFleetLabelRuleService.ts +14 -0
- package/Server/Services/IoTFleetOwnerRuleEngineService.ts +216 -0
- package/Server/Services/IoTFleetOwnerRuleService.ts +14 -0
- package/Server/Services/IoTFleetOwnerTeamService.ts +10 -0
- package/Server/Services/IoTFleetOwnerUserService.ts +10 -0
- package/Server/Services/IoTFleetService.ts +376 -0
- package/Server/Services/OpenTelemetryIngestService.ts +16 -0
- package/Server/Services/StatusPageService.ts +69 -26
- package/Server/Services/StatusPageSubscriberNotificationTemplateService.ts +36 -0
- package/Server/Services/TelemetryUsageBillingService.ts +18 -0
- package/Server/Services/TraceAggregationService.ts +174 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +24 -4
- package/Server/Utils/Monitor/MonitorClusterContext.ts +26 -2
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +4 -2
- package/Server/Utils/Monitor/MonitorIncident.ts +39 -5
- package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +14 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +22 -0
- package/Server/Utils/Telemetry/IoTSnapshotScan.ts +408 -0
- package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +36 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/Monitor/IotAlertTemplates.ts +593 -0
- package/Types/Monitor/IotMetricCatalog.ts +146 -0
- package/Types/Monitor/MonitorStep.ts +31 -0
- package/Types/Monitor/MonitorStepIoTMonitor.ts +65 -0
- package/Types/Monitor/MonitorType.ts +12 -1
- package/Types/Permission.ts +230 -0
- package/Types/StatusPage/StatusPageSubscriberNotificationEventType.ts +3 -0
- package/Types/Telemetry/ServiceType.ts +1 -0
- package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +5 -5
- package/UI/Components/Icon/Icon.tsx +18 -2
- package/UI/Components/Page/Page.tsx +1 -2
- package/build/dist/Models/DatabaseModels/Alert.js +54 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Incident.js +54 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +12 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IoTDevice.js +722 -0
- package/build/dist/Models/DatabaseModels/IoTDevice.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleet.js +882 -0
- package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/IoTFleetLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/IoTFleetOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Server/API/IoTDeviceAPI.js +92 -0
- package/build/dist/Server/API/IoTDeviceAPI.js.map +1 -0
- package/build/dist/Server/API/TelemetryAPI.js +76 -27
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js +187 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1782900000000-AddIoTFleetAndDeviceTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js +48 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783000000000-AddIoTFleetActivityJoinTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js +340 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1783010000000-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/IoTDeviceService.js +249 -0
- package/build/dist/Server/Services/IoTDeviceService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +166 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleService.js +13 -0
- package/build/dist/Server/Services/IoTFleetLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +186 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/IoTFleetOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/IoTFleetOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetOwnerUserService.js +9 -0
- package/build/dist/Server/Services/IoTFleetOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/IoTFleetService.js +340 -0
- package/build/dist/Server/Services/IoTFleetService.js.map +1 -0
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +26 -11
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +57 -23
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js +34 -0
- package/build/dist/Server/Services/StatusPageSubscriberNotificationTemplateService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +136 -0
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +37 -19
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +27 -4
- package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +4 -2
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +39 -11
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +8 -0
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +17 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js +300 -0
- package/build/dist/Server/Utils/Telemetry/IoTSnapshotScan.js.map +1 -0
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Monitor/IotAlertTemplates.js +467 -0
- package/build/dist/Types/Monitor/IotAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/IotMetricCatalog.js +108 -0
- package/build/dist/Types/Monitor/IotMetricCatalog.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorStep.js +23 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js +32 -0
- package/build/dist/Types/Monitor/MonitorStepIoTMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorType.js +11 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Permission.js +204 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js +2 -0
- package/build/dist/Types/StatusPage/StatusPageSubscriberNotificationEventType.js.map +1 -1
- package/build/dist/Types/Telemetry/ServiceType.js +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +3 -3
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +12 -2
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/Page/Page.js +1 -2
- package/build/dist/UI/Components/Page/Page.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import OneUptimeDate from "../../../Types/Date";
|
|
2
|
+
import logger from "../Logger";
|
|
3
|
+
/*
|
|
4
|
+
* ------------------------------------------------------------------
|
|
5
|
+
* IoT snapshot scan — pure fold & derive helpers
|
|
6
|
+
* ------------------------------------------------------------------
|
|
7
|
+
*
|
|
8
|
+
* Cloned from ProxmoxCephSnapshotScan.ts (the Proxmox half). The
|
|
9
|
+
* ingest service owns the I/O: it walks the OTLP payload, calls
|
|
10
|
+
* bufferIoTSnapshotMetric per datapoint, and at flush time maps the
|
|
11
|
+
* folded buffers through deriveIoTFleetSnapshotExtras before handing
|
|
12
|
+
* the results to IoTDeviceService / IoTFleetService. Everything in
|
|
13
|
+
* this module is pure (Map/object mutation only — no DB, no network),
|
|
14
|
+
* which is what makes the snapshot-scan semantics unit-testable:
|
|
15
|
+
*
|
|
16
|
+
* - identity labels fold first-non-null-wins; status/metric fields
|
|
17
|
+
* fold newest-observedAt-wins,
|
|
18
|
+
* - count columns are only derived when the batch carried the
|
|
19
|
+
* matching identity series (never zero a count on a partial
|
|
20
|
+
* batch — the COALESCE-per-column contract),
|
|
21
|
+
* - non-allow-listed metric names are skipped via the exported
|
|
22
|
+
* IOT_SNAPSHOT_METRIC_NAMES set.
|
|
23
|
+
*/
|
|
24
|
+
/*
|
|
25
|
+
* IoT snapshot metrics — emitted by IoT devices / gateways pushing
|
|
26
|
+
* OTLP, identity in the `device.id` datapoint label plus the
|
|
27
|
+
* iot.device.kind / iot.device.type / iot.device.firmware attributes
|
|
28
|
+
* the device's SDK stamps. Unlike K8s there is no separate object
|
|
29
|
+
* stream: identity, status AND the latest-metric mirror all arrive on
|
|
30
|
+
* every scrape, so the same scan feeds the IoTDevice inventory upsert
|
|
31
|
+
* and the IoTFleet count snapshot columns (single source — the
|
|
32
|
+
* list-page counts and the sidebar badges can never drift).
|
|
33
|
+
*
|
|
34
|
+
* iot_cpu_usage_ratio is already a true 0..1 ratio — no allocatable-
|
|
35
|
+
* denominator cache is needed, unlike K8s cpuCoresToPercent.
|
|
36
|
+
*/
|
|
37
|
+
export const IOT_SNAPSHOT_METRIC_NAMES = new Set([
|
|
38
|
+
// Identity / status (fleet counts derive from these)
|
|
39
|
+
"iot_device_up",
|
|
40
|
+
"iot_device_info",
|
|
41
|
+
// Latest-metric mirror (inventory columns)
|
|
42
|
+
"iot_battery_percent",
|
|
43
|
+
"iot_signal_strength_dbm",
|
|
44
|
+
"iot_temperature_celsius",
|
|
45
|
+
"iot_cpu_usage_ratio",
|
|
46
|
+
"iot_memory_usage_bytes",
|
|
47
|
+
"iot_memory_size_bytes",
|
|
48
|
+
"iot_uptime_seconds",
|
|
49
|
+
]);
|
|
50
|
+
/*
|
|
51
|
+
* Same finite-or-null coercion contract as the ingest service's
|
|
52
|
+
* toNumberOrNull (NaN / ±Infinity fold to null so a malformed
|
|
53
|
+
* datapoint is skipped rather than poisoning a snapshot column).
|
|
54
|
+
*/
|
|
55
|
+
function toNumberOrNull(value) {
|
|
56
|
+
if (typeof value === "number") {
|
|
57
|
+
return Number.isFinite(value) ? value : null;
|
|
58
|
+
}
|
|
59
|
+
if (typeof value === "string") {
|
|
60
|
+
const parsed = Number.parseFloat(value);
|
|
61
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
/*
|
|
66
|
+
* Same fall-back-to-now parse contract as the ingest service's
|
|
67
|
+
* safeParseUnixNano — only the Date is needed on the snapshot path.
|
|
68
|
+
*/
|
|
69
|
+
function parseUnixNanoToDate(value, context) {
|
|
70
|
+
let numericValue = OneUptimeDate.getCurrentDateAsUnixNano();
|
|
71
|
+
if (value !== undefined && value !== null) {
|
|
72
|
+
try {
|
|
73
|
+
if (typeof value === "string") {
|
|
74
|
+
const parsed = Number.parseFloat(value);
|
|
75
|
+
if (isNaN(parsed)) {
|
|
76
|
+
throw new Error(`Invalid timestamp string: ${value}`);
|
|
77
|
+
}
|
|
78
|
+
numericValue = parsed;
|
|
79
|
+
}
|
|
80
|
+
else if (typeof value === "number") {
|
|
81
|
+
if (!Number.isFinite(value)) {
|
|
82
|
+
throw new Error(`Invalid timestamp number: ${value}`);
|
|
83
|
+
}
|
|
84
|
+
numericValue = value;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
logger.warn(`Error processing ${context}: ${error instanceof Error ? error.message : String(error)}, using current time`);
|
|
89
|
+
numericValue = OneUptimeDate.getCurrentDateAsUnixNano();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return OneUptimeDate.fromUnixNano(numericValue);
|
|
93
|
+
}
|
|
94
|
+
// Same trim-or-null read contract as OtelIngestBaseService.getStringAttribute.
|
|
95
|
+
function getStringAttribute(attributes, key) {
|
|
96
|
+
for (const attribute of attributes) {
|
|
97
|
+
if (attribute["key"] === key &&
|
|
98
|
+
attribute["value"] &&
|
|
99
|
+
attribute["value"]["stringValue"]) {
|
|
100
|
+
const value = attribute["value"]["stringValue"];
|
|
101
|
+
if (typeof value === "string" && value.trim()) {
|
|
102
|
+
return value.trim();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
export function getOrCreateIoTFleetSnapshot(buffer, fleetIdStr) {
|
|
109
|
+
let entry = buffer.get(fleetIdStr);
|
|
110
|
+
if (!entry) {
|
|
111
|
+
entry = {
|
|
112
|
+
sawDeviceIdentity: false,
|
|
113
|
+
sawDeviceUp: false,
|
|
114
|
+
};
|
|
115
|
+
buffer.set(fleetIdStr, entry);
|
|
116
|
+
}
|
|
117
|
+
return entry;
|
|
118
|
+
}
|
|
119
|
+
/*
|
|
120
|
+
* Fold one iot_* datapoint into the per-fleet buffers. Identity lives
|
|
121
|
+
* in the `device.id` DATAPOINT label, so this reads the raw datapoint
|
|
122
|
+
* attribute array — not the merged resource-prefixed map the K8s scan
|
|
123
|
+
* uses.
|
|
124
|
+
*/
|
|
125
|
+
export function bufferIoTSnapshotMetric(data) {
|
|
126
|
+
const valueFromInt = toNumberOrNull(data.datapoint["asInt"]);
|
|
127
|
+
const valueFromDouble = toNumberOrNull(data.datapoint["asDouble"]);
|
|
128
|
+
const rawValue = valueFromDouble !== null && valueFromDouble !== void 0 ? valueFromDouble : valueFromInt;
|
|
129
|
+
if (rawValue === null) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const observedAt = parseUnixNanoToDate(data.datapoint["timeUnixNano"], "iot snapshot timeUnixNano");
|
|
133
|
+
const dpAttributes = data.datapoint["attributes"] || [];
|
|
134
|
+
const fleet = getOrCreateIoTFleetSnapshot(data.fleetBuffer, data.fleetIdStr);
|
|
135
|
+
// Identity lives in the `device.id` datapoint label.
|
|
136
|
+
const externalId = getStringAttribute(dpAttributes, "device.id");
|
|
137
|
+
if (!externalId) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
/*
|
|
141
|
+
* Kind/type/firmware: read from the iot.device.* attributes the
|
|
142
|
+
* device SDK stamps; kind falls back to "Device" so inventory still
|
|
143
|
+
* populates without an explicit class label.
|
|
144
|
+
*/
|
|
145
|
+
const kind = getStringAttribute(dpAttributes, "iot.device.kind") || "Device";
|
|
146
|
+
const patch = {
|
|
147
|
+
kind,
|
|
148
|
+
externalId,
|
|
149
|
+
name: null,
|
|
150
|
+
deviceType: null,
|
|
151
|
+
firmwareVersion: null,
|
|
152
|
+
isUp: null,
|
|
153
|
+
uptimeSeconds: null,
|
|
154
|
+
latestCpuPercent: null,
|
|
155
|
+
latestMemoryBytes: null,
|
|
156
|
+
maxMemoryBytes: null,
|
|
157
|
+
latestBatteryPercent: null,
|
|
158
|
+
latestSignalStrengthDbm: null,
|
|
159
|
+
latestTemperatureCelsius: null,
|
|
160
|
+
observedAt,
|
|
161
|
+
};
|
|
162
|
+
// deviceType / firmware ride every series the device emits.
|
|
163
|
+
patch.deviceType = getStringAttribute(dpAttributes, "iot.device.type");
|
|
164
|
+
patch.firmwareVersion = getStringAttribute(dpAttributes, "iot.device.firmware");
|
|
165
|
+
switch (data.metricName) {
|
|
166
|
+
case "iot_device_up": {
|
|
167
|
+
patch.isUp = rawValue >= 1;
|
|
168
|
+
fleet.sawDeviceIdentity = true;
|
|
169
|
+
fleet.sawDeviceUp = true;
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
case "iot_device_info": {
|
|
173
|
+
// Identity-only series — carries the human-readable device name.
|
|
174
|
+
patch.name = getStringAttribute(dpAttributes, "name");
|
|
175
|
+
fleet.sawDeviceIdentity = true;
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
case "iot_battery_percent": {
|
|
179
|
+
patch.latestBatteryPercent = rawValue;
|
|
180
|
+
break;
|
|
181
|
+
}
|
|
182
|
+
case "iot_signal_strength_dbm": {
|
|
183
|
+
patch.latestSignalStrengthDbm = rawValue;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
case "iot_temperature_celsius": {
|
|
187
|
+
patch.latestTemperatureCelsius = rawValue;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
case "iot_cpu_usage_ratio": {
|
|
191
|
+
/*
|
|
192
|
+
* Already a true 0..1 ratio — no allocatable-denominator cache
|
|
193
|
+
* needed, unlike K8s cpuCoresToPercent.
|
|
194
|
+
*/
|
|
195
|
+
patch.latestCpuPercent = rawValue * 100;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
case "iot_memory_usage_bytes": {
|
|
199
|
+
patch.latestMemoryBytes = Math.max(0, Math.trunc(rawValue));
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
case "iot_memory_size_bytes": {
|
|
203
|
+
patch.maxMemoryBytes = Math.max(0, Math.trunc(rawValue));
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
case "iot_uptime_seconds": {
|
|
207
|
+
patch.uptimeSeconds = Math.max(0, Math.trunc(rawValue));
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
default: {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
foldIoTDeviceSnapshot({
|
|
215
|
+
buffer: data.resourceBuffer,
|
|
216
|
+
fleetIdStr: data.fleetIdStr,
|
|
217
|
+
patch,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
/*
|
|
221
|
+
* Merge a patch into the per-fleet IoT buffer: identity labels are
|
|
222
|
+
* first-non-null-wins (stable, and a batch missing an info series
|
|
223
|
+
* must not blank them), status/metric fields are
|
|
224
|
+
* newest-observedAt-wins (K8s buffer semantics).
|
|
225
|
+
*/
|
|
226
|
+
export function foldIoTDeviceSnapshot(data) {
|
|
227
|
+
let perFleet = data.buffer.get(data.fleetIdStr);
|
|
228
|
+
if (!perFleet) {
|
|
229
|
+
perFleet = new Map();
|
|
230
|
+
data.buffer.set(data.fleetIdStr, perFleet);
|
|
231
|
+
}
|
|
232
|
+
const key = `${data.patch.kind}|${data.patch.externalId}`;
|
|
233
|
+
const existing = perFleet.get(key);
|
|
234
|
+
if (!existing) {
|
|
235
|
+
perFleet.set(key, data.patch);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const patch = data.patch;
|
|
239
|
+
const newer = patch.observedAt >= existing.observedAt;
|
|
240
|
+
// Identity: first-non-null wins.
|
|
241
|
+
if (existing.name === null && patch.name !== null) {
|
|
242
|
+
existing.name = patch.name;
|
|
243
|
+
}
|
|
244
|
+
if (existing.deviceType === null && patch.deviceType !== null) {
|
|
245
|
+
existing.deviceType = patch.deviceType;
|
|
246
|
+
}
|
|
247
|
+
if (existing.firmwareVersion === null && patch.firmwareVersion !== null) {
|
|
248
|
+
existing.firmwareVersion = patch.firmwareVersion;
|
|
249
|
+
}
|
|
250
|
+
// Status / metrics: newest observation wins.
|
|
251
|
+
if (patch.isUp !== null && newer) {
|
|
252
|
+
existing.isUp = patch.isUp;
|
|
253
|
+
}
|
|
254
|
+
if (patch.uptimeSeconds !== null && newer) {
|
|
255
|
+
existing.uptimeSeconds = patch.uptimeSeconds;
|
|
256
|
+
}
|
|
257
|
+
if (patch.latestCpuPercent !== null && newer) {
|
|
258
|
+
existing.latestCpuPercent = patch.latestCpuPercent;
|
|
259
|
+
}
|
|
260
|
+
if (patch.latestMemoryBytes !== null && newer) {
|
|
261
|
+
existing.latestMemoryBytes = patch.latestMemoryBytes;
|
|
262
|
+
}
|
|
263
|
+
if (patch.maxMemoryBytes !== null && newer) {
|
|
264
|
+
existing.maxMemoryBytes = patch.maxMemoryBytes;
|
|
265
|
+
}
|
|
266
|
+
if (patch.latestBatteryPercent !== null && newer) {
|
|
267
|
+
existing.latestBatteryPercent = patch.latestBatteryPercent;
|
|
268
|
+
}
|
|
269
|
+
if (patch.latestSignalStrengthDbm !== null && newer) {
|
|
270
|
+
existing.latestSignalStrengthDbm = patch.latestSignalStrengthDbm;
|
|
271
|
+
}
|
|
272
|
+
if (patch.latestTemperatureCelsius !== null && newer) {
|
|
273
|
+
existing.latestTemperatureCelsius = patch.latestTemperatureCelsius;
|
|
274
|
+
}
|
|
275
|
+
if (patch.observedAt > existing.observedAt) {
|
|
276
|
+
existing.observedAt = patch.observedAt;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/*
|
|
280
|
+
* Derive the IoTFleet snapshot columns from one folded batch. Counts
|
|
281
|
+
* are only set when the batch carried the matching identity series —
|
|
282
|
+
* never zero a count on a partial batch. Returns an object whose keys
|
|
283
|
+
* are exactly the columns to write (empty object = nothing to write).
|
|
284
|
+
*/
|
|
285
|
+
export function deriveIoTFleetSnapshotExtras(entries, snap) {
|
|
286
|
+
const extras = {};
|
|
287
|
+
if (snap === null || snap === void 0 ? void 0 : snap.sawDeviceIdentity) {
|
|
288
|
+
extras.deviceCount = entries.length;
|
|
289
|
+
}
|
|
290
|
+
if (snap === null || snap === void 0 ? void 0 : snap.sawDeviceUp) {
|
|
291
|
+
extras.onlineDeviceCount = entries.filter((e) => {
|
|
292
|
+
return e.isUp === true;
|
|
293
|
+
}).length;
|
|
294
|
+
}
|
|
295
|
+
if (snap === null || snap === void 0 ? void 0 : snap.agentVersion) {
|
|
296
|
+
extras.agentVersion = snap.agentVersion;
|
|
297
|
+
}
|
|
298
|
+
return extras;
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=IoTSnapshotScan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IoTSnapshotScan.js","sourceRoot":"","sources":["../../../../../Server/Utils/Telemetry/IoTSnapshotScan.ts"],"names":[],"mappings":"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"}
|
|
@@ -328,6 +328,7 @@ var IconProp;
|
|
|
328
328
|
IconProp["DockerSwarm"] = "DockerSwarm";
|
|
329
329
|
IconProp["Podman"] = "Podman";
|
|
330
330
|
IconProp["Proxmox"] = "Proxmox";
|
|
331
|
+
IconProp["IoT"] = "IoT";
|
|
331
332
|
IconProp["Ceph"] = "Ceph";
|
|
332
333
|
IconProp["Gauge"] = "Gauge";
|
|
333
334
|
})(IconProp || (IconProp = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconProp.js","sourceRoot":"","sources":["../../../../Types/Icon/IconProp.ts"],"names":[],"mappings":"AAAA,IAAK,
|
|
1
|
+
{"version":3,"file":"IconProp.js","sourceRoot":"","sources":["../../../../Types/Icon/IconProp.ts"],"names":[],"mappings":"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"}
|