@oneuptime/common 10.0.43 → 10.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/Models/DatabaseModels/Workflow.ts +29 -0
  2. package/Server/API/StatusPageAPI.ts +48 -0
  3. package/Server/EnvironmentConfig.ts +5 -8
  4. package/Server/Infrastructure/Postgres/SchemaMigrations/1774559064920-MigrationName.ts +22 -0
  5. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  6. package/Server/Services/AlertService.ts +45 -0
  7. package/Server/Services/IncidentService.ts +81 -13
  8. package/Server/Services/LogAggregationService.ts +1 -0
  9. package/Server/Services/WorkflowService.ts +28 -1
  10. package/Server/Types/Workflow/Components/Webhook.ts +28 -5
  11. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +29 -13
  12. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +163 -26
  13. package/Server/Utils/Monitor/MonitorMetricUtil.ts +92 -0
  14. package/Server/Utils/Profiling.ts +101 -0
  15. package/Server/Utils/VM/VMRunner.ts +88 -0
  16. package/Types/Dashboard/DashboardTemplates.ts +1149 -0
  17. package/Types/Exception/ExceptionMetricType.ts +15 -0
  18. package/Types/IsolatedVM/ReturnResult.ts +3 -0
  19. package/Types/Metrics/MetricDashboardMetricType.ts +28 -0
  20. package/Types/Metrics/MetricsQuery.ts +2 -1
  21. package/Types/Monitor/CustomCodeMonitor/CapturedMetric.ts +7 -0
  22. package/Types/Monitor/CustomCodeMonitor/CustomCodeMonitorResponse.ts +2 -0
  23. package/Types/Monitor/UptimeBarTooltipIncident.ts +21 -0
  24. package/Types/Profile/ProfileMetricType.ts +16 -0
  25. package/Types/Span/SpanMetricType.ts +17 -0
  26. package/UI/Components/Charts/Area/AreaChart.tsx +40 -33
  27. package/UI/Components/Charts/Bar/BarChart.tsx +37 -30
  28. package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +196 -51
  29. package/UI/Components/Charts/ChartGroup/NoDataMessage.tsx +13 -0
  30. package/UI/Components/Charts/Line/LineChart.tsx +39 -32
  31. package/UI/Components/Forms/BasicForm.tsx +1 -1
  32. package/UI/Components/Graphs/DayUptimeGraph.tsx +88 -35
  33. package/UI/Components/Graphs/UptimeBarTooltip.tsx +547 -0
  34. package/UI/Components/MonitorGraphs/Uptime.tsx +7 -0
  35. package/UI/Components/MonitorGraphs/UptimeBarDayModal.tsx +225 -0
  36. package/UI/Components/RadioButtons/GroupRadioButtons.tsx +1 -0
  37. package/UI/Components/Tooltip/Tooltip.tsx +29 -4
  38. package/UI/Components/Workflow/ComponentSettingsModal.tsx +2 -0
  39. package/UI/Components/Workflow/DocumentationViewer.tsx +5 -0
  40. package/UI/Components/Workflow/Workflow.tsx +2 -0
  41. package/Utils/Alerts/AlertMetricType.ts +98 -0
  42. package/Utils/Incident/IncidentMetricType.ts +130 -0
  43. package/build/dist/Models/DatabaseModels/Workflow.js +30 -0
  44. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -1
  45. package/build/dist/Server/API/StatusPageAPI.js +42 -0
  46. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  47. package/build/dist/Server/EnvironmentConfig.js +2 -2
  48. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  49. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064920-MigrationName.js +14 -0
  50. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064920-MigrationName.js.map +1 -0
  51. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  52. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  53. package/build/dist/Server/Services/AlertService.js +34 -0
  54. package/build/dist/Server/Services/AlertService.js.map +1 -1
  55. package/build/dist/Server/Services/IncidentService.js +52 -9
  56. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  57. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  58. package/build/dist/Server/Services/WorkflowService.js +25 -0
  59. package/build/dist/Server/Services/WorkflowService.js.map +1 -1
  60. package/build/dist/Server/Types/Workflow/Components/Webhook.js +23 -5
  61. package/build/dist/Server/Types/Workflow/Components/Webhook.js.map +1 -1
  62. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +21 -7
  63. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  64. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +120 -21
  65. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  66. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +68 -1
  67. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  68. package/build/dist/Server/Utils/Profiling.js +80 -0
  69. package/build/dist/Server/Utils/Profiling.js.map +1 -0
  70. package/build/dist/Server/Utils/VM/VMRunner.js +68 -0
  71. package/build/dist/Server/Utils/VM/VMRunner.js.map +1 -1
  72. package/build/dist/Types/Dashboard/DashboardTemplates.js +1095 -0
  73. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  74. package/build/dist/Types/Exception/ExceptionMetricType.js +16 -0
  75. package/build/dist/Types/Exception/ExceptionMetricType.js.map +1 -0
  76. package/build/dist/Types/Metrics/MetricDashboardMetricType.js +26 -0
  77. package/build/dist/Types/Metrics/MetricDashboardMetricType.js.map +1 -0
  78. package/build/dist/Types/Monitor/CustomCodeMonitor/CapturedMetric.js +2 -0
  79. package/build/dist/Types/Monitor/CustomCodeMonitor/CapturedMetric.js.map +1 -0
  80. package/build/dist/Types/Monitor/UptimeBarTooltipIncident.js +2 -0
  81. package/build/dist/Types/Monitor/UptimeBarTooltipIncident.js.map +1 -0
  82. package/build/dist/Types/Profile/ProfileMetricType.js +17 -0
  83. package/build/dist/Types/Profile/ProfileMetricType.js.map +1 -0
  84. package/build/dist/Types/Span/SpanMetricType.js +18 -0
  85. package/build/dist/Types/Span/SpanMetricType.js.map +1 -0
  86. package/build/dist/UI/Components/Charts/Area/AreaChart.js +21 -16
  87. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  88. package/build/dist/UI/Components/Charts/Bar/BarChart.js +20 -15
  89. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  90. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +73 -15
  91. package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
  92. package/build/dist/UI/Components/Charts/ChartGroup/NoDataMessage.js +7 -0
  93. package/build/dist/UI/Components/Charts/ChartGroup/NoDataMessage.js.map +1 -0
  94. package/build/dist/UI/Components/Charts/Line/LineChart.js +20 -15
  95. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  96. package/build/dist/UI/Components/Forms/BasicForm.js +1 -1
  97. package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
  98. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +46 -20
  99. package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
  100. package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js +303 -0
  101. package/build/dist/UI/Components/Graphs/UptimeBarTooltip.js.map +1 -0
  102. package/build/dist/UI/Components/MonitorGraphs/Uptime.js +1 -1
  103. package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
  104. package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js +118 -0
  105. package/build/dist/UI/Components/MonitorGraphs/UptimeBarDayModal.js.map +1 -0
  106. package/build/dist/UI/Components/RadioButtons/GroupRadioButtons.js +1 -1
  107. package/build/dist/UI/Components/RadioButtons/GroupRadioButtons.js.map +1 -1
  108. package/build/dist/UI/Components/Tooltip/Tooltip.js +13 -3
  109. package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
  110. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +1 -1
  111. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  112. package/build/dist/UI/Components/Workflow/DocumentationViewer.js +1 -0
  113. package/build/dist/UI/Components/Workflow/DocumentationViewer.js.map +1 -1
  114. package/build/dist/UI/Components/Workflow/Workflow.js +1 -1
  115. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  116. package/build/dist/Utils/Alerts/AlertMetricType.js +84 -0
  117. package/build/dist/Utils/Alerts/AlertMetricType.js.map +1 -0
  118. package/build/dist/Utils/Incident/IncidentMetricType.js +114 -0
  119. package/build/dist/Utils/Incident/IncidentMetricType.js.map +1 -0
  120. package/package.json +3 -2
