@oneuptime/common 10.4.10 → 10.4.12

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 (174) hide show
  1. package/Models/AnalyticsModels/ExceptionInstance.ts +47 -1
  2. package/Models/AnalyticsModels/Log.ts +47 -1
  3. package/Models/AnalyticsModels/Metric.ts +1 -7
  4. package/Models/AnalyticsModels/Profile.ts +47 -1
  5. package/Models/AnalyticsModels/ProfileSample.ts +47 -1
  6. package/Models/AnalyticsModels/Span.ts +47 -1
  7. package/Models/DatabaseModels/Alert.ts +332 -0
  8. package/Models/DatabaseModels/DockerHost.ts +83 -0
  9. package/Models/DatabaseModels/Host.ts +83 -0
  10. package/Models/DatabaseModels/Incident.ts +332 -0
  11. package/Models/DatabaseModels/Index.ts +0 -2
  12. package/Models/DatabaseModels/KubernetesCluster.ts +83 -0
  13. package/Models/DatabaseModels/RunbookAgent.ts +16 -2
  14. package/Server/EnvironmentConfig.ts +16 -0
  15. package/Server/Infrastructure/ClickhouseConfig.ts +14 -0
  16. package/Server/Infrastructure/ClickhouseDatabase.ts +20 -3
  17. package/Server/Infrastructure/InMemoryTTLCache.ts +61 -0
  18. package/Server/Infrastructure/Postgres/SchemaMigrations/1779199346010-AddTelemetryRetentionConfig.ts +1 -1
  19. package/Server/Infrastructure/Postgres/SchemaMigrations/1779277271302-DropServiceDependencyTable.ts +44 -0
  20. package/Server/Infrastructure/Postgres/SchemaMigrations/1779282769946-AddTelemetryRetentionToHostDockerKubernetes.ts +50 -0
  21. package/Server/Infrastructure/Postgres/SchemaMigrations/1779302536475-AttachKubernetesAndDockerToIncidentAndAlert.ts +253 -0
  22. package/Server/Infrastructure/Postgres/SchemaMigrations/1779303924241-AttachServiceToIncidentAndAlert.ts +60 -0
  23. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  24. package/Server/Middleware/TelemetryIngest.ts +6 -38
  25. package/Server/Middleware/UserAuthorization.ts +1 -11
  26. package/Server/Services/AlertService.ts +2 -4
  27. package/Server/Services/AnalyticsDatabaseService.ts +33 -1
  28. package/Server/Services/IncidentService.ts +2 -4
  29. package/Server/Services/Index.ts +0 -2
  30. package/Server/Services/LogAggregationService.ts +54 -6
  31. package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +6 -0
  32. package/Server/Services/OnCallDutyPolicyEscalationRuleService.ts +1 -0
  33. package/Server/Services/OnCallDutyPolicyScheduleService.ts +17 -0
  34. package/Server/Services/OpenTelemetryIngestService.ts +132 -0
  35. package/Server/Services/TelemetryIngestionKeyService.ts +90 -1
  36. package/Server/Services/TraceAggregationService.ts +83 -8
  37. package/Server/Utils/Monitor/MonitorMetricUtil.ts +2 -4
  38. package/Server/Utils/Telemetry/Telemetry.ts +38 -0
  39. package/Tests/Server/Middleware/UserAuthorization.test.ts +5 -7
  40. package/Types/Dashboard/DashboardComponentType.ts +0 -1
  41. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +2 -0
  42. package/Types/Dashboard/DashboardComponents/DashboardTableComponent.ts +74 -1
  43. package/Types/Dashboard/DashboardTemplates.ts +164 -51
  44. package/Types/Monitor/MonitorType.ts +1 -1
  45. package/Types/OnCallDutyPolicy/UserOverrideUtil.ts +36 -9
  46. package/Types/Permission.ts +0 -46
  47. package/Types/Telemetry/ServiceType.ts +19 -0
  48. package/UI/Components/Forms/Validation.ts +2 -2
  49. package/UI/Components/LogsViewer/LogsViewer.tsx +135 -17
  50. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +84 -1
  51. package/UI/Components/Telemetry/TelemetryRetentionConfigForm.tsx +0 -1
  52. package/Utils/Dashboard/Components/DashboardTableComponent.ts +80 -17
  53. package/Utils/Dashboard/Components/Index.ts +0 -7
  54. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +41 -1
  55. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  56. package/build/dist/Models/AnalyticsModels/Log.js +41 -1
  57. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  58. package/build/dist/Models/AnalyticsModels/Metric.js +0 -7
  59. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  60. package/build/dist/Models/AnalyticsModels/Profile.js +41 -1
  61. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  62. package/build/dist/Models/AnalyticsModels/ProfileSample.js +41 -1
  63. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  64. package/build/dist/Models/AnalyticsModels/Span.js +41 -1
  65. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  66. package/build/dist/Models/DatabaseModels/Alert.js +324 -0
  67. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  68. package/build/dist/Models/DatabaseModels/DockerHost.js +84 -0
  69. package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
  70. package/build/dist/Models/DatabaseModels/Host.js +84 -0
  71. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  72. package/build/dist/Models/DatabaseModels/Incident.js +324 -0
  73. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  74. package/build/dist/Models/DatabaseModels/Index.js +0 -2
  75. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  76. package/build/dist/Models/DatabaseModels/KubernetesCluster.js +84 -0
  77. package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
  78. package/build/dist/Models/DatabaseModels/RunbookAgent.js +16 -2
  79. package/build/dist/Models/DatabaseModels/RunbookAgent.js.map +1 -1
  80. package/build/dist/Server/EnvironmentConfig.js +8 -0
  81. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  82. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +9 -1
  83. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  84. package/build/dist/Server/Infrastructure/ClickhouseDatabase.js +12 -3
  85. package/build/dist/Server/Infrastructure/ClickhouseDatabase.js.map +1 -1
  86. package/build/dist/Server/Infrastructure/InMemoryTTLCache.js +49 -0
  87. package/build/dist/Server/Infrastructure/InMemoryTTLCache.js.map +1 -0
  88. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779199346010-AddTelemetryRetentionConfig.js.map +1 -1
  89. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779277271302-DropServiceDependencyTable.js +42 -0
  90. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779277271302-DropServiceDependencyTable.js.map +1 -0
  91. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779282769946-AddTelemetryRetentionToHostDockerKubernetes.js +22 -0
  92. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779282769946-AddTelemetryRetentionToHostDockerKubernetes.js.map +1 -0
  93. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779302536475-AttachKubernetesAndDockerToIncidentAndAlert.js +100 -0
  94. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779302536475-AttachKubernetesAndDockerToIncidentAndAlert.js.map +1 -0
  95. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779303924241-AttachServiceToIncidentAndAlert.js +28 -0
  96. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1779303924241-AttachServiceToIncidentAndAlert.js.map +1 -0
  97. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  98. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  99. package/build/dist/Server/Middleware/TelemetryIngest.js +2 -26
  100. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  101. package/build/dist/Server/Middleware/UserAuthorization.js +1 -7
  102. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  103. package/build/dist/Server/Services/AlertService.js +2 -1
  104. package/build/dist/Server/Services/AlertService.js.map +1 -1
  105. package/build/dist/Server/Services/AnalyticsDatabaseService.js +23 -2
  106. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  107. package/build/dist/Server/Services/IncidentService.js +2 -1
  108. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  109. package/build/dist/Server/Services/Index.js +0 -2
  110. package/build/dist/Server/Services/Index.js.map +1 -1
  111. package/build/dist/Server/Services/LogAggregationService.js +46 -4
  112. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  113. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +28 -24
  114. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
  115. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js +1 -1
  116. package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleService.js.map +1 -1
  117. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +18 -2
  118. package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
  119. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -0
  120. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  121. package/build/dist/Server/Services/TelemetryIngestionKeyService.js +83 -0
  122. package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
  123. package/build/dist/Server/Services/TraceAggregationService.js +66 -6
  124. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  125. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +2 -1
  126. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  127. package/build/dist/Server/Utils/Telemetry/Telemetry.js +26 -0
  128. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  129. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +3 -7
  130. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +1 -1
  131. package/build/dist/Types/Dashboard/DashboardComponentType.js +0 -1
  132. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  133. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +2 -0
  134. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  135. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js +13 -1
  136. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js.map +1 -1
  137. package/build/dist/Types/Dashboard/DashboardTemplates.js +142 -42
  138. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  139. package/build/dist/Types/Monitor/MonitorType.js +1 -1
  140. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  141. package/build/dist/Types/OnCallDutyPolicy/UserOverrideUtil.js +27 -7
  142. package/build/dist/Types/OnCallDutyPolicy/UserOverrideUtil.js.map +1 -1
  143. package/build/dist/Types/Permission.js +0 -40
  144. package/build/dist/Types/Permission.js.map +1 -1
  145. package/build/dist/Types/Telemetry/ServiceType.js +20 -0
  146. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -0
  147. package/build/dist/UI/Components/Forms/Validation.js +2 -2
  148. package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
  149. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +106 -16
  150. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  151. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +67 -1
  152. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  153. package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js.map +1 -1
  154. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js +68 -16
  155. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js.map +1 -1
  156. package/build/dist/Utils/Dashboard/Components/Index.js +0 -4
  157. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  158. package/package.json +1 -2
  159. package/Models/DatabaseModels/ServiceDependency.ts +0 -529
  160. package/Server/Services/ServiceDependencyService.ts +0 -48
  161. package/Types/Dashboard/DashboardComponents/DashboardHostMetricChartComponent.ts +0 -27
  162. package/Typings/elkjs.d.ts +0 -30
  163. package/UI/Components/Graphs/ServiceDependencyGraph.tsx +0 -286
  164. package/Utils/Dashboard/Components/DashboardHostMetricChartComponent.ts +0 -132
  165. package/build/dist/Models/DatabaseModels/ServiceDependency.js +0 -545
  166. package/build/dist/Models/DatabaseModels/ServiceDependency.js.map +0 -1
  167. package/build/dist/Server/Services/ServiceDependencyService.js +0 -47
  168. package/build/dist/Server/Services/ServiceDependencyService.js.map +0 -1
  169. package/build/dist/Types/Dashboard/DashboardComponents/DashboardHostMetricChartComponent.js +0 -11
  170. package/build/dist/Types/Dashboard/DashboardComponents/DashboardHostMetricChartComponent.js.map +0 -1
  171. package/build/dist/UI/Components/Graphs/ServiceDependencyGraph.js +0 -206
  172. package/build/dist/UI/Components/Graphs/ServiceDependencyGraph.js.map +0 -1
  173. package/build/dist/Utils/Dashboard/Components/DashboardHostMetricChartComponent.js +0 -113
  174. package/build/dist/Utils/Dashboard/Components/DashboardHostMetricChartComponent.js.map +0 -1
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Discriminator stored in the `serviceType` column of every telemetry
3
+ * row. Tells the read side which Postgres table the row's `serviceId`
4
+ * points at (the column name is historical — semantically it's a
5
+ * resource-type discriminator, since hosts, docker hosts, k8s clusters
6
+ * and monitors all reuse the `serviceId` slot to avoid synthesising
7
+ * placeholder Service rows just to satisfy the ClickHouse primary key).
8
+ */
9
+ enum ServiceType {
10
+ OpenTelemetry = "OpenTelemetry",
11
+ Monitor = "Monitor",
12
+ Alert = "Alert",
13
+ Incident = "Incident",
14
+ Host = "Host",
15
+ DockerHost = "DockerHost",
16
+ KubernetesCluster = "KubernetesCluster",
17
+ }
18
+
19
+ export default ServiceType;
@@ -47,8 +47,8 @@ export default class Validation {
47
47
  }
