@oneuptime/common 14.0.6 → 14.0.7

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 (127) hide show
  1. package/Models/DatabaseModels/InventoryItem.ts +23 -12
  2. package/Server/Infrastructure/Postgres/SchemaMigrations/1795200000000-AddInventoryItemProjectEntityKeyIndex.ts +217 -0
  3. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  4. package/Server/Services/AlertService.ts +32 -36
  5. package/Server/Services/IncidentAlertService.ts +609 -2
  6. package/Server/Services/IncidentService.ts +134 -44
  7. package/Server/Services/InventoryItemService.ts +38 -0
  8. package/Server/Services/IoTDeviceCredentialService.ts +13 -4
  9. package/Server/Services/ScheduledMaintenanceService.ts +50 -46
  10. package/Server/Services/UserNotificationRuleService.ts +55 -53
  11. package/Server/Services/WorkspaceNotificationSummaryService.ts +38 -20
  12. package/Server/Utils/AffectedResources/LinkedAffectedResources.ts +576 -0
  13. package/Server/Utils/Alert/AlertStateChangeAuthorization.ts +129 -0
  14. package/Server/Utils/Inventory/InventoryOverviewAggregation.ts +111 -0
  15. package/Server/Utils/Response.ts +31 -0
  16. package/Server/Utils/Topology/TopologyConcurrencyLimiter.ts +229 -0
  17. package/Server/Utils/Topology/TopologyQueries.ts +1350 -0
  18. package/Server/Utils/Topology/TopologyRequest.ts +463 -0
  19. package/Server/Utils/Topology/TopologyResponseCache.ts +183 -0
  20. package/Server/Utils/Topology/TopologySql.ts +1024 -0
  21. package/Tests/App/Dashboard/AcknowledgeAlertsOnDeclare.test.ts +369 -0
  22. package/Tests/App/Dashboard/AffectedResourcesSlo.test.tsx +1 -1
  23. package/Tests/App/Dashboard/AffectedResourcesSummaryStep.test.tsx +510 -123
  24. package/Tests/App/Dashboard/AlertsTableAffectedResources.test.tsx +490 -0
  25. package/Tests/App/Dashboard/ChangeAlertStateDeclareIncident.test.tsx +886 -0
  26. package/Tests/App/Dashboard/CreateReviewStepRoleSummary.test.tsx +1250 -0
  27. package/Tests/App/Dashboard/CreateReviewStepSelectionSummary.test.tsx +738 -0
  28. package/Tests/App/Dashboard/DeclareIncidentFromAlert.test.ts +417 -0
  29. package/Tests/App/Dashboard/EntityDetailPanel.test.tsx +1948 -229
  30. package/Tests/App/Dashboard/EntityDetailPanelLifecycle.test.tsx +493 -0
  31. package/Tests/App/Dashboard/EntityDetailPanelNavigation.test.tsx +439 -0
  32. package/Tests/App/Dashboard/EventOverviewPages.test.tsx +292 -1
  33. package/Tests/App/Dashboard/EventStatusPanel.test.tsx +798 -2
  34. package/Tests/App/Dashboard/FetchStateAndSeverityElements.test.tsx +669 -0
  35. package/Tests/App/Dashboard/FetchUsers.test.tsx +230 -0
  36. package/Tests/App/Dashboard/IncidentCreateAcknowledgeAlerts.test.tsx +1611 -0
  37. package/Tests/App/Dashboard/InfrastructureExplorer.test.tsx +1365 -57
  38. package/Tests/App/Dashboard/InfrastructureGraph.test.tsx +964 -23
  39. package/Tests/App/Dashboard/InventoryRelationships.test.tsx +885 -0
  40. package/Tests/App/Dashboard/ServiceMapDatabaseLink.test.tsx +201 -15
  41. package/Tests/App/Dashboard/ServiceMapGraph.test.tsx +508 -36
  42. package/Tests/App/Dashboard/TopologyDataLifecycle.test.tsx +583 -0
  43. package/Tests/App/Dashboard/TopologyDataLoading.test.tsx +982 -218
  44. package/Tests/App/Dashboard/TopologyPageNavigation.test.tsx +818 -114
  45. package/Tests/Server/Infrastructure/Postgres/RenameInventoryItemMigration.test.ts +90 -21
  46. package/Tests/Server/Services/DomainService.test.ts +525 -0
  47. package/Tests/Server/Services/IncidentAlertAcknowledgeOnDeclare.test.ts +2630 -0
  48. package/Tests/Server/Services/IncidentAlertPostgres.test.ts +1625 -1
  49. package/Tests/Server/Services/IncidentDeclareAcknowledgeAlerts.test.ts +2189 -0
  50. package/Tests/Server/Services/InventoryItemServiceOverviewCounts.test.ts +345 -0
  51. package/Tests/Server/Services/InventoryOverviewPostgres.test.ts +254 -0
  52. package/Tests/Server/Services/IoTDeviceCredentialService.test.ts +819 -0
  53. package/Tests/Server/Services/LinkedAffectedResourcesCreatedFeed.test.ts +420 -0
  54. package/Tests/Server/Services/SloAffectedResourceCreatedFeed.test.ts +92 -36
  55. package/Tests/Server/Utils/AffectedResources/LinkedAffectedResources.test.ts +858 -0
  56. package/Tests/Server/Utils/Alert/AlertStateChangeAuthorization.test.ts +1172 -0
  57. package/Tests/Server/Utils/Topology/InventoryItemEntityKeyIndexMigration.test.ts +386 -0
  58. package/Tests/Server/Utils/Topology/InventoryItemEntityKeyIndexMigrationPostgres.test.ts +430 -0
  59. package/Tests/Server/Utils/Topology/TopologyActivityParityPostgres.test.ts +279 -0
  60. package/Tests/Server/Utils/Topology/TopologyConcurrencyLimiter.test.ts +534 -0
  61. package/Tests/Server/Utils/Topology/TopologyEstateGenerator.ts +624 -0
  62. package/Tests/Server/Utils/Topology/TopologyJsonResponse.test.ts +90 -0
  63. package/Tests/Server/Utils/Topology/TopologyQueries.test.ts +1634 -0
  64. package/Tests/Server/Utils/Topology/TopologyQueriesDifferentialPostgres.test.ts +683 -0
  65. package/Tests/Server/Utils/Topology/TopologyQueriesPostgres.test.ts +2624 -0
  66. package/Tests/Server/Utils/Topology/TopologyReference.ts +1018 -0
  67. package/Tests/Server/Utils/Topology/TopologyRequest.test.ts +643 -0
  68. package/Tests/Server/Utils/Topology/TopologyResponseCache.test.ts +305 -0
  69. package/Tests/Server/Utils/Topology/TopologySql.test.ts +973 -0
  70. package/Tests/Types/Topology/TopologyTypeRules.test.ts +176 -0
  71. package/Tests/Utils/Incident/IncidentFromAlerts.test.ts +302 -0
  72. package/Types/Incident/IncidentAlertLink.ts +19 -0
  73. package/Types/Telemetry/InventoryLiveness.ts +26 -0
  74. package/Types/Topology/TopologyApi.ts +428 -0
  75. package/Types/Topology/TopologyTypeRules.ts +191 -0
  76. package/Utils/Incident/IncidentFromAlerts.ts +78 -0
  77. package/build/dist/Models/DatabaseModels/InventoryItem.js +20 -11
  78. package/build/dist/Models/DatabaseModels/InventoryItem.js.map +1 -1
  79. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795200000000-AddInventoryItemProjectEntityKeyIndex.js +165 -0
  80. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795200000000-AddInventoryItemProjectEntityKeyIndex.js.map +1 -0
  81. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  82. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  83. package/build/dist/Server/Services/AlertService.js +21 -33
  84. package/build/dist/Server/Services/AlertService.js.map +1 -1
  85. package/build/dist/Server/Services/IncidentAlertService.js +457 -3
  86. package/build/dist/Server/Services/IncidentAlertService.js.map +1 -1
  87. package/build/dist/Server/Services/IncidentService.js +96 -42
  88. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  89. package/build/dist/Server/Services/InventoryItemService.js +31 -0
  90. package/build/dist/Server/Services/InventoryItemService.js.map +1 -1
  91. package/build/dist/Server/Services/IoTDeviceCredentialService.js +12 -5
  92. package/build/dist/Server/Services/IoTDeviceCredentialService.js.map +1 -1
  93. package/build/dist/Server/Services/ScheduledMaintenanceService.js +37 -40
  94. package/build/dist/Server/Services/ScheduledMaintenanceService.js.map +1 -1
  95. package/build/dist/Server/Services/UserNotificationRuleService.js +55 -51
  96. package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
  97. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +42 -25
  98. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  99. package/build/dist/Server/Utils/AffectedResources/LinkedAffectedResources.js +405 -0
  100. package/build/dist/Server/Utils/AffectedResources/LinkedAffectedResources.js.map +1 -0
  101. package/build/dist/Server/Utils/Alert/AlertStateChangeAuthorization.js +112 -0
  102. package/build/dist/Server/Utils/Alert/AlertStateChangeAuthorization.js.map +1 -0
  103. package/build/dist/Server/Utils/Inventory/InventoryOverviewAggregation.js +81 -0
  104. package/build/dist/Server/Utils/Inventory/InventoryOverviewAggregation.js.map +1 -0
  105. package/build/dist/Server/Utils/Response.js +30 -0
  106. package/build/dist/Server/Utils/Response.js.map +1 -1
  107. package/build/dist/Server/Utils/Topology/TopologyConcurrencyLimiter.js +178 -0
  108. package/build/dist/Server/Utils/Topology/TopologyConcurrencyLimiter.js.map +1 -0
  109. package/build/dist/Server/Utils/Topology/TopologyQueries.js +884 -0
  110. package/build/dist/Server/Utils/Topology/TopologyQueries.js.map +1 -0
  111. package/build/dist/Server/Utils/Topology/TopologyRequest.js +275 -0
  112. package/build/dist/Server/Utils/Topology/TopologyRequest.js.map +1 -0
  113. package/build/dist/Server/Utils/Topology/TopologyResponseCache.js +146 -0
  114. package/build/dist/Server/Utils/Topology/TopologyResponseCache.js.map +1 -0
  115. package/build/dist/Server/Utils/Topology/TopologySql.js +688 -0
  116. package/build/dist/Server/Utils/Topology/TopologySql.js.map +1 -0
  117. package/build/dist/Types/Incident/IncidentAlertLink.js +17 -0
  118. package/build/dist/Types/Incident/IncidentAlertLink.js.map +1 -1
  119. package/build/dist/Types/Telemetry/InventoryLiveness.js +23 -0
  120. package/build/dist/Types/Telemetry/InventoryLiveness.js.map +1 -1
  121. package/build/dist/Types/Topology/TopologyApi.js +55 -0
  122. package/build/dist/Types/Topology/TopologyApi.js.map +1 -0
  123. package/build/dist/Types/Topology/TopologyTypeRules.js +165 -0
  124. package/build/dist/Types/Topology/TopologyTypeRules.js.map +1 -0
  125. package/build/dist/Utils/Incident/IncidentFromAlerts.js +38 -0
  126. package/build/dist/Utils/Incident/IncidentFromAlerts.js.map +1 -1
  127. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../../Server/Utils/Response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../../../Server/Utils/Response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import TooManyRequestsException from "../../../Types/Exception/TooManyRequestsException";
