@oneuptime/common 10.0.39 → 10.0.40

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 (282) hide show
  1. package/Models/AnalyticsModels/Index.ts +4 -0
  2. package/Models/AnalyticsModels/Profile.ts +687 -0
  3. package/Models/AnalyticsModels/ProfileSample.ts +547 -0
  4. package/Models/DatabaseModels/Dashboard.ts +357 -0
  5. package/Models/DatabaseModels/DashboardDomain.ts +658 -0
  6. package/Models/DatabaseModels/Index.ts +2 -0
  7. package/Models/DatabaseModels/StatusPage.ts +41 -0
  8. package/Server/API/DashboardAPI.ts +408 -0
  9. package/Server/API/DashboardDomainAPI.ts +235 -0
  10. package/Server/API/StatusPageAPI.ts +36 -2
  11. package/Server/API/TelemetryAPI.ts +393 -0
  12. package/Server/EnvironmentConfig.ts +12 -0
  13. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.ts +97 -0
  14. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.ts +17 -0
  15. package/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.ts +50 -0
  16. package/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.ts +59 -0
  17. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  18. package/Server/Middleware/UserAuthorization.ts +96 -1
  19. package/Server/Services/DashboardDomainService.ts +647 -0
  20. package/Server/Services/DashboardService.ts +174 -3
  21. package/Server/Services/IncidentService.ts +295 -50
  22. package/Server/Services/IncidentStateTimelineService.ts +1 -0
  23. package/Server/Services/Index.ts +6 -0
  24. package/Server/Services/MonitorService.ts +5 -0
  25. package/Server/Services/ProfileAggregationService.ts +559 -0
  26. package/Server/Services/ProfileSampleService.ts +11 -0
  27. package/Server/Services/ProfileService.ts +11 -0
  28. package/Server/Services/TelemetryUsageBillingService.ts +77 -3
  29. package/Server/Services/WorkspaceNotificationSummaryService.ts +15 -1
  30. package/Server/Types/Billing/MeteredPlan/AllMeteredPlans.ts +9 -0
  31. package/Server/Utils/Cookie.ts +48 -0
  32. package/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.ts +34 -0
  33. package/Server/Utils/Monitor/DataToProcess.ts +3 -1
  34. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +299 -0
  35. package/Server/Utils/Profile/PprofEncoder.ts +225 -0
  36. package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +53 -16
  37. package/Server/Utils/Workspace/Slack/Slack.ts +26 -6
  38. package/ServiceRoute.ts +2 -0
  39. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +2 -0
  40. package/Types/CookieName.ts +1 -0
  41. package/Types/Dashboard/Chart/ChartType.ts +5 -0
  42. package/Types/Dashboard/DashboardComponentType.ts +4 -0
  43. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +10 -0
  44. package/Types/Dashboard/DashboardComponents/DashboardChartComponent.ts +1 -2
  45. package/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.ts +17 -0
  46. package/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.ts +15 -0
  47. package/Types/Dashboard/DashboardComponents/DashboardTableComponent.ts +14 -0
  48. package/Types/Dashboard/DashboardComponents/DashboardTextComponent.ts +1 -0
  49. package/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.ts +13 -0
  50. package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +2 -0
  51. package/Types/Dashboard/DashboardTemplates.ts +964 -0
  52. package/Types/Dashboard/DashboardVariable.ts +23 -0
  53. package/Types/Dashboard/DashboardViewConfig.ts +59 -0
  54. package/Types/Dashboard/MasterPassword.ts +10 -0
  55. package/Types/Icon/IconProp.ts +1 -0
  56. package/Types/Incident/IncidentMetricType.ts +3 -0
  57. package/Types/MeteredPlan/ProductType.ts +1 -0
  58. package/Types/Metrics/MetricQueryConfigData.ts +3 -0
  59. package/Types/Monitor/CriteriaFilter.ts +3 -0
  60. package/Types/Monitor/KubernetesAlertTemplates.ts +78 -7
  61. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +20 -0
  62. package/Types/Monitor/MonitorStep.ts +25 -0
  63. package/Types/Monitor/MonitorStepProfileMonitor.ts +96 -0
  64. package/Types/Monitor/MonitorType.ts +11 -0
  65. package/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.ts +12 -0
  66. package/Types/Permission.ts +87 -0
  67. package/Types/Telemetry/TelemetryType.ts +1 -0
  68. package/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.ts +1 -0
  69. package/UI/Components/Button/Button.tsx +1 -1
  70. package/UI/Components/Card/Card.tsx +8 -4
  71. package/UI/Components/Charts/Area/AreaChart.tsx +4 -0
  72. package/UI/Components/Charts/Bar/BarChart.tsx +4 -0
  73. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +26 -0
  74. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +26 -0
  75. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +26 -0
  76. package/UI/Components/Charts/Line/LineChart.tsx +4 -0
  77. package/UI/Components/Charts/Types/ReferenceLineProps.ts +6 -0
  78. package/UI/Components/Icon/Icon.tsx +33 -0
  79. package/UI/Components/ModelTable/BaseModelTable.tsx +13 -10
  80. package/UI/Components/MoreMenu/MoreMenu.tsx +15 -2
  81. package/UI/Components/MoreMenu/MoreMenuItem.tsx +4 -4
  82. package/UI/Components/Workflow/Component.tsx +450 -209
  83. package/UI/Components/Workflow/ComponentPortViewer.tsx +57 -20
  84. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +65 -25
  85. package/UI/Components/Workflow/ComponentSettingsModal.tsx +202 -37
  86. package/UI/Components/Workflow/ComponentsModal.tsx +180 -93
  87. package/UI/Components/Workflow/Workflow.tsx +105 -9
  88. package/UI/Config.ts +9 -0
  89. package/Utils/Dashboard/Components/DashboardChartComponent.ts +53 -22
  90. package/Utils/Dashboard/Components/DashboardGaugeComponent.ts +124 -0
  91. package/Utils/Dashboard/Components/DashboardLogStreamComponent.ts +110 -0
  92. package/Utils/Dashboard/Components/DashboardTableComponent.ts +86 -0
  93. package/Utils/Dashboard/Components/DashboardTextComponent.ts +32 -7
  94. package/Utils/Dashboard/Components/DashboardTraceListComponent.ts +86 -0
  95. package/Utils/Dashboard/Components/DashboardValueComponent.ts +39 -3
  96. package/Utils/Dashboard/Components/Index.ts +28 -0
  97. package/Utils/ValueFormatter.ts +170 -0
  98. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  99. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  100. package/build/dist/Models/AnalyticsModels/Profile.js +621 -0
  101. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -0
  102. package/build/dist/Models/AnalyticsModels/ProfileSample.js +497 -0
  103. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -0
  104. package/build/dist/Models/DatabaseModels/Dashboard.js +365 -0
  105. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  106. package/build/dist/Models/DatabaseModels/DashboardDomain.js +691 -0
  107. package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -0
  108. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  109. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  110. package/build/dist/Models/DatabaseModels/StatusPage.js +42 -0
  111. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  112. package/build/dist/Server/API/DashboardAPI.js +293 -0
  113. package/build/dist/Server/API/DashboardAPI.js.map +1 -0
  114. package/build/dist/Server/API/DashboardDomainAPI.js +124 -0
  115. package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -0
  116. package/build/dist/Server/API/StatusPageAPI.js +26 -2
  117. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  118. package/build/dist/Server/API/TelemetryAPI.js +222 -0
  119. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  120. package/build/dist/Server/EnvironmentConfig.js +4 -0
  121. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  122. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js +40 -0
  123. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js.map +1 -0
  124. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js +12 -0
  125. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js.map +1 -0
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js +23 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js.map +1 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js +26 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js.map +1 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  132. package/build/dist/Server/Middleware/UserAuthorization.js +41 -0
  133. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  134. package/build/dist/Server/Services/DashboardDomainService.js +595 -0
  135. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -0
  136. package/build/dist/Server/Services/DashboardService.js +117 -3
  137. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  138. package/build/dist/Server/Services/IncidentService.js +231 -55
  139. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  140. package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
  141. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  142. package/build/dist/Server/Services/Index.js +6 -0
  143. package/build/dist/Server/Services/Index.js.map +1 -1
  144. package/build/dist/Server/Services/MonitorService.js +5 -2
  145. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  146. package/build/dist/Server/Services/ProfileAggregationService.js +356 -0
  147. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -0
  148. package/build/dist/Server/Services/ProfileSampleService.js +9 -0
  149. package/build/dist/Server/Services/ProfileSampleService.js.map +1 -0
  150. package/build/dist/Server/Services/ProfileService.js +9 -0
  151. package/build/dist/Server/Services/ProfileService.js.map +1 -0
  152. package/build/dist/Server/Services/TelemetryUsageBillingService.js +61 -4
  153. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  154. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +13 -1
  155. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  156. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +8 -0
  157. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
  158. package/build/dist/Server/Utils/Cookie.js +36 -0
  159. package/build/dist/Server/Utils/Cookie.js.map +1 -1
  160. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js +34 -0
  161. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js.map +1 -0
  162. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +173 -0
  163. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  164. package/build/dist/Server/Utils/Profile/PprofEncoder.js +129 -0
  165. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -0
  166. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +36 -14
  167. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  168. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +23 -6
  169. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  170. package/build/dist/ServiceRoute.js +1 -0
  171. package/build/dist/ServiceRoute.js.map +1 -1
  172. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +2 -0
  173. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  174. package/build/dist/Types/CookieName.js +1 -0
  175. package/build/dist/Types/CookieName.js.map +1 -1
  176. package/build/dist/Types/Dashboard/Chart/ChartType.js +5 -0
  177. package/build/dist/Types/Dashboard/Chart/ChartType.js.map +1 -1
  178. package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
  179. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  180. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  181. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  182. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js +2 -0
  183. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js.map +1 -0
  184. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js +2 -0
  185. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js.map +1 -0
  186. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js +2 -0
  187. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js.map +1 -0
  188. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js +2 -0
  189. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js.map +1 -0
  190. package/build/dist/Types/Dashboard/DashboardTemplates.js +853 -0
  191. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -0
  192. package/build/dist/Types/Dashboard/DashboardVariable.js +7 -0
  193. package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -0
  194. package/build/dist/Types/Dashboard/DashboardViewConfig.js +50 -1
  195. package/build/dist/Types/Dashboard/DashboardViewConfig.js.map +1 -1
  196. package/build/dist/Types/Dashboard/MasterPassword.js +5 -0
  197. package/build/dist/Types/Dashboard/MasterPassword.js.map +1 -0
  198. package/build/dist/Types/Icon/IconProp.js +1 -0
  199. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  200. package/build/dist/Types/Incident/IncidentMetricType.js +3 -0
  201. package/build/dist/Types/Incident/IncidentMetricType.js.map +1 -1
  202. package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
  203. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  204. package/build/dist/Types/Metrics/MetricQueryConfigData.js +1 -0
  205. package/build/dist/Types/Metrics/MetricQueryConfigData.js.map +1 -1
  206. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  207. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  208. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +58 -7
  209. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
  210. package/build/dist/Types/Monitor/MonitorStep.js +15 -0
  211. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  212. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +59 -0
  213. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -0
  214. package/build/dist/Types/Monitor/MonitorType.js +10 -0
  215. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  216. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js +2 -0
  217. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js.map +1 -0
  218. package/build/dist/Types/Permission.js +75 -0
  219. package/build/dist/Types/Permission.js.map +1 -1
  220. package/build/dist/Types/Telemetry/TelemetryType.js +1 -0
  221. package/build/dist/Types/Telemetry/TelemetryType.js.map +1 -1
  222. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js +1 -0
  223. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js.map +1 -1
  224. package/build/dist/UI/Components/Button/Button.js +1 -1
  225. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  226. package/build/dist/UI/Components/Card/Card.js +4 -4
  227. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  228. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  229. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  230. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  231. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  232. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -2
  233. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  234. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +5 -2
  235. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  236. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +6 -3
  237. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  238. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  239. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  240. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js +2 -0
  241. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js.map +1 -0
  242. package/build/dist/UI/Components/Icon/Icon.js +11 -0
  243. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  244. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -9
  245. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  246. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +8 -2
  247. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  248. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +4 -4
  249. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  250. package/build/dist/UI/Components/Workflow/Component.js +311 -143
  251. package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
  252. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +44 -18
  253. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  254. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +48 -22
  255. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  256. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +127 -21
  257. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  258. package/build/dist/UI/Components/Workflow/ComponentsModal.js +107 -52
  259. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  260. package/build/dist/UI/Components/Workflow/Workflow.js +87 -12
  261. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  262. package/build/dist/UI/Config.js +3 -1
  263. package/build/dist/UI/Config.js.map +1 -1
  264. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js +50 -21
  265. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js.map +1 -1
  266. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js +104 -0
  267. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js.map +1 -0
  268. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js +91 -0
  269. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js.map +1 -0
  270. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js +70 -0
  271. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js.map +1 -0
  272. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js +28 -7
  273. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js.map +1 -1
  274. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js +70 -0
  275. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js.map +1 -0
  276. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +34 -3
  277. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
  278. package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
  279. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  280. package/build/dist/Utils/ValueFormatter.js +132 -0
  281. package/build/dist/Utils/ValueFormatter.js.map +1 -0
  282. package/package.json +1 -1
