@oneuptime/common 10.0.97 → 10.1.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 (25) hide show
  1. package/Server/Services/DockerHostService.ts +18 -5
  2. package/Server/Services/HostService.ts +55 -31
  3. package/Server/Utils/Monitor/MonitorAlert.ts +9 -3
  4. package/Server/Utils/Monitor/MonitorIncident.ts +9 -3
  5. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +5 -3
  6. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +7 -5
  7. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +7 -5
  8. package/UI/Components/ModelTable/BaseModelTable.tsx +3 -0
  9. package/build/dist/Server/Services/DockerHostService.js +12 -5
  10. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  11. package/build/dist/Server/Services/HostService.js +33 -25
  12. package/build/dist/Server/Services/HostService.js.map +1 -1
  13. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +9 -3
  14. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  15. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +9 -3
  16. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  17. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -3
  18. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  19. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +7 -5
  20. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  21. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +7 -5
  22. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  23. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +3 -0
  24. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  25. package/package.json +1 -1
@@ -6,6 +6,7 @@ import QueryHelper from "../Types/Database/QueryHelper";
6
6
  import OneUptimeDate from "../../Types/Date";
7
7
  import LIMIT_MAX from "../../Types/Database/LimitMax";
8
8
  import GlobalCache from "../Infrastructure/GlobalCache";
9
+ import crypto from "crypto";
9
10
 
10
11
  const LAST_SEEN_CACHE_NAMESPACE: string = "docker-host-last-seen";
11
12
  const LAST_SEEN_THROTTLE_SECONDS: number = 60;
@@ -96,19 +97,31 @@ export class Service extends DatabaseService<Model> {
96
97
  },