48
48
 
49
49
  if (field.validation.noSpecialCharacters) {
50
- if (!content.match(/^[A-Za-z0-9]*$/)) {
51
- return `${field.title || name} should not have special characters.`;
50
+ if (!content.match(/^[A-Za-z0-9_-]*$/)) {
51
+ return `${field.title || name} can only contain letters, numbers, hyphens (-), and underscores (_).`;
52
52
  }
53
53
  }
54
54
 
@@ -21,6 +21,9 @@ import { APP_API_URL } from "../../Config";
21
21
  import PageLoader from "../Loader/PageLoader";
22
22
  import ErrorMessage from "../ErrorMessage/ErrorMessage";
23
23
  import Service from "../../../Models/DatabaseModels/Service";
24
+ import Host from "../../../Models/DatabaseModels/Host";
25
+ import DockerHost from "../../../Models/DatabaseModels/DockerHost";
26
+ import KubernetesCluster from "../../../Models/DatabaseModels/KubernetesCluster";
24
27
  import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
25
28
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
26
29
  import ListResult from "../../../Types/BaseDatabase/ListResult";
@@ -210,6 +213,13 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
210
213
  const [pageError, setPageError] = useState<string>("");
211
214
 
212
215
  const [serviceMap, setServiceMap] = useState<Dictionary<Service>>({});
216
+ const [hostMap, setHostMap] = useState<Dictionary<Host>>({});
217
+ const [dockerHostMap, setDockerHostMap] = useState<Dictionary<DockerHost>>(
218
+ {},
219
+ );
220
+ const [kubernetesClusterMap, setKubernetesClusterMap] = useState<
221
+ Dictionary<KubernetesCluster>
222
+ >({});
213
223
 
214
224
  const [selectedLogId, setSelectedLogId] = useState<string | null>(null);
215
225
  const [focusedRowIndex, setFocusedRowIndex] = useState<number>(-1);
@@ -373,33 +383,105 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
373
383
  setIsPageLoading(true);
374
384
  setPageError("");
375
385
 
376
- const telemetryServices: ListResult<Service> = await ModelAPI.getList({
377
- modelType: Service,
378
- query: {},
379
- select: {
380
- name: true,
381
- serviceColor: true,
382
- },
383
- limit: LIMIT_PER_PROJECT,
384
- skip: 0,
385
- sort: {
386
- name: SortOrder.Ascending,
387
- },
388
- });
389
- const services: Dictionary<Service> = {};
386
+ const [telemetryServices, hosts, dockerHosts, kubernetesClusters]: [
387
+ ListResult<Service>,
388
+ ListResult<Host>,
389
+ ListResult<DockerHost>,
390
+ ListResult<KubernetesCluster>,
391
+ ] = await Promise.all([
392
+ ModelAPI.getList({
393
+ modelType: Service,
394
+ query: {},
395
+ select: {
396
+ name: true,
397
+ serviceColor: true,
398
+ },
399
+ limit: LIMIT_PER_PROJECT,
400
+ skip: 0,
401
+ sort: {
402
+ name: SortOrder.Ascending,
403
+ },
404
+ }),
405
+ ModelAPI.getList({
406
+ modelType: Host,
407
+ query: {},
408
+ select: {
409
+ name: true,
410
+ hostIdentifier: true,
411
+ },
412
+ limit: LIMIT_PER_PROJECT,
413
+ skip: 0,
414
+ sort: {
415
+ name: SortOrder.Ascending,
416
+ },
417
+ }),
418
+ ModelAPI.getList({
419
+ modelType: DockerHost,
420
+ query: {},
421
+ select: {
422
+ name: true,
423
+ hostIdentifier: true,
424
+ },
425
+ limit: LIMIT_PER_PROJECT,
426
+ skip: 0,
427
+ sort: {
428
+ name: SortOrder.Ascending,
429
+ },
430
+ }),
431
+ ModelAPI.getList({
432
+ modelType: KubernetesCluster,
433
+ query: {},
434
+ select: {
435
+ name: true,
436
+ clusterIdentifier: true,
437
+ },
438
+ limit: LIMIT_PER_PROJECT,
439
+ skip: 0,
440
+ sort: {
441
+ name: SortOrder.Ascending,
442
+ },
443
+ }),
444
+ ]);
390
445
 
446
+ const services: Dictionary<Service> = {};
391
447
  telemetryServices.data.forEach((service: Service) => {
392
448
  if (!service.id) {
393
449
  return;
394
450
  }
395
-
396
451
  services[service.id.toString()] = service;
397
452
  });
398
453
 
454
+ const hostsById: Dictionary<Host> = {};
455
+ hosts.data.forEach((host: Host) => {
456
+ if (!host.id) {
457
+ return;
458
+ }
459
+ hostsById[host.id.toString()] = host;
460
+ });
461
+
462
+ const dockerHostsById: Dictionary<DockerHost> = {};
463
+ dockerHosts.data.forEach((dockerHost: DockerHost) => {
464
+ if (!dockerHost.id) {
465
+ return;
466
+ }
467
+ dockerHostsById[dockerHost.id.toString()] = dockerHost;
468
+ });
469
+
470
+ const clustersById: Dictionary<KubernetesCluster> = {};
471
+ kubernetesClusters.data.forEach((cluster: KubernetesCluster) => {
472
+ if (!cluster.id) {
473
+ return;
474
+ }
475
+ clustersById[cluster.id.toString()] = cluster;
476
+ });
477
+
399
478
  setServiceMap(services);
479
+ setHostMap(hostsById);
480
+ setDockerHostMap(dockerHostsById);
481
+ setKubernetesClusterMap(clustersById);
400
482
  } catch (err) {
401
483
  setPageError(
402
- `We couldn't load telemetry service metadata. ${API.getFriendlyErrorMessage(err as Error)}`,
484
+ `We couldn't load telemetry resource metadata. ${API.getFriendlyErrorMessage(err as Error)}`,
403
485
  );
404
486
  } finally {
405
487
  setIsPageLoading(false);
@@ -724,10 +806,43 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
724
806
  displayValue: service?.name || filter.value,
725
807
  };
