@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
@@ -1,206 +0,0 @@
1
- import React, { useEffect, useState, } from "react";
2
- import ReactFlow, { Background, Controls, MarkerType, MiniMap, Position, } from "reactflow";
3
- import "reactflow/dist/style.css";
4
- import ELK from "elkjs/lib/elk.bundled.js";
5
- const ServiceDependencyGraph = (props) => {
6
- const computeLuminance = (r, g, b) => {
7
- const transform = (v) => {
8
- const c = v / 255;
9
- return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
10
- };
11
- const R = transform(r);
12
- const G = transform(g);
13
- const B = transform(b);
14
- return 0.2126 * R + 0.7152 * G + 0.0722 * B;
15
- };
16
- const getContrastText = (bg) => {
17
- if (!bg) {
18
- return "#111827"; // gray-900
19
- }
20
- // normalize to hex like #rrggbb
21
- let hex = bg.trim();
22
- if (hex.startsWith("rgb")) {
23
- // basic rgb(a) parser
24
- const m = hex
25
- .replace(/\s+/g, "")
26
- .match(/rgba?\((\d+),(\d+),(\d+)/i);
27
- if (m) {
28
- const r = parseInt(m[1], 10);
29
- const g = parseInt(m[2], 10);
30
- const b = parseInt(m[3], 10);
31
- const luminance = computeLuminance(r, g, b);
32
- return luminance > 0.5 ? "#111827" : "#ffffff";
33
- }
34
- return "#111827";
35
- }
36
- if (hex[0] === "#") {
37
- hex = hex.slice(1);
38
- }
39
- if (hex.length === 3) {
40
- hex = hex
41
- .split("")
42
- .map((c) => {
43
- return c + c;
44
- })
45
- .join("");
46
- }
47
- if (hex.length !== 6) {
48
- return "#111827";
49
- }
50
- const r = parseInt(hex.slice(0, 2), 16);
51
- const g = parseInt(hex.slice(2, 4), 16);
52
- const b = parseInt(hex.slice(4, 6), 16);
53
- const luminance = computeLuminance(r, g, b);
54
- return luminance > 0.5 ? "#111827" : "#ffffff";
55
- };
56
- const [rfNodes, setRfNodes] = useState([]);
57
- const [rfEdges, setRfEdges] = useState([]);
58
- useEffect(() => {
59
- const elk = new ELK();
60
- // fixed node dimensions for layout (px)
61
- const NODE_WIDTH = 220;
62
- const NODE_HEIGHT = 56;
63
- const sortedServices = [...props.services].sort((a, b) => {
64
- return a.name.localeCompare(b.name) || a.id.localeCompare(b.id);
65
- });
66
- const sortedDeps = [...props.dependencies].sort((a, b) => {
67
- if (a.fromServiceId === b.fromServiceId) {
68
- return a.toServiceId.localeCompare(b.toServiceId);
69
- }
70
- return a.fromServiceId.localeCompare(b.fromServiceId);
71
- });
72
- const elkGraph = {
73
- id: "root",
74
- layoutOptions: {
75
- algorithm: "layered",
76
- "elk.direction": "RIGHT",
77
- "elk.layered.spacing.nodeNodeBetweenLayers": "120",
78
- "elk.spacing.nodeNode": "60",
79
- "elk.edgeRouting": "POLYLINE",
80
- },
81
- children: sortedServices.map((svc) => {
82
- return {
83
- id: svc.id,
84
- width: NODE_WIDTH,
85
- height: NODE_HEIGHT,
86
- };
87
- }),
88
- edges: sortedDeps.map((dep) => {
89
- return {
90
- id: `e-${dep.fromServiceId}-${dep.toServiceId}`,
91
- sources: [dep.fromServiceId],
92
- targets: [dep.toServiceId],
93
- };
94
- }),
95
- };
96
- const layout = async () => {
97
- try {
98
- const res = (await elk.layout(elkGraph)); // casting to bundled ElkNode shape
99
- const placedNodes = (res.children || []).map((child) => {
100
- const svc = sortedServices.find((s) => {
101
- return s.id === child.id;
102
- });
103
- const background = (svc === null || svc === void 0 ? void 0 : svc.color) || "#ffffff";
104
- const textColor = getContrastText(background);
105
- return {
106
- id: child.id || "",
107
- data: { label: (svc === null || svc === void 0 ? void 0 : svc.name) || "" },
108
- position: { x: child.x || 0, y: child.y || 0 },
109
- sourcePosition: Position.Right,
110
- targetPosition: Position.Left,
111
- style: {
112
- borderRadius: 8,
113
- padding: 8,
114
- border: "1px solid rgba(0,0,0,0.08)",
115
- background,
116
- color: textColor,
117
- boxShadow: "0 1px 2px rgba(16,24,40,.05)",
118
- width: NODE_WIDTH,
119
- height: NODE_HEIGHT,
120
- },
121
- };
122
- });
123
- const stroke = "#94a3b8"; // slate-400
124
- const placedEdges = sortedDeps.map((dep) => {
125
- return {
126
- id: `e-${dep.fromServiceId}-${dep.toServiceId}`,
127
- source: dep.fromServiceId,
128
- target: dep.toServiceId,
129
- animated: false,
130
- style: { stroke, strokeWidth: 2 },
131
- markerEnd: { type: MarkerType.Arrow, color: stroke },
132
- type: "smoothstep",
133
- };
134
- });
135
- setRfNodes(placedNodes);
136
- setRfEdges(placedEdges);
137
- }
138
- catch (_a) {
139
- // Fallback: deterministic grid by name
140
- const sorted = sortedServices;
141
- const COLS = 4;
142
- const GAP_X = 260;
143
- const GAP_Y = 120;
144
- const nodes = sorted.map((svc, i) => {
145
- const col = i % COLS;
146
- const row = Math.floor(i / COLS);
147
- const x = col * GAP_X;
148
- const y = row * GAP_Y;
149
- const background = svc.color || "#ffffff";
150
- const textColor = getContrastText(background);
151
- return {
152
- id: svc.id,
153
- data: { label: svc.name },
154
- position: { x, y },
155
- sourcePosition: Position.Right,
156
- targetPosition: Position.Left,
157
- style: {
158
- borderRadius: 8,
159
- padding: 8,
160
- border: "1px solid rgba(0,0,0,0.08)",
161
- background,
162
- color: textColor,
163
- boxShadow: "0 1px 2px rgba(16,24,40,.05)",
164
- width: NODE_WIDTH,
165
- height: NODE_HEIGHT,
166
- },
167
- };
168
- });
169
- const stroke = "#94a3b8";
170
- const edges = sortedDeps.map((dep) => {
171
- return {
172
- id: `e-${dep.fromServiceId}-${dep.toServiceId}`,
173
- source: dep.fromServiceId,
174
- target: dep.toServiceId,
175
- animated: false,
176
- style: { stroke, strokeWidth: 2 },
177
- markerEnd: { type: MarkerType.Arrow, color: stroke },
178
- type: "smoothstep",
179
- };
180
- });
181
- setRfNodes(nodes);
182
- setRfEdges(edges);
183
- }
184
- };
185
- layout();
186
- }, [props.services, props.dependencies]);
187
- return (React.createElement("div", { style: { width: "100%", height: 600 } },
188
- React.createElement("style", null, `
189
- /* Hide/transparentize connection handles (ports) for read-only view */
190
- .service-dependency-graph .react-flow__handle {
191
- background: transparent !important;
192
- border-color: transparent !important;
193
- }
194
- `),
195
- React.createElement(ReactFlow, { className: "service-dependency-graph", nodes: rfNodes, edges: rfEdges, fitView: true, nodesDraggable: false, nodesConnectable: false, elementsSelectable: false, edgesUpdatable: false, connectOnClick: false },
196
- React.createElement(MiniMap, { nodeColor: (n) => {
197
- var _a, _b;
198
- return (((_a = n.style) === null || _a === void 0 ? void 0 : _a.background) ||
199
- ((_b = n.data) === null || _b === void 0 ? void 0 : _b.color) ||
200
- "#ffffff");
201
- } }),
202
- React.createElement(Controls, null),
203
- React.createElement(Background, { gap: 12, size: 1 }))));
204
- };
205
- export default ServiceDependencyGraph;
206
- //# sourceMappingURL=ServiceDependencyGraph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServiceDependencyGraph.js","sourceRoot":"","sources":["../../../../../UI/Components/Graphs/ServiceDependencyGraph.tsx"],"names":[],"mappings":"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"}
@@ -1,113 +0,0 @@
1
- import { HostMetricKind, } from "../../../Types/Dashboard/DashboardComponents/DashboardHostMetricChartComponent";
2
- import { ObjectType } from "../../../Types/JSON";
3
- import ObjectID from "../../../Types/ObjectID";
4
- import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
- import { ComponentInputType, } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
6
- import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
7
- import DashboardChartType from "../../../Types/Dashboard/Chart/ChartType";
8
- const DataSection = {
9
- name: "Data Source",
10
- description: "Pick which host metric to plot",
11
- order: 1,
12
- };
13
- const DisplaySection = {
14
- name: "Display Options",
15
- description: "Customize the chart title and description",
16
- order: 2,
17
- defaultCollapsed: true,
18
- };
19
- export default class DashboardHostMetricChartComponentUtil extends DashboardBaseComponentUtil {
20
- static getDefaultComponent() {
21
- return {
22
- _type: ObjectType.DashboardComponent,
23
- componentType: DashboardComponentType.HostMetricChart,
24
- widthInDashboardUnits: 6,
25
- heightInDashboardUnits: 3,
26
- topInDashboardUnits: 0,
27
- leftInDashboardUnits: 0,
28
- componentId: ObjectID.generate(),
29
- minHeightInDashboardUnits: 3,
30
- minWidthInDashboardUnits: 6,
31
- arguments: {
32
- metricKind: HostMetricKind.CpuUtilization,
33
- chartType: DashboardChartType.Line,
34
- },
35
- };
36
- }
37
- static getComponentConfigArguments() {
38
- const args = [];
39
- args.push({
40
- name: "Metric",
41
- description: "Which host telemetry metric to plot",
42
- required: true,
43
- type: ComponentInputType.Dropdown,
44
- id: "metricKind",
45
- section: DataSection,
46
- dropdownOptions: [
47
- { label: "CPU Utilization", value: HostMetricKind.CpuUtilization },
48
- {
49
- label: "Memory Utilization",
50
- value: HostMetricKind.MemoryUtilization,
51
- },
52
- { label: "Memory Usage (bytes)", value: HostMetricKind.MemoryUsage },
53
- { label: "Disk I/O (per sec)", value: HostMetricKind.DiskIo },
54
- { label: "Network I/O (per sec)", value: HostMetricKind.NetworkIo },
55
- { label: "Filesystem Usage", value: HostMetricKind.Filesystem },
56
- { label: "Process Count", value: HostMetricKind.ProcessCount },
57
- ],
58
- });
59
- args.push({
60
- name: "Host",
61
- description: "Limit to one host by host identifier (host.name attribute). Leave blank to plot one series per host.",
62
- required: false,
63
- type: ComponentInputType.Text,
64
- id: "hostIdentifier",
65
- placeholder: "production-host-1",
66
- section: DataSection,
67
- });
68
- args.push({
69
- name: "Chart Type",
70
- description: "How the data will be visualized",
71
- required: false,
72
- type: ComponentInputType.Dropdown,
73
- id: "chartType",
74
- section: DisplaySection,
75
- dropdownOptions: [
76
- {
77
- label: "Line Chart",
78
- value: DashboardChartType.Line,
79
- },
80
- {
81
- label: "Bar Chart",
82
- value: DashboardChartType.Bar,
83
- },
84
- {
85
- label: "Area Chart",
86
- value: DashboardChartType.Area,
87
- },
88
- {
89
- label: "Stacked Area Chart",
90
- value: DashboardChartType.StackedArea,
91
- },
92
- ],
93
- });
94
- args.push({
95
- name: "Title",
96
- description: "Displayed above the chart",
97
- required: false,
98
- type: ComponentInputType.Text,
99
- id: "title",
100
- section: DisplaySection,
101
- });
102
- args.push({
103
- name: "Description",
104
- description: "Subtitle shown below the title",
105
- required: false,
106
- type: ComponentInputType.LongText,
107
- id: "description",
108
- section: DisplaySection,
109
- });
110
- return args;
111
- }
112
- }
113
- //# sourceMappingURL=DashboardHostMetricChartComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardHostMetricChartComponent.js","sourceRoot":"","sources":["../../../../../Utils/Dashboard/Components/DashboardHostMetricChartComponent.ts"],"names":[],"mappings":"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"}