2
+ /*
3
+ * Bounds the Topology API's database work in one API process.
4
+ *
5
+ * Every Topology request reads in its own snapshot on one pooled connection
6
+ * (TopologyQueries.inReadOnlySnapshot), and a map build is among the heaviest
7
+ * reads in the app — a whole-inventory pass that can take seconds on a large
8
+ * project. The response cache shares a build between viewers of the same
9
+ * (project, minute), but callers choose the minute and the drawer and
10
+ * collection reads are not cached at all, so nothing else stops a burst of
11
+ * them from taking the connection pool (shared with ingest, alerting and
12
+ * every other request on the process) and the database CPU with it.
13
+ *
14
+ * So at most `maxRunning` of them run at once per process, and at most
15
+ * `maxRunningPerProject` for any one project, so one busy project cannot
16
+ * occupy every slot. The rest wait in arrival order WITHOUT holding a
17
+ * connection: a released slot goes to the first waiter whose project is
18
+ * under its own limit, so a project at its limit never holds up another
19
+ * project queued behind it. The queue is bounded too — per process and per
20
+ * project — and a request that finds it full, or waits longer than
21
+ * `maxWaitMs`, is answered 429 (TooManyRequestsException) at once: the
22
+ * Dashboard shows "busy, try again" rather than a request that hangs.
23
+ *
24
+ * A request whose client has gone (the drawer aborts the previous entity's
25
+ * load on every click) gives up its queue place at once and never starts:
26
+ * otherwise one person clicking through the drawer would queue dead reads
27
+ * ahead of the one they are waiting for and fill their project's queue.
28
+ *
29
+ * Per process, like the response cache; there is no cross-process
30
+ * coordination, so the cluster-wide bound is this times the API replicas.
31
+ */
32
+ export const TOPOLOGY_BUSY_MESSAGE = "The topology service is busy. Try again in a moment.";
33
+ /* Sent as Retry-After with a 429 from the Topology API. */
34
+ export const TOPOLOGY_BUSY_RETRY_AFTER_SECONDS = 5;
35
+ export const TOPOLOGY_CONCURRENCY_LIMITS = {
36
+ maxRunning: 4,
37
+ maxRunningPerProject: 2,
38
+ maxWaiting: 64,
39
+ maxWaitingPerProject: 16,
40
+ maxWaitMs: 30000,
41
+ };
42
+ /* The caller went away before its read started; nobody is waiting for it. */
43
+ export class TopologyRequestAbandonedError extends Error {
44
+ constructor() {
45
+ super("The Topology request was abandoned by its client.");
46
+ this.name = "TopologyRequestAbandonedError";
47
+ }
48
+ }
49
+ export class TopologyConcurrencyLimiter {
50
+ constructor(limits = TOPOLOGY_CONCURRENCY_LIMITS) {
51
+ this.limits = limits;
52
+ this.running = 0;
53
+ this.runningByProject = new Map();
54
+ /*
55
+ * Arrival order. Invariant between calls: no waiter here could start (the
56
+ * process is full, or its project is), so a new request that can start
57
+ * never overtakes one that could have.
58
+ */
59
+ this.waiting = [];
60
+ }
61
+ /*
62
+ * Runs `work` once a slot for `projectId` is free, and frees it when the
63
+ * work settles, however it settles. Throws TooManyRequestsException
64
+ * without running `work` when the queue is full or the wait too long, and
65
+ * TopologyRequestAbandonedError without running it when `signal` fires
66
+ * first (a read that has started runs to completion).
67
+ */
68
+ async run(projectId, work, signal) {
69
+ await this.acquire(projectId, signal);
70
+ try {
71
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
72
+ throw new TopologyRequestAbandonedError();
73
+ }
74
+ return await work();
75
+ }
76
+ finally {
77
+ this.release(projectId);
78
+ }
79
+ }
80
+ runningCount(projectId) {
81
+ if (projectId === undefined) {
82
+ return this.running;
83
+ }
84
+ return this.runningByProject.get(projectId) || 0;
85
+ }
86
+ waitingCount(projectId) {
87
+ if (projectId === undefined) {
88
+ return this.waiting.length;
89
+ }
90
+ return this.waiting.filter((waiter) => {
91
+ return waiter.projectId === projectId;
92
+ }).length;
93
+ }
94
+ canStart(projectId) {
95
+ return (this.running < this.limits.maxRunning &&
96
+ this.runningCount(projectId) < this.limits.maxRunningPerProject);
97
+ }
98
+ take(projectId) {
99
+ this.running++;
100
+ this.runningByProject.set(projectId, this.runningCount(projectId) + 1);
101
+ }
102
+ acquire(projectId, signal) {
103
+ if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
104
+ return Promise.reject(new TopologyRequestAbandonedError());
105
+ }
106
+ if (this.canStart(projectId)) {
107
+ this.take(projectId);
108
+ return Promise.resolve();
109
+ }
110
+ if (this.waiting.length >= this.limits.maxWaiting ||
111
+ this.waitingCount(projectId) >= this.limits.maxWaitingPerProject) {
112
+ return Promise.reject(new TooManyRequestsException(TOPOLOGY_BUSY_MESSAGE));
113
+ }
114
+ return new Promise((resolve, reject) => {
115
+ /* Leaves the queue (if still in it) and rejects with `error`. */
116
+ const leave = (error) => {
117
+ const index = this.waiting.indexOf(waiter);
118
+ if (index >= 0) {
119
+ this.waiting.splice(index, 1);
120
+ waiter.detach();
121
+ reject(error);
122
+ }
123
+ };
124
+ const onAbort = () => {
125
+ leave(new TopologyRequestAbandonedError());
126
+ };
127
+ const waiter = {
128
+ projectId,
129
+ start: resolve,
130
+ timer: null,
131
+ detach: () => {
132
+ if (waiter.timer) {
133
+ clearTimeout(waiter.timer);
134
+ }
135
+ signal === null || signal === void 0 ? void 0 : signal.removeEventListener("abort", onAbort);
136
+ },
137
+ };
138
+ if (Number.isFinite(this.limits.maxWaitMs)) {
139
+ waiter.timer = setTimeout(() => {
140
+ leave(new TooManyRequestsException(TOPOLOGY_BUSY_MESSAGE));
141
+ }, this.limits.maxWaitMs);
142
+ }
143
+ signal === null || signal === void 0 ? void 0 : signal.addEventListener("abort", onAbort);
144
+ this.waiting.push(waiter);
145
+ });
146
+ }
147
+ release(projectId) {
148
+ this.running--;
149
+ const remaining = this.runningCount(projectId) - 1;
150
+ if (remaining > 0) {
151
+ this.runningByProject.set(projectId, remaining);
152
+ }
153
+ else {
154
+ this.runningByProject.delete(projectId);
155
+ }
156
+ this.startWaiters();
157
+ }
158
+ /* Hands free slots to waiters in arrival order, skipping full projects. */
159
+ startWaiters() {
160
+ if (this.waiting.length === 0) {
161
+ return;
162
+ }
163
+ const stillWaiting = [];
164
+ for (const waiter of this.waiting) {
165
+ if (this.canStart(waiter.projectId)) {
166
+ this.take(waiter.projectId);
167
+ waiter.detach();
168
+ waiter.start();
169
+ }
170
+ else {
171
+ stillWaiting.push(waiter);
172
+ }
173
+ }
174
+ this.waiting = stillWaiting;
175
+ }
176
+ }
177
+ export default new TopologyConcurrencyLimiter();
178
+ //# sourceMappingURL=TopologyConcurrencyLimiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopologyConcurrencyLimiter.js","sourceRoot":"","sources":["../../../../../Server/Utils/Topology/TopologyConcurrencyLimiter.ts"],"names":[],"mappings":"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"}