726
808
  }
809
+ if (filter.facetKey === "hostId" && hostMap[filter.value]) {
810
+ const host: Host | undefined = hostMap[filter.value];
811
+ return {
812
+ ...filter,
813
+ displayValue: host?.name || host?.hostIdentifier || filter.value,
814
+ };
815
+ }
816
+ if (filter.facetKey === "dockerHostId" && dockerHostMap[filter.value]) {
817
+ const dockerHost: DockerHost | undefined = dockerHostMap[filter.value];
818
+ return {
819
+ ...filter,
820
+ displayValue:
821
+ dockerHost?.name || dockerHost?.hostIdentifier || filter.value,
822
+ };
823
+ }
824
+ if (
825
+ filter.facetKey === "kubernetesClusterId" &&
826
+ kubernetesClusterMap[filter.value]
827
+ ) {
828
+ const cluster: KubernetesCluster | undefined =
829
+ kubernetesClusterMap[filter.value];
830
+ return {
831
+ ...filter,
832
+ displayValue:
833
+ cluster?.name || cluster?.clusterIdentifier || filter.value,
834
+ };
835
+ }
727
836
 
728
837
  return filter;
729
838
  });
730
- }, [props.activeFilters, serviceMap]);
839
+ }, [
840
+ props.activeFilters,
841
+ serviceMap,
842
+ hostMap,
843
+ dockerHostMap,
844
+ kubernetesClusterMap,
845
+ ]);
731
846
 