97
98
  ): Promise<void> {
98
99
  const cacheKey: string = hostId.toString();
100
+ const extrasFingerprint: string = crypto
101
+ .createHash("sha1")
102
+ .update(
103
+ JSON.stringify({
104
+ osType: extra?.osType ?? null,
105
+ osVersion: extra?.osVersion ?? null,
106
+ }),
107
+ )
108
+ .digest("hex");
99
109
 
100
110
  const cached: string | null = await GlobalCache.getString(
101
111
  LAST_SEEN_CACHE_NAMESPACE,
102
112
  cacheKey,
103
113
  );
104
114
 
105
- if (cached) {
106
- return; // another pod already updated recently
115
+ if (cached === extrasFingerprint) {
116
+ return; // same data was written recently
107
117
  }
108
118
 
109
- await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, "1", {
110
- expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS,
111
- });
119
+ await GlobalCache.setString(
120
+ LAST_SEEN_CACHE_NAMESPACE,
121
+ cacheKey,
122
+ extrasFingerprint,
123
+ { expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS },
124
+ );
112
125
 
113
126
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
114
127
  const data: any = {
@@ -6,6 +6,7 @@ import QueryHelper from "../Types/Database/QueryHelper";
6
6
  import OneUptimeDate from "../../Types/Date";
7
7
  import LIMIT_MAX from "../../Types/Database/LimitMax";
8
8
  import GlobalCache from "../Infrastructure/GlobalCache";
9
+ import crypto from "crypto";
9
10
 
10
11
  const LAST_SEEN_CACHE_NAMESPACE: string = "host-last-seen";
11
12
  const LAST_SEEN_THROTTLE_SECONDS: number = 60;
@@ -98,42 +99,30 @@ export class Service extends DatabaseService<Model> {
98
99
  },
99
100
  ): Promise<void> {
100
101
  /*
101
- * Throttle the lightweight "lastSeenAt + status" pings — those
102
- * arrive at every metric / log / trace batch and don't carry new
103
- * information. Pings that bring richer state (host metadata,
104
- * cached infra stats, runtime detection, FK links) bypass the
105
- * cache so the values land promptly.
102
+ * Throttle: the same telemetry batch repeats every metric/log/trace
103
+ * push and re-sends identical host metadata. Skip the DB write when
104
+ * we recently wrote the exact same values; only refresh `lastSeenAt`
105
+ * once per throttle window. If any extra value changed (e.g. cpuCores
106
+ * updated, IP address changed), bust the cache and write immediately.
106
107
  */
107
- const hasRichExtras: boolean = Boolean(
108
- extra &&
109
- (extra.hostId ||
110
- extra.hostArch ||
111
- extra.hostType ||
112
- extra.hostIpAddresses ||
113
- extra.cpuCores !== undefined ||
114
- extra.totalMemoryBytes !== undefined ||
115
- extra.processCount !== undefined ||
116
- extra.containerRuntime ||
117
- extra.dockerHostId ||
118
- extra.kubernetesClusterId),
108
+ const cacheKey: string = hostId.toString();
109
+ const extrasFingerprint: string = this.fingerprintExtras(extra);
110
+ const cached: string | null = await GlobalCache.getString(
111
+ LAST_SEEN_CACHE_NAMESPACE,
112
+ cacheKey,
119
113
  );
120
114
 
121
- if (!hasRichExtras) {
122
- const cacheKey: string = hostId.toString();
123
- const cached: string | null = await GlobalCache.getString(
124
- LAST_SEEN_CACHE_NAMESPACE,
125
- cacheKey,
126
- );
127
-
128
- if (cached) {
129
- return; // another pod already updated recently
130
- }
131
-
132
- await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, "1", {
133
- expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS,
134
- });
115
+ if (cached === extrasFingerprint) {
116
+ return; // same data was written recently
135
117
  }
136
118
 
119
+ await GlobalCache.setString(
120
+ LAST_SEEN_CACHE_NAMESPACE,
121
+ cacheKey,
122
+ extrasFingerprint,
123
+ { expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS },
124
+ );
125
+
137
126
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
138
127
  const data: any = {
139
128
  lastSeenAt: OneUptimeDate.getCurrentDate(),
@@ -186,6 +175,41 @@ export class Service extends DatabaseService<Model> {
186
175
  });
187
176
  }
188
177
 
178
+ private fingerprintExtras(extra?: {
179
+ osType?: string | undefined;
180
+ osVersion?: string | undefined;
181
+ hostId?: string | undefined;
182
+ hostArch?: string | undefined;
183
+ hostType?: string | undefined;
184
+ hostIpAddresses?: string | undefined;
185
+ cpuCores?: number | undefined;
186
+ totalMemoryBytes?: number | undefined;
187
+ processCount?: number | undefined;
188
+ containerRuntime?: string | undefined;
189
+ dockerHostId?: ObjectID | undefined;
190
+ kubernetesClusterId?: ObjectID | undefined;
191
+ }): string {
192
+ const normalized: Record<string, string | number | null> = {
193
+ osType: extra?.osType ?? null,
194
+ osVersion: extra?.osVersion ?? null,
195
+ hostId: extra?.hostId ?? null,
196
+ hostArch: extra?.hostArch ?? null,
197
+ hostType: extra?.hostType ?? null,
198
+ hostIpAddresses: extra?.hostIpAddresses ?? null,
199
+ cpuCores: extra?.cpuCores ?? null,
200
+ totalMemoryBytes: extra?.totalMemoryBytes ?? null,
201
+ processCount: extra?.processCount ?? null,
202
+ containerRuntime: extra?.containerRuntime ?? null,
203
+ dockerHostId: extra?.dockerHostId?.toString() ?? null,
204
+ kubernetesClusterId: extra?.kubernetesClusterId?.toString() ?? null,
205
+ };
206
+
207
+ return crypto
208
+ .createHash("sha1")
209
+ .update(JSON.stringify(normalized))
210
+ .digest("hex");
211
+ }
212
+
189
213
  @CaptureSpan()
190
214
  public async markDisconnectedHosts(): Promise<void> {
191
215
  const fiveMinutesAgo: Date = OneUptimeDate.addRemoveMinutes(
@@ -275,11 +275,17 @@ export default class MonitorAlert {
275
275
  * Link the alert to the Host that emitted this series, if
276
276
  * the metric carried a `host.name` resource attribute. The
277
277
  * Host record was auto-discovered during OTel ingestion.
278
+ * Metric attributes are stored with the `resource.` prefix in
279
+ * ClickHouse, so the group-by dropdown surfaces
280
+ * `resource.host.name` — but accept the bare `host.name` too
281
+ * for any non-OTel ingest paths.
278
282
  */
279
283
  const hostName: string | undefined =
280
- typeof seriesLabels["host.name"] === "string"
281
- ? (seriesLabels["host.name"] as string)
282
- : undefined;
284
+ typeof seriesLabels["resource.host.name"] === "string"
285
+ ? (seriesLabels["resource.host.name"] as string)
286
+ : typeof seriesLabels["host.name"] === "string"
287
+ ? (seriesLabels["host.name"] as string)
288
+ : undefined;
283
289
 
284
290
  if (hostName) {
285
291
  const host: Host | null = await HostService.findOneBy({
@@ -320,11 +320,17 @@ export default class MonitorIncident {
320
320
  * Link the incident to the Host that emitted this series, if
321
321
  * the metric carried a `host.name` resource attribute. The
322
322
  * Host record was auto-discovered during OTel ingestion.
323
+ * Metric attributes are stored with the `resource.` prefix in
324
+ * ClickHouse, so the group-by dropdown surfaces
325
+ * `resource.host.name` — but accept the bare `host.name` too
326
+ * for any non-OTel ingest paths.
323
327
  */
324
328
  const hostName: string | undefined =
325
- typeof seriesLabels["host.name"] === "string"
326
- ? (seriesLabels["host.name"] as string)
327
- : undefined;
329
+ typeof seriesLabels["resource.host.name"] === "string"
330
+ ? (seriesLabels["resource.host.name"] as string)
331
+ : typeof seriesLabels["host.name"] === "string"
332
+ ? (seriesLabels["host.name"] as string)
333
+ : undefined;
328
334
 
329
335
  if (hostName) {
330
336
  const host: Host | null = await HostService.findOneBy({
@@ -736,7 +736,8 @@ const AreaChart: React.ForwardRefExoticComponent<
736
736
  dataKey={index}
737
737
  interval={startEndOnly ? "preserveStartEnd" : intervalType}
738
738
  tick={{
739
- transform: "translate(0, 8)",
739
+ transform: "translate(0, 6)",
740
+ fontSize: 10,
740
741
  fontWeight: 500,
741
742
  }}
742
743
  ticks={
@@ -752,7 +753,7 @@ const AreaChart: React.ForwardRefExoticComponent<
752
753
  }
753
754
  fill=""
754
755
  stroke=""
755
- className={cx("text-xs tabular-nums", "fill-gray-600")}
756
+ className={cx("tabular-nums", "fill-gray-500")}
756
757
  tickLine={false}
757
758
  axisLine={false}
758
759
  minTickGap={tickGap}
@@ -776,11 +777,12 @@ const AreaChart: React.ForwardRefExoticComponent<
776
777
  domain={yAxisDomain as AxisDomain}
777
778
  tick={{
778
779
  transform: "translate(-4, 0)",
780
+ fontSize: 10,
779
781
  fontWeight: 500,
780
782
  }}
781
783
  fill=""
782
784
  stroke=""
783
- className={cx("text-xs tabular-nums", "fill-gray-600")}
785
+ className={cx("tabular-nums", "fill-gray-500")}
784
786
  tickFormatter={valueFormatter}
785
787
  allowDecimals={allowDecimals}
786
788
  >
@@ -815,16 +815,17 @@ const BarChart: React.ForwardRefExoticComponent<
815
815
  hide={!showXAxis}
816
816
  tick={{
817
817
  transform:
818
- layout !== "vertical" ? "translate(0, 8)" : undefined,
818
+ layout !== "vertical" ? "translate(0, 6)" : undefined,
819
+ fontSize: 10,
819
820
  fontWeight: 500,
820
821
  }}
821
822
  fill=""
822
823
  stroke=""
823
824
  className={cx(
824
825
  // base
825
- "text-xs tabular-nums",
826
+ "tabular-nums",
826
827
  // text fill
827
- "fill-gray-600",
828
+ "fill-gray-500",
828
829
  { "mt-4": layout !== "vertical" },
829
830
  )}
830
831
  tickLine={false}
@@ -874,15 +875,16 @@ const BarChart: React.ForwardRefExoticComponent<
874
875
  stroke=""
875
876
  className={cx(
876
877
  // base
877
- "text-xs tabular-nums",
878
+ "tabular-nums",
878
879
  // text fill
879
- "fill-gray-600",
880
+ "fill-gray-500",
880
881
  )}
881
882
  tick={{
882
883
  transform:
883
884
  layout !== "vertical"
884
885
  ? "translate(-4, 0)"
885
886
  : "translate(0, 0)",
887
+ fontSize: 10,
886
888
  fontWeight: 500,
887
889
  }}
888
890
  {...(layout !== "vertical"
@@ -730,7 +730,8 @@ const LineChart: React.ForwardRefExoticComponent<
730
730
  dataKey={index}
731
731
  interval={startEndOnly ? "preserveStartEnd" : intervalType}
732
732
  tick={{
733
- transform: "translate(0, 8)",
733
+ transform: "translate(0, 6)",
734
+ fontSize: 10,
734
735
  fontWeight: 500,
735
736
  }}
736
737
  ticks={
@@ -745,9 +746,9 @@ const LineChart: React.ForwardRefExoticComponent<
745
746
  stroke=""
746
747
  className={cx(
747
748
  // base
748
- "text-xs tabular-nums",
749
+ "tabular-nums",
749
750
  // text fill
750
- "fill-gray-600",
751
+ "fill-gray-500",
751
752
  )}
752
753
  tickLine={false}
753
754
  axisLine={false}
@@ -772,15 +773,16 @@ const LineChart: React.ForwardRefExoticComponent<
772
773
  domain={yAxisDomain as AxisDomain}
773
774
  tick={{
774
775
  transform: "translate(-4, 0)",
776
+ fontSize: 10,
775
777
  fontWeight: 500,
776
778
  }}
777
779
  fill=""
778
780
  stroke=""
779
781
  className={cx(
780
782
  // base
781
- "text-xs tabular-nums",
783
+ "tabular-nums",
782
784
  // text fill
783
- "fill-gray-600",
785
+ "fill-gray-500",
784
786
  )}
785
787
  tickFormatter={valueFormatter}
786
788
  allowDecimals={allowDecimals}
@@ -1021,6 +1021,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
1021
1021
  setItemsOnPage(tableView.itemsOnPage || 10);
1022
1022
  setSortBy((sortBy as keyof TBaseModel) || null);
1023
1023
  setSortOrder(sortOrder);
1024
+ setCurrentPageNumber(1);
1024
1025
 
1025
1026
  if (classicTableFilters.length === 0) {
1026
1027
  await getFilterDropdownItems();
@@ -1030,6 +1031,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
1030
1031
  setSortBy(null);
1031
1032
  setSortOrder(SortOrder.Descending);
1032
1033
  setItemsOnPage(10);
1034
+ setCurrentPageNumber(1);
1033
1035
  }
1034
1036
  }}
1035
1037
  />
@@ -1486,6 +1488,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
1486
1488
  const newQuery: Query<TBaseModel> = {};
1487
1489
 
1488
1490
  setFilterData(filterData);
1491
+ setCurrentPageNumber(1);
1489
1492
 
1490
1493
  for (const key in filterData) {
1491
1494
  if (filterData[key] && typeof filterData[key] === Typeof.String) {
@@ -15,6 +15,7 @@ import QueryHelper from "../Types/Database/QueryHelper";
15
15
  import OneUptimeDate from "../../Types/Date";
16
16
  import LIMIT_MAX from "../../Types/Database/LimitMax";
17
17
  import GlobalCache from "../Infrastructure/GlobalCache";
18
+ import crypto from "crypto";
18
19
  const LAST_SEEN_CACHE_NAMESPACE = "docker-host-last-seen";
19
20
  const LAST_SEEN_THROTTLE_SECONDS = 60;
20
21
  export class Service extends DatabaseService {
@@ -82,14 +83,20 @@ export class Service extends DatabaseService {
82
83
  }
83
84
  }
84
85
  async updateLastSeen(hostId, extra) {
86
+ var _a, _b;
85
87
  const cacheKey = hostId.toString();
88
+ const extrasFingerprint = crypto
89
+ .createHash("sha1")
90
+ .update(JSON.stringify({
91
+ osType: (_a = extra === null || extra === void 0 ? void 0 : extra.osType) !== null && _a !== void 0 ? _a : null,
92
+ osVersion: (_b = extra === null || extra === void 0 ? void 0 : extra.osVersion) !== null && _b !== void 0 ? _b : null,
93
+ }))
94
+ .digest("hex");
86
95
  const cached = await GlobalCache.getString(LAST_SEEN_CACHE_NAMESPACE, cacheKey);
87
- if (cached) {
88
- return; // another pod already updated recently
96
+ if (cached === extrasFingerprint) {
97
+ return; // same data was written recently
89
98
  }
90
- await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, "1", {
91
- expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS,
92
- });
99
+ await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, extrasFingerprint, { expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS });
93
100
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
94
101
  const data = {
95
102
  lastSeenAt: OneUptimeDate.getCurrentDate(),
@@ -1 +1 @@
1
- {"version":3,"file":"DockerHostService.js","sourceRoot":"","sources":["../../../../Server/Services/DockerHostService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DockerHostService.js","sourceRoot":"","sources":["../../../../Server/Services/DockerHostService.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ import QueryHelper from "../Types/Database/QueryHelper";
15
15
  import OneUptimeDate from "../../Types/Date";
16
16
  import LIMIT_MAX from "../../Types/Database/LimitMax";
17
17
  import GlobalCache from "../Infrastructure/GlobalCache";
18
+ import crypto from "crypto";
18
19
  const LAST_SEEN_CACHE_NAMESPACE = "host-last-seen";
19
20
  const LAST_SEEN_THROTTLE_SECONDS = 60;
20
21
  export class Service extends DatabaseService {
@@ -77,33 +78,19 @@ export class Service extends DatabaseService {
77
78
  }
78
79
  async updateLastSeen(hostId, extra) {
79
80
  /*
80
- * Throttle the lightweight "lastSeenAt + status" pings — those
81
- * arrive at every metric / log / trace batch and don't carry new
82
- * information. Pings that bring richer state (host metadata,
83
- * cached infra stats, runtime detection, FK links) bypass the
84
- * cache so the values land promptly.
81
+ * Throttle: the same telemetry batch repeats every metric/log/trace
82
+ * push and re-sends identical host metadata. Skip the DB write when
83
+ * we recently wrote the exact same values; only refresh `lastSeenAt`
84
+ * once per throttle window. If any extra value changed (e.g. cpuCores
85
+ * updated, IP address changed), bust the cache and write immediately.
85
86
  */
86
- const hasRichExtras = Boolean(extra &&
87
- (extra.hostId ||
88
- extra.hostArch ||
89
- extra.hostType ||
90
- extra.hostIpAddresses ||
91
- extra.cpuCores !== undefined ||
92
- extra.totalMemoryBytes !== undefined ||
93
- extra.processCount !== undefined ||
94
- extra.containerRuntime ||
95
- extra.dockerHostId ||
96
- extra.kubernetesClusterId));
97
- if (!hasRichExtras) {
98
- const cacheKey = hostId.toString();
99
- const cached = await GlobalCache.getString(LAST_SEEN_CACHE_NAMESPACE, cacheKey);
100
- if (cached) {
101
- return; // another pod already updated recently
102
- }
103
- await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, "1", {
104
- expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS,
105
- });
87
+ const cacheKey = hostId.toString();
88
+ const extrasFingerprint = this.fingerprintExtras(extra);
89
+ const cached = await GlobalCache.getString(LAST_SEEN_CACHE_NAMESPACE, cacheKey);
90
+ if (cached === extrasFingerprint) {
91
+ return; // same data was written recently
106
92
  }
93
+ await GlobalCache.setString(LAST_SEEN_CACHE_NAMESPACE, cacheKey, extrasFingerprint, { expiresInSeconds: LAST_SEEN_THROTTLE_SECONDS });
107
94
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
108
95
  const data = {
109
96
  lastSeenAt: OneUptimeDate.getCurrentDate(),
@@ -153,6 +140,27 @@ export class Service extends DatabaseService {
153
140
  },
154
141
  });
155
142
  }
143
+ fingerprintExtras(extra) {
144
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
145
+ const normalized = {
146
+ osType: (_a = extra === null || extra === void 0 ? void 0 : extra.osType) !== null && _a !== void 0 ? _a : null,
147
+ osVersion: (_b = extra === null || extra === void 0 ? void 0 : extra.osVersion) !== null && _b !== void 0 ? _b : null,
148
+ hostId: (_c = extra === null || extra === void 0 ? void 0 : extra.hostId) !== null && _c !== void 0 ? _c : null,
149
+ hostArch: (_d = extra === null || extra === void 0 ? void 0 : extra.hostArch) !== null && _d !== void 0 ? _d : null,
150
+ hostType: (_e = extra === null || extra === void 0 ? void 0 : extra.hostType) !== null && _e !== void 0 ? _e : null,
151
+ hostIpAddresses: (_f = extra === null || extra === void 0 ? void 0 : extra.hostIpAddresses) !== null && _f !== void 0 ? _f : null,
152
+ cpuCores: (_g = extra === null || extra === void 0 ? void 0 : extra.cpuCores) !== null && _g !== void 0 ? _g : null,
153
+ totalMemoryBytes: (_h = extra === null || extra === void 0 ? void 0 : extra.totalMemoryBytes) !== null && _h !== void 0 ? _h : null,
154
+ processCount: (_j = extra === null || extra === void 0 ? void 0 : extra.processCount) !== null && _j !== void 0 ? _j : null,
155
+ containerRuntime: (_k = extra === null || extra === void 0 ? void 0 : extra.containerRuntime) !== null && _k !== void 0 ? _k : null,
156
+ dockerHostId: (_m = (_l = extra === null || extra === void 0 ? void 0 : extra.dockerHostId) === null || _l === void 0 ? void 0 : _l.toString()) !== null && _m !== void 0 ? _m : null,
157
+ kubernetesClusterId: (_p = (_o = extra === null || extra === void 0 ? void 0 : extra.kubernetesClusterId) === null || _o === void 0 ? void 0 : _o.toString()) !== null && _p !== void 0 ? _p : null,
158
+ };
159
+ return crypto
160
+ .createHash("sha1")
161
+ .update(JSON.stringify(normalized))
162
+ .digest("hex");
163
+ }
156
164
  async markDisconnectedHosts() {
157
165
  const fiveMinutesAgo = OneUptimeDate.addRemoveMinutes(OneUptimeDate.getCurrentDate(), -5);
158
166
  const connectedHosts = await this.findBy({
@@ -1 +1 @@
1
- {"version":3,"file":"HostService.js","sourceRoot":"","sources":["../../../../Server/Services/HostService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HostService.js","sourceRoot":"","sources":["../../../../Server/Services/HostService.ts"],"names":[],"mappings":"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"}
@@ -193,10 +193,16 @@ export default class MonitorAlert {
193
193
  * Link the alert to the Host that emitted this series, if
194
194
  * the metric carried a `host.name` resource attribute. The
195
195
  * Host record was auto-discovered during OTel ingestion.
196
+ * Metric attributes are stored with the `resource.` prefix in
197
+ * ClickHouse, so the group-by dropdown surfaces
198
+ * `resource.host.name` — but accept the bare `host.name` too
199
+ * for any non-OTel ingest paths.
196
200
  */
197
- const hostName = typeof seriesLabels["host.name"] === "string"
198
- ? seriesLabels["host.name"]
199
- : undefined;
201
+ const hostName = typeof seriesLabels["resource.host.name"] === "string"
202
+ ? seriesLabels["resource.host.name"]
203
+ : typeof seriesLabels["host.name"] === "string"
204
+ ? seriesLabels["host.name"]
205
+ : undefined;
200
206
  if (hostName) {
201
207
  const host = await HostService.findOneBy({
202
208
  query: {
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorAlert.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorAlert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorAlert.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorAlert.ts"],"names":[],"mappings":"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"}
@@ -217,10 +217,16 @@ export default class MonitorIncident {
217
217
  * Link the incident to the Host that emitted this series, if
218
218
  * the metric carried a `host.name` resource attribute. The
219
219
  * Host record was auto-discovered during OTel ingestion.
220
+ * Metric attributes are stored with the `resource.` prefix in
221
+ * ClickHouse, so the group-by dropdown surfaces
222
+ * `resource.host.name` — but accept the bare `host.name` too
223
+ * for any non-OTel ingest paths.
220
224
  */
221
- const hostName = typeof seriesLabels["host.name"] === "string"
222
- ? seriesLabels["host.name"]
223
- : undefined;
225
+ const hostName = typeof seriesLabels["resource.host.name"] === "string"
226
+ ? seriesLabels["resource.host.name"]
227
+ : typeof seriesLabels["host.name"] === "string"
228
+ ? seriesLabels["host.name"]
229
+ : undefined;
224
230
  if (hostName) {
225
231
  const host = await HostService.findOneBy({
226
232
  query: {