@@ -11,6 +11,7 @@ import LogMonitorCriteria from "./Criteria/LogMonitorCriteria";
11
11
  import MetricMonitorCriteria from "./Criteria/MetricMonitorCriteria";
12
12
  import TraceMonitorCriteria from "./Criteria/TraceMonitorCriteria";
13
13
  import ExceptionMonitorCriteria from "./Criteria/ExceptionMonitorCriteria";
14
+ import ProfileMonitorCriteria from "./Criteria/ProfileMonitorCriteria";
14
15
  import SnmpMonitorCriteria from "./Criteria/SnmpMonitorCriteria";
15
16
  import DnsMonitorCriteria from "./Criteria/DnsMonitorCriteria";
16
17
  import DomainMonitorCriteria from "./Criteria/DomainMonitorCriteria";
@@ -347,6 +348,15 @@ ${contextBlock}
347
348
  return exceptionMonitorResult;
348
349
  }
349
350
  }
351
+ if (input.monitor.monitorType === MonitorType.Profiles) {
352
+ const profileMonitorResult = await ProfileMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
353
+ dataToProcess: input.dataToProcess,
354
+ criteriaFilter: input.criteriaFilter,
355
+ });
356
+ if (profileMonitorResult) {
357
+ return profileMonitorResult;
358
+ }
359
+ }
350
360
  if (input.monitor.monitorType === MonitorType.SNMP) {
351
361
  const snmpMonitorResult = await SnmpMonitorCriteria.isMonitorInstanceCriteriaFilterMet({
352
362
  dataToProcess: input.dataToProcess,
@@ -386,6 +396,10 @@ ${contextBlock}
386
396
  return null;
387
397
  }
388
398
  static buildRootCauseContext(input) {
399
+ // Handle Kubernetes monitors with rich resource context
400
+ if (input.monitor.monitorType === MonitorType.Kubernetes) {
401
+ return MonitorCriteriaEvaluator.buildKubernetesRootCauseContext(input);
402
+ }
389
403
  const requestDetails = [];
390
404
  const responseDetails = [];
391
405
  const failureDetails = [];
@@ -452,6 +466,165 @@ ${contextBlock}
452
466
  }
453
467
  return sections.join("\n");
454
468
  }
469
+ static buildKubernetesRootCauseContext(input) {
470
+ const metricResponse = input.dataToProcess;
471
+ const breakdown = metricResponse.kubernetesResourceBreakdown;
472
+ if (!breakdown) {
473
+ return null;
474
+ }
475
+ const sections = [];
476
+ // Cluster context
477
+ const clusterDetails = [];
478
+ clusterDetails.push(`- Cluster: ${breakdown.clusterName}`);
479
+ clusterDetails.push(`- Metric: ${breakdown.metricFriendlyName} (\`${breakdown.metricName}\`)`);
480
+ if (breakdown.attributes["k8s.namespace.name"]) {
481
+ clusterDetails.push(`- Namespace: ${breakdown.attributes["k8s.namespace.name"]}`);
482
+ }
483
+ sections.push(`**Kubernetes Cluster Details**\n${clusterDetails.join("\n")}`);
484
+ // Affected resources
485
+ if (breakdown.affectedResources && breakdown.affectedResources.length > 0) {
486
+ const resourceLines = [];
487
+ // Sort by metric value descending (worst first)
488
+ const sortedResources = [
489
+ ...breakdown.affectedResources,
490
+ ].sort((a, b) => {
491
+ return b.metricValue - a.metricValue;
492
+ });
493
+ // Show top 10 affected resources
494
+ const resourcesToShow = sortedResources.slice(0, 10);
495
+ for (const resource of resourcesToShow) {
496
+ const details = [];
497
+ if (resource.namespace) {
498
+ details.push(`Namespace: \`${resource.namespace}\``);
499
+ }
500
+ if (resource.workloadType && resource.workloadName) {
501
+ details.push(`${resource.workloadType}: \`${resource.workloadName}\``);
502
+ }
503
+ if (resource.podName) {
504
+ details.push(`Pod: \`${resource.podName}\``);
505
+ }
506
+ if (resource.containerName) {
507
+ details.push(`Container: \`${resource.containerName}\``);
508
+ }
509
+ if (resource.nodeName) {
510
+ details.push(`Node: \`${resource.nodeName}\``);
511
+ }
512
+ details.push(`Value: **${resource.metricValue}**`);
513
+ resourceLines.push(`- ${details.join(" | ")}`);
514
+ }
515
+ if (sortedResources.length > 10) {
516
+ resourceLines.push(`- ... and ${sortedResources.length - 10} more affected resources`);
517
+ }
518
+ sections.push(`\n\n**Affected Resources** (${sortedResources.length} total)\n${resourceLines.join("\n")}`);
519
+ // Add root cause analysis based on metric type
520
+ const analysis = MonitorCriteriaEvaluator.buildKubernetesRootCauseAnalysis({
521
+ breakdown: breakdown,
522
+ topResource: resourcesToShow[0],
523
+ });
524
+ if (analysis) {
525
+ sections.push(`\n\n**Root Cause Analysis**\n${analysis}`);
526
+ }
527
+ }
528
+ return sections.join("\n");
529
+ }
530
+ static buildKubernetesRootCauseAnalysis(input) {
531
+ const { breakdown, topResource } = input;
532
+ const metricName = breakdown.metricName;
533
+ const lines = [];
534
+ if (metricName === "k8s.container.restarts" ||
535
+ metricName.includes("restart")) {
536
+ lines.push(`Container restart count is elevated, indicating a potential CrashLoopBackOff condition.`);
537
+ if (topResource.containerName) {
538
+ lines.push(`The container \`${topResource.containerName}\` in pod \`${topResource.podName || "unknown"}\` has restarted **${topResource.metricValue}** times.`);
539
+ }
540
+ lines.push(`Common causes: application crash on startup, misconfigured environment variables, missing dependencies, OOM (Out of Memory) kills, failed health checks, or missing config maps/secrets.`);
541
+ lines.push(`Recommended actions: Check container logs with \`kubectl logs ${topResource.podName || "<pod-name>"} -c ${topResource.containerName || "<container>"} --previous\` and inspect events with \`kubectl describe pod ${topResource.podName || "<pod-name>"}\`.`);
542
+ }
543
+ else if (metricName === "k8s.pod.phase" &&
544
+ breakdown.attributes["k8s.pod.phase"] === "Pending") {
545
+ lines.push(`Pods are stuck in Pending phase and unable to be scheduled.`);
546
+ lines.push(`Common causes: insufficient CPU/memory resources on nodes, node affinity/taint restrictions preventing scheduling, PersistentVolumeClaim pending, or resource quota exceeded.`);
547
+ if (topResource.podName) {
548
+ lines.push(`Recommended actions: Check scheduling events with \`kubectl describe pod ${topResource.podName}\` and verify node resources with \`kubectl describe nodes\`.`);
549
+ }
550
+ }
551
+ else if (metricName === "k8s.node.condition_ready" ||
552
+ (metricName.includes("node") && metricName.includes("condition"))) {
553
+ lines.push(`One or more nodes have transitioned to a NotReady state.`);
554
+ if (topResource.nodeName) {
555
+ lines.push(`Node \`${topResource.nodeName}\` is reporting NotReady (value: ${topResource.metricValue}).`);
556
+ }
557
+ lines.push(`Common causes: kubelet process failure, node resource exhaustion (disk pressure, memory pressure, PID pressure), network connectivity issues, or underlying VM/hardware failure.`);
558
+ lines.push(`Recommended actions: Check node conditions with \`kubectl describe node ${topResource.nodeName || "<node-name>"}\` and verify kubelet status on the node.`);
559
+ }
560
+ else if (metricName === "k8s.node.cpu.utilization" ||
561
+ (metricName.includes("cpu") && metricName.includes("utilization"))) {
562
+ lines.push(`Node CPU utilization has exceeded the configured threshold.`);
563
+ if (topResource.nodeName) {
564
+ lines.push(`Node \`${topResource.nodeName}\` is at **${topResource.metricValue.toFixed(1)}%** CPU utilization.`);
565
+ }
566
+ lines.push(`Common causes: resource-intensive workloads, insufficient resource limits on pods, noisy neighbor pods consuming excessive CPU, or insufficient cluster capacity.`);
567
+ lines.push(`Recommended actions: Identify top CPU consumers with \`kubectl top pods --all-namespaces --sort-by=cpu\` and consider scaling the cluster or adjusting pod resource limits.`);
568
+ }
569
+ else if (metricName === "k8s.node.memory.usage" ||
570
+ (metricName.includes("memory") && metricName.includes("usage"))) {
571
+ lines.push(`Node memory utilization has exceeded the configured threshold.`);
572
+ if (topResource.nodeName) {
573
+ lines.push(`Node \`${topResource.nodeName}\` memory usage is at **${topResource.metricValue.toFixed(1)}%**.`);
574
+ }
575
+ lines.push(`Common causes: memory leaks in applications, insufficient memory limits on pods, too many pods scheduled on the node, or growing dataset sizes.`);
576
+ lines.push(`Recommended actions: Check memory consumers with \`kubectl top pods --all-namespaces --sort-by=memory\` and review pod memory limits. Consider scaling the cluster or adding nodes with more memory.`);
577
+ }
578
+ else if (metricName === "k8s.deployment.unavailable_replicas" ||
579
+ metricName.includes("unavailable")) {
580
+ lines.push(`Deployment has unavailable replicas, indicating a mismatch between desired and available replicas.`);
581
+ if (topResource.workloadName) {
582
+ lines.push(`${topResource.workloadType || "Deployment"} \`${topResource.workloadName}\` has **${topResource.metricValue}** unavailable replica(s).`);
583
+ }
584
+ lines.push(`Common causes: failed rolling update, image pull errors (wrong image tag or missing registry credentials), pod crash loops, insufficient cluster resources to schedule new pods, or PodDisruptionBudget blocking updates.`);
585
+ lines.push(`Recommended actions: Check deployment rollout status with \`kubectl rollout status deployment/${topResource.workloadName || "<deployment>"}\` and inspect pod events.`);
586
+ }
587
+ else if (metricName === "k8s.job.failed_pods" ||
588
+ (metricName.includes("job") && metricName.includes("fail"))) {
589
+ lines.push(`Kubernetes Job has failed pods.`);
590
+ if (topResource.workloadName) {
591
+ lines.push(`Job \`${topResource.workloadName}\` has **${topResource.metricValue}** failed pod(s).`);
592
+ }
593
+ lines.push(`Common causes: application error or non-zero exit code, resource limits exceeded (OOMKilled), misconfigured command or arguments, missing environment variables, or timeout exceeded.`);
594
+ lines.push(`Recommended actions: Check job status with \`kubectl describe job ${topResource.workloadName || "<job-name>"}\` and review pod logs for the failed pod(s).`);
595
+ }
596
+ else if (metricName === "k8s.node.filesystem.usage" ||
597
+ metricName.includes("disk") ||
598
+ metricName.includes("filesystem")) {
599
+ lines.push(`Node disk/filesystem usage has exceeded the configured threshold.`);
600
+ if (topResource.nodeName) {
601
+ lines.push(`Node \`${topResource.nodeName}\` filesystem usage is at **${topResource.metricValue.toFixed(1)}%**.`);
602
+ }
603
+ lines.push(`Common causes: container image layers consuming disk space, excessive logging, large emptyDir volumes, or accumulation of unused container images.`);
604
+ lines.push(`Recommended actions: Clean up unused images with \`docker system prune\` or \`crictl rmi --prune\`, check for large log files, and review PersistentVolumeClaim usage.`);
605
+ }
606
+ else if (metricName === "k8s.daemonset.misscheduled_nodes" ||
607
+ metricName.includes("daemonset")) {
608
+ lines.push(`DaemonSet has misscheduled or unavailable nodes.`);
609
+ if (topResource.workloadName) {
610
+ lines.push(`DaemonSet \`${topResource.workloadName}\` has **${topResource.metricValue}** misscheduled node(s).`);
611
+ }
612
+ lines.push(`Common causes: node taints preventing scheduling, incorrect node selectors, or node affinity rules excluding certain nodes.`);
613
+ lines.push(`Recommended actions: Check DaemonSet status with \`kubectl describe daemonset ${topResource.workloadName || "<daemonset>"}\` and verify node labels and taints.`);
614
+ }
615
+ else {
616
+ // Generic Kubernetes context
617
+ lines.push(`Kubernetes metric \`${metricName}\` (${breakdown.metricFriendlyName}) has breached the configured threshold.`);
618
+ if (topResource.podName) {
619
+ lines.push(`Most affected pod: \`${topResource.podName}\``);
620
+ }
621
+ if (topResource.nodeName) {
622
+ lines.push(`Most affected node: \`${topResource.nodeName}\``);
623
+ }
624
+ lines.push(`Recommended actions: Investigate the affected resources using \`kubectl describe\` and \`kubectl logs\` commands.`);
625
+ }
626
+ return lines.join("\n");
627
+ }
455
628
  static getMonitorDestinationString(input) {
456
629
  var _a, _b;
457
630
  if ((_a = input.probeResponse) === null || _a === void 0 ? void 0 : _a.monitorDestination) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonitorCriteriaEvaluator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaEvaluator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonitorCriteriaEvaluator.js","sourceRoot":"","sources":["../../../../../Server/Utils/Monitor/MonitorCriteriaEvaluator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import zlib from "zlib";
2
+ export default class PprofEncoder {
3
+ /**
4
+ * Build a pprof-like JSON structure from denormalized profile data.
5
+ * The output is a JSON object that mirrors the pprof proto structure,
6
+ * using string table indirection for compact representation.
7
+ */
8
+ static encode(profile) {
9
+ const stringTable = [""];
10
+ const stringIndex = new Map([["", 0]]);
11
+ const getStringIndex = (s) => {
12
+ const existing = stringIndex.get(s);
13
+ if (existing !== undefined) {
14
+ return existing;
15
+ }
16
+ const idx = stringTable.length;
17
+ stringTable.push(s);
18
+ stringIndex.set(s, idx);
19
+ return idx;
20
+ };
21
+ const functions = [];
22
+ const functionIndex = new Map();
23
+ const locations = [];
24
+ const locationIndex = new Map();
25
+ const getOrCreateFunction = (name, fileName) => {
26
+ const key = `${name}@${fileName}`;
27
+ const existing = functionIndex.get(key);
28
+ if (existing !== undefined) {
29
+ return existing;
30
+ }
31
+ const id = functions.length + 1;
32
+ functions.push({
33
+ id,
34
+ name: getStringIndex(name),
35
+ filename: getStringIndex(fileName),
36
+ });
37
+ functionIndex.set(key, id);
38
+ return id;
39
+ };
40
+ const getOrCreateLocation = (functionName, fileName, lineNumber) => {
41
+ const key = `${functionName}@${fileName}:${lineNumber}`;
42
+ const existing = locationIndex.get(key);
43
+ if (existing !== undefined) {
44
+ return existing;
45
+ }
46
+ const funcId = getOrCreateFunction(functionName, fileName);
47
+ const id = locations.length + 1;
48
+ locations.push({
49
+ id,
50
+ line: [{ functionId: funcId, line: lineNumber }],
51
+ });
52
+ locationIndex.set(key, id);
53
+ return id;
54
+ };
55
+ // Build samples
56
+ const pprofSamples = [];
57
+ for (const sample of profile.samples) {
58
+ const locationIds = [];
59
+ // Parse each frame in the stacktrace
60
+ for (const frame of sample.stacktrace) {
61
+ const atIndex = frame.indexOf("@");
62
+ let functionName = frame;
63
+ let fileName = "";
64
+ let lineNumber = 0;
65
+ if (atIndex !== -1) {
66
+ functionName = frame.substring(0, atIndex);
67
+ const rest = frame.substring(atIndex + 1);
68
+ const lastColon = rest.lastIndexOf(":");
69
+ if (lastColon !== -1) {
70
+ fileName = rest.substring(0, lastColon);
71
+ lineNumber = parseInt(rest.substring(lastColon + 1), 10) || 0;
72
+ }
73
+ else {
74
+ fileName = rest;
75
+ }
76
+ }
77
+ locationIds.push(getOrCreateLocation(functionName, fileName, lineNumber));
78
+ }
79
+ // Build labels
80
+ const labels = [];
81
+ if (sample.labels) {
82
+ for (const [key, value] of Object.entries(sample.labels)) {
83
+ labels.push({
84
+ key: getStringIndex(key),
85
+ str: getStringIndex(String(value)),
86
+ });
87
+ }
88
+ }
89
+ pprofSamples.push({
90
+ locationId: locationIds,
91
+ value: [sample.value],
92
+ label: labels,
93
+ });
94
+ }
95
+ // Build sample type
96
+ const typeIdx = getStringIndex(profile.profileType);
97
+ const unitIdx = getStringIndex(profile.unit || "count");
98
+ const periodTypeIdx = getStringIndex(profile.periodType || profile.profileType);
99
+ return {
100
+ stringTable,
101
+ functions,
102
+ locations,
103
+ samples: pprofSamples,
104
+ sampleType: [{ type: typeIdx, unit: unitIdx }],
105
+ periodType: { type: periodTypeIdx, unit: unitIdx },
106
+ period: profile.period,
107
+ timeNanos: profile.startTimeNanos,
108
+ durationNanos: profile.durationNanos,
109
+ };
110
+ }
111
+ /**
112
+ * Encode and gzip the pprof JSON for download.
113
+ */
114
+ static async encodeAndCompress(profile) {
115
+ const pprofData = PprofEncoder.encode(profile);
116
+ const jsonString = JSON.stringify(pprofData);
117
+ return new Promise((resolve, reject) => {
118
+ zlib.gzip(jsonString, (err, result) => {
119
+ if (err) {
120
+ reject(err);
121
+ }
122
+ else {
123
+ resolve(result);
124
+ }
125
+ });
126
+ });
127
+ }
128
+ }
129
+ //# sourceMappingURL=PprofEncoder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PprofEncoder.js","sourceRoot":"","sources":["../../../../../Server/Utils/Profile/PprofEncoder.ts"],"names":[],"mappings":"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"}
@@ -668,11 +668,27 @@ class MicrosoftTeamsUtil extends WorkspaceBase {
668
668
  logger.debug("=== MicrosoftTeamsUtil.sendMessage called ===");
669
669
  logger.debug("Sending message to Microsoft Teams with data:");
670
670
  logger.debug(data);
671
- const adaptiveCard = this.buildAdaptiveCardFromMessageBlocks({
672
- messageBlocks: data.workspaceMessagePayload.messageBlocks,
673
- });
674
- logger.debug("Adaptive card built successfully:");
675
- logger.debug(JSON.stringify(adaptiveCard, null, 2));
671
+ /*
672
+ * Teams adaptive cards have a ~28KB payload limit.
673
+ * Split message blocks into chunks of 40 to avoid hitting the limit.
674
+ */
675
+ const maxBlocksPerCard = 40;
676
+ const allMessageBlocks = data.workspaceMessagePayload.messageBlocks;
677
+ const adaptiveCards = [];
678
+ if (allMessageBlocks.length <= maxBlocksPerCard) {
679
+ adaptiveCards.push(this.buildAdaptiveCardFromMessageBlocks({
680
+ messageBlocks: allMessageBlocks,
681
+ }));
682
+ }
683
+ else {
684
+ for (let i = 0; i < allMessageBlocks.length; i += maxBlocksPerCard) {
685
+ const chunk = allMessageBlocks.slice(i, i + maxBlocksPerCard);
686
+ adaptiveCards.push(this.buildAdaptiveCardFromMessageBlocks({
687
+ messageBlocks: chunk,
688
+ }));
689
+ }
690
+ }
691
+ logger.debug(`Built ${adaptiveCards.length} adaptive card(s) from ${allMessageBlocks.length} message blocks`);
676
692
  const workspaceChannelsToPostTo = [];
677
693
  logger.debug(`Processing ${data.workspaceMessagePayload.channelNames.length} channel names`);
678
694
  logger.debug(`Channel names: ${JSON.stringify(data.workspaceMessagePayload.channelNames)}`);
@@ -734,15 +750,21 @@ class MicrosoftTeamsUtil extends WorkspaceBase {
734
750
  if (!data.workspaceMessagePayload.teamId) {
735
751
  throw new BadDataException("Team ID is required to send messages to channels.");
736
752
  }
737
- const thread = await this.sendAdaptiveCardToChannel({
738
- authToken: data.authToken,
739
- teamId: data.workspaceMessagePayload.teamId,
740
- workspaceChannel: channel,
741
- adaptiveCard: adaptiveCard,
742
- projectId: data.projectId,
743
- });
744
- logger.debug(`Message sent successfully to channel ${channel.name}, thread: ${JSON.stringify(thread)}`);
745
- workspaceMessageResponse.threads.push(thread);
753
+ // Send each adaptive card chunk to the channel
754
+ let lastThread;
755
+ for (const adaptiveCard of adaptiveCards) {
756
+ lastThread = await this.sendAdaptiveCardToChannel({
757
+ authToken: data.authToken,
758
+ teamId: data.workspaceMessagePayload.teamId,
759
+ workspaceChannel: channel,
760
+ adaptiveCard: adaptiveCard,
761
+ projectId: data.projectId,
762
+ });
763
+ }
764
+ if (lastThread) {
765
+ logger.debug(`Message sent successfully to channel ${channel.name}, thread: ${JSON.stringify(lastThread)}`);
766
+ workspaceMessageResponse.threads.push(lastThread);
767
+ }
746
768
  }
747
769
  catch (e) {
748
770
  logger.error(`Error sending message to channel ID ${channel.id}:`);