@@ -0,0 +1,80 @@
1
+ import Pyroscope from "@pyroscope/nodejs";
2
+ import { EnableProfiling } from "../EnvironmentConfig";
3
+ import logger from "./Logger";
4
+ export default class Profiling {
5
+ static init(data) {
6
+ if (!EnableProfiling) {
7
+ return;
8
+ }
9
+ const serverAddress = this.getServerAddress();
10
+ const authToken = this.getAuthToken();
11
+ if (!serverAddress) {
12
+ logger.warn("Profiling enabled but OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT not configured. Skipping profiling initialization.");
13
+ return;
14
+ }
15
+ try {
16
+ Pyroscope.init({
17
+ appName: data.serviceName,
18
+ serverAddress: serverAddress,
19
+ authToken: authToken,
20
+ wall: {
21
+ collectCpuTime: true,
22
+ },
23
+ });
24
+ Pyroscope.start();
25
+ logger.info(`Profiling initialized for service: ${data.serviceName} -> ${serverAddress}`);
26
+ }
27
+ catch (err) {
28
+ logger.error("Failed to initialize profiling:");
29
+ logger.error(err);
30
+ }
31
+ process.on("SIGTERM", () => {
32
+ Pyroscope.stop().catch((err) => {
33
+ logger.error("Error stopping profiler:");
34
+ logger.error(err);
35
+ });
36
+ });
37
+ }
38
+ static getServerAddress() {
39
+ /*
40
+ * Use the OTLP endpoint base URL as the Pyroscope server address.
41
+ * The Pyroscope SDK will append /ingest to this URL.
42
+ * The final URL will be /pyroscope/ingest, routed by nginx to the telemetry service.
43
+ */
44
+ const endpoint = process.env["OPENTELEMETRY_EXPORTER_OTLP_ENDPOINT"];
45
+ if (!endpoint) {
46
+ return undefined;
47
+ }
48
+ /*
49
+ * Strip /otlp suffix if present and append /pyroscope
50
+ * The Pyroscope SDK appends /ingest, so the final URL will be /pyroscope/ingest
51
+ */
52
+ let baseUrl = endpoint;
53
+ if (baseUrl.endsWith("/otlp")) {
54
+ baseUrl = baseUrl.substring(0, baseUrl.length - 5);
55
+ }
56
+ if (baseUrl.endsWith("/")) {
57
+ baseUrl = baseUrl.substring(0, baseUrl.length - 1);
58
+ }
59
+ return `${baseUrl}/pyroscope`;
60
+ }
61
+ static getAuthToken() {
62
+ /*
63
+ * Extract the OneUptime token from OTLP headers
64
+ * Format: "x-oneuptime-token=<value>;other-header=value"
65
+ */
66
+ const headersStr = process.env["OPENTELEMETRY_EXPORTER_OTLP_HEADERS"];
67
+ if (!headersStr) {
68
+ return undefined;
69
+ }
70
+ const parts = headersStr.split(";");
71
+ for (const part of parts) {
72
+ const [key, value] = part.split("=");
73
+ if (key === "x-oneuptime-token" && value) {
74
+ return value;
75
+ }
76
+ }
77
+ return undefined;
78
+ }
79
+ }
80
+ //# sourceMappingURL=Profiling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Profiling.js","sourceRoot":"","sources":["../../../../Server/Utils/Profiling.ts"],"names":[],"mappings":"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"}
@@ -225,6 +225,8 @@ export default class VMRunner {
225
225
  const logMessages = [];
226
226
  const MAX_LOG_BYTES = 1000000; // 1MB cap
227
227
  let totalLogBytes = 0;
228
+ const capturedMetrics = [];
229
+ const MAX_METRICS = 100;
228
230
  const pendingTimeouts = [];
229
231
  const pendingIntervals = [];
230
232
  const wrappedSetTimeout = (fn, ms, ...rest) => {
@@ -275,6 +277,35 @@ export default class VMRunner {
275
277
  sandbox["clearTimeout"] = createSandboxProxy(wrappedClearTimeout, proxyCache);
276
278
  sandbox["setInterval"] = createSandboxProxy(wrappedSetInterval, proxyCache);
277
279
  sandbox["clearInterval"] = createSandboxProxy(wrappedClearInterval, proxyCache);
280
+ sandbox["oneuptime"] = createSandboxProxy({
281
+ captureMetric: (name, value, attributes) => {
282
+ if (typeof name !== "string" || name.length === 0) {
283
+ return;
284
+ }
285
+ if (typeof value !== "number" || isNaN(value)) {
286
+ return;
287
+ }
288
+ if (capturedMetrics.length >= MAX_METRICS) {
289
+ return;
290
+ }
291
+ const metric = {
292
+ name: name.substring(0, 200),
293
+ value: value,
294
+ };
295
+ if (attributes && typeof attributes === "object") {
296
+ const safeAttrs = {};
297
+ for (const [k, v] of Object.entries(attributes)) {
298
+ if (typeof v === "string" ||
299
+ typeof v === "number" ||
300
+ typeof v === "boolean") {
301
+ safeAttrs[k] = String(v);
302
+ }
303
+ }
304
+ metric.attributes = safeAttrs;
305
+ }
306
+ capturedMetrics.push(metric);
307
+ },
308
+ }, proxyCache);
278
309
  // Wrap any additional context (e.g. Playwright browser/page objects)
279
310
  if (options.context) {
280
311
  for (const key of Object.keys(options.context)) {
@@ -318,6 +349,7 @@ export default class VMRunner {
318
349
  return {
319
350
  returnValue: deepUnwrapProxies(returnVal),
320
351
  logMessages,
352
+ capturedMetrics,
321
353
  };
322
354
  }
323
355
  finally {
@@ -334,6 +366,8 @@ export default class VMRunner {
334
366
  const { code, options } = data;
335
367
  const timeout = options.timeout || 5000;
336
368
  const logMessages = [];
369
+ const capturedMetrics = [];
370
+ const MAX_METRICS = 100;
337
371
  const isolate = new ivm.Isolate({ memoryLimit: 128 });
338
372
  try {
339
373
  const context = await isolate.createContext();
@@ -349,6 +383,39 @@ export default class VMRunner {
349
383
  try { return typeof v === 'object' ? JSON.stringify(v) : String(v); }
350
384
  catch(_) { return String(v); }
351
385
  }))};
386
+ `);
387
+ // oneuptime.captureMetric - fire-and-forget callback
388
+ await jail.set("_captureMetric", new ivm.Callback((name, value, attributesJson) => {
389
+ if (capturedMetrics.length >= MAX_METRICS) {
390
+ return;
391
+ }
392
+ const numValue = Number(value);
393
+ if (isNaN(numValue)) {
394
+ return;
395
+ }
396
+ const metric = {
397
+ name: String(name).substring(0, 200),
398
+ value: numValue,
399
+ };
400
+ if (attributesJson) {
401
+ try {
402
+ metric.attributes = JSON.parse(attributesJson);
403
+ }
404
+ catch (_a) {
405
+ // ignore invalid JSON
406
+ }
407
+ }
408
+ capturedMetrics.push(metric);
409
+ }));
410
+ await context.eval(`
411
+ const oneuptime = {
412
+ captureMetric: (name, value, attributes) => {
413
+ if (typeof name !== 'string' || name.length === 0) return;
414
+ if (typeof value !== 'number' || isNaN(value)) return;
415
+ const attrJson = attributes ? JSON.stringify(attributes) : undefined;
416
+ _captureMetric(String(name), String(value), attrJson);
417
+ }
418
+ };
352
419
  `);
353
420
  // args - deep copy into isolate
354
421
  if (options.args) {
@@ -739,6 +806,7 @@ export default class VMRunner {
739
806
  return {
740
807
  returnValue,
741
808
  logMessages,
809
+ capturedMetrics,
742
810
  };
743
811
  }
744
812
  finally {
@@ -1 +1 @@
1
- {"version":3,"file":"VMRunner.js","sourceRoot":"","sources":["../../../../../Server/Utils/VM/VMRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VMRunner.js","sourceRoot":"","sources":["../../../../../Server/Utils/VM/VMRunner.ts"],"names":[],"mappings":"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"}