732
847
  /*
733
848
  * Replace serviceId UUIDs with human-readable names in value suggestions,
@@ -939,6 +1054,9 @@ const LogsViewer: FunctionComponent<ComponentProps> = (
939
1054
  facetData={props.facetData}
940
1055
  isLoading={props.facetLoading || false}
941
1056
  serviceMap={serviceMap}
1057
+ hostMap={hostMap}
1058
+ dockerHostMap={dockerHostMap}
1059
+ kubernetesClusterMap={kubernetesClusterMap}
942
1060
  onIncludeFilter={props.onFacetInclude || (() => {})}
943
1061
  onExcludeFilter={props.onFacetExclude || (() => {})}
944
1062
  activeFilters={props.activeFilters}
@@ -7,6 +7,9 @@ import {
7
7
  } from "../types";
8
8
  import FacetSection from "./FacetSection";
9
9
  import Service from "../../../../Models/DatabaseModels/Service";
10
+ import Host from "../../../../Models/DatabaseModels/Host";
11
+ import DockerHost from "../../../../Models/DatabaseModels/DockerHost";
12
+ import KubernetesCluster from "../../../../Models/DatabaseModels/KubernetesCluster";
10
13
  import Dictionary from "../../../../Types/Dictionary";
11
14
  import ComponentLoader from "../../ComponentLoader/ComponentLoader";
12
15
  import { getSeverityColor } from "./severityColors";
@@ -16,6 +19,9 @@ export interface LogsFacetSidebarProps {
16
19
  facetData: FacetData;
17
20
  isLoading: boolean;
18
21
  serviceMap: Dictionary<Service>;
22
+ hostMap?: Dictionary<Host>;
23
+ dockerHostMap?: Dictionary<DockerHost>;
24
+ kubernetesClusterMap?: Dictionary<KubernetesCluster>;
19
25
  onIncludeFilter: (facetKey: string, value: string) => void;
20
26
  onExcludeFilter: (facetKey: string, value: string) => void;
21
27
  activeFilters?: Array<ActiveFilter> | undefined;
@@ -72,10 +78,63 @@ function buildServiceColorMap(
72
78
  return map;
73
79
  }
74
80
 
81
+ function buildHostDisplayMap(
82
+ hostMap: Dictionary<Host> | undefined,
83
+ ): Record<string, string> {
84
+ const map: Record<string, string> = {};
85
+ if (!hostMap) {
86
+ return map;
87
+ }
88
+ for (const [id, host] of Object.entries(hostMap)) {
89
+ const label: string | undefined = host?.name || host?.hostIdentifier;
90
+ if (label) {
91
+ map[id] = label;
92
+ }
93
+ }
94
+ return map;
95
+ }
96
+
97
+ function buildDockerHostDisplayMap(
98
+ dockerHostMap: Dictionary<DockerHost> | undefined,
99
+ ): Record<string, string> {
100
+ const map: Record<string, string> = {};
101
+ if (!dockerHostMap) {
102
+ return map;
103
+ }
104
+ for (const [id, dockerHost] of Object.entries(dockerHostMap)) {
105
+ const label: string | undefined =
106
+ dockerHost?.name || dockerHost?.hostIdentifier;
107
+ if (label) {
108
+ map[id] = label;
109
+ }
110
+ }
111
+ return map;
112
+ }
113
+
114
+ function buildClusterDisplayMap(
115
+ clusterMap: Dictionary<KubernetesCluster> | undefined,
116
+ ): Record<string, string> {
117
+ const map: Record<string, string> = {};
118
+ if (!clusterMap) {
119
+ return map;
120
+ }
121
+ for (const [id, cluster] of Object.entries(clusterMap)) {
122
+ const label: string | undefined =
123
+ cluster?.name || cluster?.clusterIdentifier;
124
+ if (label) {
125
+ map[id] = label;
126
+ }
127
+ }
128
+ return map;
129
+ }
130
+
75
131
  function getFacetTitle(key: string): string {
76
132
  const titleMap: Record<string, string> = {
77
133
  severityText: "Severity",
78
134
  serviceId: "Service",
135
+ hostId: "Host",
136
+ dockerHostId: "Docker Host",
137
+ kubernetesClusterId: "Kubernetes Cluster",
79
138
  traceId: "Trace ID",
80
139
  spanId: "Span ID",
81
140
  };
@@ -98,8 +157,26 @@ const LogsFacetSidebar: FunctionComponent<LogsFacetSidebarProps> = (
98
157
  return buildServiceColorMap(props.serviceMap);
99
158
  }, [props.serviceMap]);
100
159
 
160
+ const hostDisplayMap: Record<string, string> = useMemo(() => {
161
+ return buildHostDisplayMap(props.hostMap);
162
+ }, [props.hostMap]);
163
+
164
+ const dockerHostDisplayMap: Record<string, string> = useMemo(() => {
165
+ return buildDockerHostDisplayMap(props.dockerHostMap);
166
+ }, [props.dockerHostMap]);
167
+
168
+ const clusterDisplayMap: Record<string, string> = useMemo(() => {
169
+ return buildClusterDisplayMap(props.kubernetesClusterMap);
170
+ }, [props.kubernetesClusterMap]);
171
+
101
172
  const facetKeys: Array<string> = useMemo(() => {
102
- const priorityKeys: Array<string> = ["severityText", "serviceId"];
173
+ const priorityKeys: Array<string> = [
174
+ "severityText",
175
+ "serviceId",
176
+ "hostId",
177
+ "dockerHostId",
178
+ "kubernetesClusterId",
179
+ ];
103
180
  const otherKeys: Array<string> = Object.keys(props.facetData).filter(
104
181
  (key: string) => {
105
182
  return !priorityKeys.includes(key);
@@ -191,6 +268,12 @@ const LogsFacetSidebar: FunctionComponent<LogsFacetSidebarProps> = (
191
268
  if (key === "serviceId") {
192
269
  valueDisplayMap = serviceDisplayMap;
193
270
  valueColorMap = serviceColorMap;
271
+ } else if (key === "hostId") {
272
+ valueDisplayMap = hostDisplayMap;
273
+ } else if (key === "dockerHostId") {
274
+ valueDisplayMap = dockerHostDisplayMap;
275
+ } else if (key === "kubernetesClusterId") {
276
+ valueDisplayMap = clusterDisplayMap;
194
277
  } else if (key === "severityText") {
195
278
  valueColorMap = severityColorMap;
196
279
  }
@@ -11,7 +11,6 @@ import FieldLabelElement from "../Detail/FieldLabel";
11
11
  import Input, { InputType } from "../Input/Input";
12
12
 
13
13
  export interface ComponentProps {
14
- error?: string | undefined;
15
14
  onChange?: ((value: TelemetryRetentionConfig | null) => void) | undefined;
16
15
  value?: TelemetryRetentionConfig | undefined;
17
16
  initialValue?: TelemetryRetentionConfig | undefined;
@@ -1,5 +1,9 @@
1
- import DashboardTableComponent from "../../../Types/Dashboard/DashboardComponents/DashboardTableComponent";
1
+ import DashboardTableComponent, {
2
+ TableColumnKind,
3
+ TableReduce,
4
+ } from "../../../Types/Dashboard/DashboardComponents/DashboardTableComponent";
2
5
  import { ObjectType } from "../../../Types/JSON";
6
+ import MetricsAggregationType from "../../../Types/Metrics/MetricsAggregationType";
3
7
  import ObjectID from "../../../Types/ObjectID";
4
8
  import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
9
  import {
@@ -9,15 +13,16 @@ import {
9
13
  } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
10
14
  import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
11
15
 
12
- const DataSourceSection: ComponentArgumentSection = {
13
- name: "Data Source",
14
- description: "Configure which metrics to display in the table",
16
+ const DataSection: ComponentArgumentSection = {
17
+ name: "Data",
18
+ description:
19
+ "Pick how rows are grouped, then add columns for metrics and formulas",
15
20
  order: 1,
16
21
  };
17
22
 
18
23
  const DisplaySection: ComponentArgumentSection = {
19
24
  name: "Display Options",
20
- description: "Customize the table appearance",
25
+ description: "Customize how the table renders",
21
26
  order: 2,
22
27
  defaultCollapsed: true,
23
28
  };
@@ -35,13 +40,22 @@ export default class DashboardTableComponentUtil extends DashboardBaseComponentU
35
40
  minHeightInDashboardUnits: 3,
36
41
  minWidthInDashboardUnits: 4,
37
42
  arguments: {
38
- metricQueryConfig: {
39
- metricQueryData: {
40
- filterData: {},
41
- groupBy: undefined,
43
+ groupByAttributes: [],
44
+ columns: [
45
+ {
46
+ id: ObjectID.generate().toString(),
47
+ variable: "a",
48
+ header: "Value",
49
+ kind: TableColumnKind.Metric,
50
+ showAsColumn: true,
51
+ metricName: undefined,
52
+ aggregation: MetricsAggregationType.Avg,
53
+ decimals: 2,
42
54
  },
43
- },
44
- maxRows: 20,
55
+ ],
56
+ maxRows: 25,
57
+ reduce: TableReduce.Last,
58
+ decimals: 2,
45
59
  },
46
60
  };
47
61
  }
@@ -54,12 +68,23 @@ export default class DashboardTableComponentUtil extends DashboardBaseComponentU
54
68
  > = [];
55
69
 
56
70
  componentArguments.push({
57
- name: "Metric Query",
58
- description: "Select the metrics to display in the table",
71
+ name: "Group By Attributes",
72
+ description:
73
+ "Each unique combination of these attribute values becomes one row. Customize the column header for each picked attribute below. Leave empty for a time-bucketed table.",
74
+ required: false,
75
+ type: ComponentInputType.TableGroupBy,
76
+ id: "groupByAttributes",
77
+ section: DataSection,
78
+ });
79
+
80
+ componentArguments.push({
81
+ name: "Metrics & Columns",
82
+ description:
83
+ "Define metrics (data sources) and formulas. Each is auto-assigned a variable letter (a, b, c…) — formulas reference these. Toggle 'Show as column' off for metrics that should only feed formulas without appearing in the table.",
59
84
  required: true,
60
- type: ComponentInputType.MetricsQueryConfig,
61
- id: "metricQueryConfig",
62
- section: DataSourceSection,
85
+ type: ComponentInputType.TableColumns,
86
+ id: "columns",
87
+ section: DataSection,
63
88
  });
64
89
 
65
90
  componentArguments.push({
@@ -71,13 +96,51 @@ export default class DashboardTableComponentUtil extends DashboardBaseComponentU
71
96
  section: DisplaySection,
72
97
  });
73
98
 
99
+ componentArguments.push({
100
+ name: "Description",
101
+ description: "Subtitle shown below the title",
102
+ required: false,
103
+ type: ComponentInputType.LongText,
104
+ id: "tableDescription",
105
+ section: DisplaySection,
106
+ });
107
+
108
+ componentArguments.push({
109
+ name: "Reduce across time",
110
+ description:
111
+ "When Group By is set, how to collapse the time series into one value per row",
112
+ required: false,
113
+ type: ComponentInputType.Dropdown,
114
+ id: "reduce",
115
+ placeholder: TableReduce.Last,
116
+ section: DisplaySection,
117
+ dropdownOptions: [
118
+ { label: "Last value", value: TableReduce.Last },
119
+ { label: "Average", value: TableReduce.Avg },
120
+ { label: "Sum", value: TableReduce.Sum },
121
+ { label: "Min", value: TableReduce.Min },
122
+ { label: "Max", value: TableReduce.Max },
123
+ ],
124
+ });
125
+
126
+ componentArguments.push({
127
+ name: "Decimals",
128
+ description:
129
+ "Default decimals for value columns (overridable per column)",
130
+ required: false,
131
+ type: ComponentInputType.Number,
132
+ id: "decimals",
133
+ placeholder: "2",
134
+ section: DisplaySection,
135
+ });
136
+
74
137
  componentArguments.push({
75
138
  name: "Max Rows",
76
139
  description: "Maximum number of rows to show",
77
140
  required: false,
78
141
  type: ComponentInputType.Number,
79
142
  id: "maxRows",
80
- placeholder: "20",
143
+ placeholder: "25",
81
144
  section: DisplaySection,
82
145
  });
83
146
 
@@ -11,7 +11,6 @@ import DashboardDockerNetworkListComponentUtil from "./DashboardDockerNetworkLis
11
11
  import DashboardDockerVolumeListComponentUtil from "./DashboardDockerVolumeListComponent";
12
12
  import DashboardGaugeComponentUtil from "./DashboardGaugeComponent";
13
13
  import DashboardHostListComponentUtil from "./DashboardHostListComponent";
14
- import DashboardHostMetricChartComponentUtil from "./DashboardHostMetricChartComponent";
15
14
  import DashboardIncidentListComponentUtil from "./DashboardIncidentListComponent";
16
15
  import DashboardKubernetesCronJobListComponentUtil from "./DashboardKubernetesCronJobListComponent";
17
16
  import DashboardKubernetesDaemonSetListComponentUtil from "./DashboardKubernetesDaemonSetListComponent";
@@ -187,12 +186,6 @@ export default class DashboardComponentsUtil {
187
186
  >;
188
187
  }
189
188
 
190
- if (dashboardComponentType === DashboardComponentType.HostMetricChart) {
191
- return DashboardHostMetricChartComponentUtil.getComponentConfigArguments() as Array<
192
- ComponentArgument<DashboardBaseComponent>
193
- >;
194
- }
195
-
196
189
  throw new BadDataException(
197
190
  `Unknown dashboard component type: ${dashboardComponentType}`,
198
191
  );
@@ -38,7 +38,7 @@ export default class ExceptionInstance extends AnalyticsBaseModel {
38
38
  const serviceIdColumn = new AnalyticsTableColumn({
39
39
  key: "serviceId",
40
40
  title: "Service ID",
41
- description: "ID of the Service which created the log",
41
+ description: "ID of the resource the exception belongs to (Service / Host / DockerHost / KubernetesCluster / Monitor — disambiguated by serviceType)",
42
42
  required: true,
43
43
  type: TableColumnType.ObjectID,
44
44
  accessControl: {
@@ -62,6 +62,39 @@ export default class ExceptionInstance extends AnalyticsBaseModel {
62
62
  update: [],
63
63
  },
64
64
  });
65
+ const serviceTypeColumn = new AnalyticsTableColumn({
66
+ key: "serviceType",
67
+ title: "Service Type",
68
+ description: "Discriminator for serviceId — tells the read side which resource table to dispatch to",
69
+ required: false,
70
+ type: TableColumnType.Text,
71
+ skipIndex: {
72
+ name: "idx_service_type",
73
+ type: SkipIndexType.Set,
74
+ params: [10],
75
+ granularity: 4,
76
+ },
77
+ accessControl: {
78
+ read: [
79
+ Permission.ProjectOwner,
80
+ Permission.ProjectAdmin,
81
+ Permission.ProjectMember,
82
+ Permission.TelemetryAdmin,
83
+ Permission.TelemetryMember,
84
+ Permission.TelemetryViewer,
85
+ Permission.ReadTelemetryException,
86
+ ],
87
+ create: [
88
+ Permission.ProjectOwner,
89
+ Permission.ProjectAdmin,
90
+ Permission.ProjectMember,
91
+ Permission.TelemetryAdmin,
92
+ Permission.TelemetryMember,
93
+ Permission.CreateTelemetryException,
94
+ ],
95
+ update: [],
96
+ },
97
+ });
65
98
  const timeColumn = new AnalyticsTableColumn({
66
99
  key: "time",
67
100
  title: "Time",
@@ -573,6 +606,7 @@ export default class ExceptionInstance extends AnalyticsBaseModel {
573
606
  tableColumns: [
574
607
  projectIdColumn,
575
608
  serviceIdColumn,
609
+ serviceTypeColumn,
576
610
  timeColumn,
577
611
  timeUnixNanoColumn,
578
612
  exceptionTypeColumn,
@@ -614,6 +648,12 @@ export default class ExceptionInstance extends AnalyticsBaseModel {
614
648
  set serviceId(v) {
615
649
  this.setColumnValue("serviceId", v);
616
650
  }
651
+ get serviceType() {
652
+ return this.getColumnValue("serviceType");
653
+ }
654
+ set serviceType(v) {
655
+ this.setColumnValue("serviceType", v);
656
+ }
617
657
  get time() {
618
658
  return this.getColumnValue("time");
619
659
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExceptionInstance.js","sourceRoot":"","sources":["../../../../Models/AnalyticsModels/ExceptionInstance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExceptionInstance.js","sourceRoot":"","sources":["../../../../Models/AnalyticsModels/ExceptionInstance.ts"],"names":[],"mappings":"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"}