@oneuptime/common 10.0.39 → 10.0.41

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 (285) 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/Tests/UI/Components/ComponentsModal.test.tsx +19 -15
  40. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +2 -0
  41. package/Types/CookieName.ts +1 -0
  42. package/Types/Dashboard/Chart/ChartType.ts +5 -0
  43. package/Types/Dashboard/DashboardComponentType.ts +4 -0
  44. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +10 -0
  45. package/Types/Dashboard/DashboardComponents/DashboardChartComponent.ts +1 -2
  46. package/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.ts +17 -0
  47. package/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.ts +15 -0
  48. package/Types/Dashboard/DashboardComponents/DashboardTableComponent.ts +14 -0
  49. package/Types/Dashboard/DashboardComponents/DashboardTextComponent.ts +1 -0
  50. package/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.ts +13 -0
  51. package/Types/Dashboard/DashboardComponents/DashboardValueComponent.ts +2 -0
  52. package/Types/Dashboard/DashboardTemplates.ts +964 -0
  53. package/Types/Dashboard/DashboardVariable.ts +23 -0
  54. package/Types/Dashboard/DashboardViewConfig.ts +59 -0
  55. package/Types/Dashboard/MasterPassword.ts +10 -0
  56. package/Types/Icon/IconProp.ts +1 -0
  57. package/Types/Incident/IncidentMetricType.ts +3 -0
  58. package/Types/MeteredPlan/ProductType.ts +1 -0
  59. package/Types/Metrics/MetricQueryConfigData.ts +3 -0
  60. package/Types/Monitor/CriteriaFilter.ts +3 -0
  61. package/Types/Monitor/KubernetesAlertTemplates.ts +78 -7
  62. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +20 -0
  63. package/Types/Monitor/MonitorStep.ts +25 -0
  64. package/Types/Monitor/MonitorStepProfileMonitor.ts +96 -0
  65. package/Types/Monitor/MonitorType.ts +11 -0
  66. package/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.ts +12 -0
  67. package/Types/Permission.ts +87 -0
  68. package/Types/Telemetry/TelemetryType.ts +1 -0
  69. package/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.ts +1 -0
  70. package/UI/Components/Button/Button.tsx +1 -1
  71. package/UI/Components/Card/Card.tsx +8 -4
  72. package/UI/Components/Charts/Area/AreaChart.tsx +4 -0
  73. package/UI/Components/Charts/Bar/BarChart.tsx +4 -0
  74. package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +26 -0
  75. package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +26 -0
  76. package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +26 -0
  77. package/UI/Components/Charts/Line/LineChart.tsx +4 -0
  78. package/UI/Components/Charts/Types/ReferenceLineProps.ts +6 -0
  79. package/UI/Components/Icon/Icon.tsx +33 -0
  80. package/UI/Components/ModelTable/BaseModelTable.tsx +13 -10
  81. package/UI/Components/MoreMenu/MoreMenu.tsx +15 -2
  82. package/UI/Components/MoreMenu/MoreMenuItem.tsx +4 -4
  83. package/UI/Components/Workflow/Component.tsx +450 -209
  84. package/UI/Components/Workflow/ComponentPortViewer.tsx +57 -20
  85. package/UI/Components/Workflow/ComponentReturnValueViewer.tsx +65 -25
  86. package/UI/Components/Workflow/ComponentSettingsModal.tsx +202 -37
  87. package/UI/Components/Workflow/ComponentsModal.tsx +180 -93
  88. package/UI/Components/Workflow/Workflow.tsx +105 -9
  89. package/UI/Config.ts +9 -0
  90. package/Utils/Dashboard/Components/DashboardChartComponent.ts +53 -22
  91. package/Utils/Dashboard/Components/DashboardGaugeComponent.ts +124 -0
  92. package/Utils/Dashboard/Components/DashboardLogStreamComponent.ts +110 -0
  93. package/Utils/Dashboard/Components/DashboardTableComponent.ts +86 -0
  94. package/Utils/Dashboard/Components/DashboardTextComponent.ts +32 -7
  95. package/Utils/Dashboard/Components/DashboardTraceListComponent.ts +86 -0
  96. package/Utils/Dashboard/Components/DashboardValueComponent.ts +39 -3
  97. package/Utils/Dashboard/Components/Index.ts +28 -0
  98. package/Utils/ValueFormatter.ts +170 -0
  99. package/build/dist/Models/AnalyticsModels/Index.js +4 -0
  100. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  101. package/build/dist/Models/AnalyticsModels/Profile.js +621 -0
  102. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -0
  103. package/build/dist/Models/AnalyticsModels/ProfileSample.js +497 -0
  104. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -0
  105. package/build/dist/Models/DatabaseModels/Dashboard.js +365 -0
  106. package/build/dist/Models/DatabaseModels/Dashboard.js.map +1 -1
  107. package/build/dist/Models/DatabaseModels/DashboardDomain.js +691 -0
  108. package/build/dist/Models/DatabaseModels/DashboardDomain.js.map +1 -0
  109. package/build/dist/Models/DatabaseModels/Index.js +2 -0
  110. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  111. package/build/dist/Models/DatabaseModels/StatusPage.js +42 -0
  112. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -1
  113. package/build/dist/Server/API/DashboardAPI.js +293 -0
  114. package/build/dist/Server/API/DashboardAPI.js.map +1 -0
  115. package/build/dist/Server/API/DashboardDomainAPI.js +124 -0
  116. package/build/dist/Server/API/DashboardDomainAPI.js.map +1 -0
  117. package/build/dist/Server/API/StatusPageAPI.js +26 -2
  118. package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
  119. package/build/dist/Server/API/TelemetryAPI.js +222 -0
  120. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  121. package/build/dist/Server/EnvironmentConfig.js +4 -0
  122. package/build/dist/Server/EnvironmentConfig.js.map +1 -1
  123. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js +40 -0
  124. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742177-MigrationName.js.map +1 -0
  125. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js +12 -0
  126. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742178-MigrationName.js.map +1 -0
  127. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js +23 -0
  128. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774524742179-MigrationName.js.map +1 -0
  129. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js +26 -0
  130. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1774559064919-MigrationName.js.map +1 -0
  131. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  132. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  133. package/build/dist/Server/Middleware/UserAuthorization.js +41 -0
  134. package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
  135. package/build/dist/Server/Services/DashboardDomainService.js +595 -0
  136. package/build/dist/Server/Services/DashboardDomainService.js.map +1 -0
  137. package/build/dist/Server/Services/DashboardService.js +117 -3
  138. package/build/dist/Server/Services/DashboardService.js.map +1 -1
  139. package/build/dist/Server/Services/IncidentService.js +231 -55
  140. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  141. package/build/dist/Server/Services/IncidentStateTimelineService.js +1 -1
  142. package/build/dist/Server/Services/IncidentStateTimelineService.js.map +1 -1
  143. package/build/dist/Server/Services/Index.js +6 -0
  144. package/build/dist/Server/Services/Index.js.map +1 -1
  145. package/build/dist/Server/Services/MonitorService.js +5 -2
  146. package/build/dist/Server/Services/MonitorService.js.map +1 -1
  147. package/build/dist/Server/Services/ProfileAggregationService.js +356 -0
  148. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -0
  149. package/build/dist/Server/Services/ProfileSampleService.js +9 -0
  150. package/build/dist/Server/Services/ProfileSampleService.js.map +1 -0
  151. package/build/dist/Server/Services/ProfileService.js +9 -0
  152. package/build/dist/Server/Services/ProfileService.js.map +1 -0
  153. package/build/dist/Server/Services/TelemetryUsageBillingService.js +61 -4
  154. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  155. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +13 -1
  156. package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
  157. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js +8 -0
  158. package/build/dist/Server/Types/Billing/MeteredPlan/AllMeteredPlans.js.map +1 -1
  159. package/build/dist/Server/Utils/Cookie.js +36 -0
  160. package/build/dist/Server/Utils/Cookie.js.map +1 -1
  161. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js +34 -0
  162. package/build/dist/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.js.map +1 -0
  163. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +173 -0
  164. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  165. package/build/dist/Server/Utils/Profile/PprofEncoder.js +129 -0
  166. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -0
  167. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +36 -14
  168. package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
  169. package/build/dist/Server/Utils/Workspace/Slack/Slack.js +23 -6
  170. package/build/dist/Server/Utils/Workspace/Slack/Slack.js.map +1 -1
  171. package/build/dist/ServiceRoute.js +1 -0
  172. package/build/dist/ServiceRoute.js.map +1 -1
  173. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +15 -15
  174. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +1 -1
  175. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +2 -0
  176. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  177. package/build/dist/Types/CookieName.js +1 -0
  178. package/build/dist/Types/CookieName.js.map +1 -1
  179. package/build/dist/Types/Dashboard/Chart/ChartType.js +5 -0
  180. package/build/dist/Types/Dashboard/Chart/ChartType.js.map +1 -1
  181. package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
  182. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  183. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
  184. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  185. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js +2 -0
  186. package/build/dist/Types/Dashboard/DashboardComponents/DashboardGaugeComponent.js.map +1 -0
  187. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js +2 -0
  188. package/build/dist/Types/Dashboard/DashboardComponents/DashboardLogStreamComponent.js.map +1 -0
  189. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js +2 -0
  190. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTableComponent.js.map +1 -0
  191. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js +2 -0
  192. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceListComponent.js.map +1 -0
  193. package/build/dist/Types/Dashboard/DashboardTemplates.js +853 -0
  194. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -0
  195. package/build/dist/Types/Dashboard/DashboardVariable.js +7 -0
  196. package/build/dist/Types/Dashboard/DashboardVariable.js.map +1 -0
  197. package/build/dist/Types/Dashboard/DashboardViewConfig.js +50 -1
  198. package/build/dist/Types/Dashboard/DashboardViewConfig.js.map +1 -1
  199. package/build/dist/Types/Dashboard/MasterPassword.js +5 -0
  200. package/build/dist/Types/Dashboard/MasterPassword.js.map +1 -0
  201. package/build/dist/Types/Icon/IconProp.js +1 -0
  202. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  203. package/build/dist/Types/Incident/IncidentMetricType.js +3 -0
  204. package/build/dist/Types/Incident/IncidentMetricType.js.map +1 -1
  205. package/build/dist/Types/MeteredPlan/ProductType.js +1 -0
  206. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  207. package/build/dist/Types/Metrics/MetricQueryConfigData.js +1 -0
  208. package/build/dist/Types/Metrics/MetricQueryConfigData.js.map +1 -1
  209. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  210. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  211. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +58 -7
  212. package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
  213. package/build/dist/Types/Monitor/MonitorStep.js +15 -0
  214. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  215. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +59 -0
  216. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -0
  217. package/build/dist/Types/Monitor/MonitorType.js +10 -0
  218. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  219. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js +2 -0
  220. package/build/dist/Types/Monitor/ProfileMonitor/ProfileMonitorResponse.js.map +1 -0
  221. package/build/dist/Types/Permission.js +75 -0
  222. package/build/dist/Types/Permission.js.map +1 -1
  223. package/build/dist/Types/Telemetry/TelemetryType.js +1 -0
  224. package/build/dist/Types/Telemetry/TelemetryType.js.map +1 -1
  225. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js +1 -0
  226. package/build/dist/Types/Workspace/NotificationSummary/WorkspaceNotificationSummaryItem.js.map +1 -1
  227. package/build/dist/UI/Components/Button/Button.js +1 -1
  228. package/build/dist/UI/Components/Button/Button.js.map +1 -1
  229. package/build/dist/UI/Components/Card/Card.js +4 -4
  230. package/build/dist/UI/Components/Card/Card.js.map +1 -1
  231. package/build/dist/UI/Components/Charts/Area/AreaChart.js +1 -1
  232. package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
  233. package/build/dist/UI/Components/Charts/Bar/BarChart.js +1 -1
  234. package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
  235. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +5 -2
  236. package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
  237. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +5 -2
  238. package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
  239. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +6 -3
  240. package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
  241. package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
  242. package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
  243. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js +2 -0
  244. package/build/dist/UI/Components/Charts/Types/ReferenceLineProps.js.map +1 -0
  245. package/build/dist/UI/Components/Icon/Icon.js +11 -0
  246. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  247. package/build/dist/UI/Components/ModelTable/BaseModelTable.js +12 -9
  248. package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
  249. package/build/dist/UI/Components/MoreMenu/MoreMenu.js +8 -2
  250. package/build/dist/UI/Components/MoreMenu/MoreMenu.js.map +1 -1
  251. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js +4 -4
  252. package/build/dist/UI/Components/MoreMenu/MoreMenuItem.js.map +1 -1
  253. package/build/dist/UI/Components/Workflow/Component.js +311 -143
  254. package/build/dist/UI/Components/Workflow/Component.js.map +1 -1
  255. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js +44 -18
  256. package/build/dist/UI/Components/Workflow/ComponentPortViewer.js.map +1 -1
  257. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js +48 -22
  258. package/build/dist/UI/Components/Workflow/ComponentReturnValueViewer.js.map +1 -1
  259. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js +127 -21
  260. package/build/dist/UI/Components/Workflow/ComponentSettingsModal.js.map +1 -1
  261. package/build/dist/UI/Components/Workflow/ComponentsModal.js +107 -52
  262. package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
  263. package/build/dist/UI/Components/Workflow/Workflow.js +87 -12
  264. package/build/dist/UI/Components/Workflow/Workflow.js.map +1 -1
  265. package/build/dist/UI/Config.js +3 -1
  266. package/build/dist/UI/Config.js.map +1 -1
  267. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js +50 -21
  268. package/build/dist/Utils/Dashboard/Components/DashboardChartComponent.js.map +1 -1
  269. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js +104 -0
  270. package/build/dist/Utils/Dashboard/Components/DashboardGaugeComponent.js.map +1 -0
  271. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js +91 -0
  272. package/build/dist/Utils/Dashboard/Components/DashboardLogStreamComponent.js.map +1 -0
  273. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js +70 -0
  274. package/build/dist/Utils/Dashboard/Components/DashboardTableComponent.js.map +1 -0
  275. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js +28 -7
  276. package/build/dist/Utils/Dashboard/Components/DashboardTextComponent.js.map +1 -1
  277. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js +70 -0
  278. package/build/dist/Utils/Dashboard/Components/DashboardTraceListComponent.js.map +1 -0
  279. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js +34 -3
  280. package/build/dist/Utils/Dashboard/Components/DashboardValueComponent.js.map +1 -1
  281. package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
  282. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  283. package/build/dist/Utils/ValueFormatter.js +132 -0
  284. package/build/dist/Utils/ValueFormatter.js.map +1 -0
  285. package/package.json +1 -1
@@ -0,0 +1,547 @@
1
+ import AnalyticsBaseModel from "./AnalyticsBaseModel/AnalyticsBaseModel";
2
+ import Route from "../../Types/API/Route";
3
+ import AnalyticsTableEngine from "../../Types/AnalyticsDatabase/AnalyticsTableEngine";
4
+ import AnalyticsTableName from "../../Types/AnalyticsDatabase/AnalyticsTableName";
5
+ import AnalyticsTableColumn, {
6
+ SkipIndexType,
7
+ } from "../../Types/AnalyticsDatabase/TableColumn";
8
+ import TableColumnType from "../../Types/AnalyticsDatabase/TableColumnType";
9
+ import { JSONObject } from "../../Types/JSON";
10
+ import ObjectID from "../../Types/ObjectID";
11
+ import Permission from "../../Types/Permission";
12
+
13
+ export default class ProfileSample extends AnalyticsBaseModel {
14
+ public constructor() {
15
+ const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
16
+ key: "projectId",
17
+ title: "Project ID",
18
+ description: "ID of project",
19
+ required: true,
20
+ type: TableColumnType.ObjectID,
21
+ isTenantId: true,
22
+ accessControl: {
23
+ read: [
24
+ Permission.ProjectOwner,
25
+ Permission.ProjectAdmin,
26
+ Permission.ProjectMember,
27
+ Permission.ReadTelemetryServiceProfiles,
28
+ ],
29
+ create: [
30
+ Permission.ProjectOwner,
31
+ Permission.ProjectAdmin,
32
+ Permission.ProjectMember,
33
+ Permission.CreateTelemetryServiceProfiles,
34
+ ],
35
+ update: [],
36
+ },
37
+ });
38
+
39
+ const serviceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
40
+ key: "serviceId",
41
+ title: "Service ID",
42
+ description: "ID of the Service which created the profile",
43
+ required: true,
44
+ type: TableColumnType.ObjectID,
45
+ accessControl: {
46
+ read: [
47
+ Permission.ProjectOwner,
48
+ Permission.ProjectAdmin,
49
+ Permission.ProjectMember,
50
+ Permission.ReadTelemetryServiceProfiles,
51
+ ],
52
+ create: [
53
+ Permission.ProjectOwner,
54
+ Permission.ProjectAdmin,
55
+ Permission.ProjectMember,
56
+ Permission.CreateTelemetryServiceProfiles,
57
+ ],
58
+ update: [],
59
+ },
60
+ });
61
+
62
+ const profileIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
63
+ key: "profileId",
64
+ title: "Profile ID",
65
+ description: "FK to profile table",
66
+ required: true,
67
+ type: TableColumnType.Text,
68
+ codec: { codec: "ZSTD", level: 1 },
69
+ skipIndex: {
70
+ name: "idx_profile_id",
71
+ type: SkipIndexType.BloomFilter,
72
+ params: [0.01],
73
+ granularity: 1,
74
+ },
75
+ accessControl: {
76
+ read: [
77
+ Permission.ProjectOwner,
78
+ Permission.ProjectAdmin,
79
+ Permission.ProjectMember,
80
+ Permission.ReadTelemetryServiceProfiles,
81
+ ],
82
+ create: [
83
+ Permission.ProjectOwner,
84
+ Permission.ProjectAdmin,
85
+ Permission.ProjectMember,
86
+ Permission.CreateTelemetryServiceProfiles,
87
+ ],
88
+ update: [],
89
+ },
90
+ });
91
+
92
+ const traceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
93
+ key: "traceId",
94
+ title: "Trace ID",
95
+ description: "Trace correlation (from Link table)",
96
+ required: false,
97
+ type: TableColumnType.Text,
98
+ codec: { codec: "ZSTD", level: 1 },
99
+ skipIndex: {
100
+ name: "idx_trace_id",
101
+ type: SkipIndexType.BloomFilter,
102
+ params: [0.01],
103
+ granularity: 1,
104
+ },
105
+ accessControl: {
106
+ read: [
107
+ Permission.ProjectOwner,
108
+ Permission.ProjectAdmin,
109
+ Permission.ProjectMember,
110
+ Permission.ReadTelemetryServiceProfiles,
111
+ ],
112
+ create: [
113
+ Permission.ProjectOwner,
114
+ Permission.ProjectAdmin,
115
+ Permission.ProjectMember,
116
+ Permission.CreateTelemetryServiceProfiles,
117
+ ],
118
+ update: [],
119
+ },
120
+ });
121
+
122
+ const spanIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
123
+ key: "spanId",
124
+ title: "Span ID",
125
+ description: "Span correlation (from Link table)",
126
+ required: false,
127
+ type: TableColumnType.Text,
128
+ codec: { codec: "ZSTD", level: 1 },
129
+ skipIndex: {
130
+ name: "idx_span_id",
131
+ type: SkipIndexType.BloomFilter,
132
+ params: [0.01],
133
+ granularity: 1,
134
+ },
135
+ accessControl: {
136
+ read: [
137
+ Permission.ProjectOwner,
138
+ Permission.ProjectAdmin,
139
+ Permission.ProjectMember,
140
+ Permission.ReadTelemetryServiceProfiles,
141
+ ],
142
+ create: [
143
+ Permission.ProjectOwner,
144
+ Permission.ProjectAdmin,
145
+ Permission.ProjectMember,
146
+ Permission.CreateTelemetryServiceProfiles,
147
+ ],
148
+ update: [],
149
+ },
150
+ });
151
+
152
+ const timeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
153
+ key: "time",
154
+ title: "Time",
155
+ description: "Sample timestamp",
156
+ required: true,
157
+ type: TableColumnType.DateTime64,
158
+ accessControl: {
159
+ read: [
160
+ Permission.ProjectOwner,
161
+ Permission.ProjectAdmin,
162
+ Permission.ProjectMember,
163
+ Permission.ReadTelemetryServiceProfiles,
164
+ ],
165
+ create: [
166
+ Permission.ProjectOwner,
167
+ Permission.ProjectAdmin,
168
+ Permission.ProjectMember,
169
+ Permission.CreateTelemetryServiceProfiles,
170
+ ],
171
+ update: [],
172
+ },
173
+ });
174
+
175
+ const timeUnixNanoColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
176
+ key: "timeUnixNano",
177
+ title: "Time (in Unix Nano)",
178
+ description: "Sample timestamp in unix nanoseconds",
179
+ required: true,
180
+ type: TableColumnType.LongNumber,
181
+ codec: { codec: "ZSTD", level: 1 },
182
+ accessControl: {
183
+ read: [
184
+ Permission.ProjectOwner,
185
+ Permission.ProjectAdmin,
186
+ Permission.ProjectMember,
187
+ Permission.ReadTelemetryServiceProfiles,
188
+ ],
189
+ create: [
190
+ Permission.ProjectOwner,
191
+ Permission.ProjectAdmin,
192
+ Permission.ProjectMember,
193
+ Permission.CreateTelemetryServiceProfiles,
194
+ ],
195
+ update: [],
196
+ },
197
+ });
198
+
199
+ const stacktraceColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
200
+ key: "stacktrace",
201
+ title: "Stacktrace",
202
+ description: "Fully-resolved stack frames (function@file:line)",
203
+ required: true,
204
+ defaultValue: [],
205
+ type: TableColumnType.ArrayText,
206
+ codec: { codec: "ZSTD", level: 3 },
207
+ accessControl: {
208
+ read: [
209
+ Permission.ProjectOwner,
210
+ Permission.ProjectAdmin,
211
+ Permission.ProjectMember,
212
+ Permission.ReadTelemetryServiceProfiles,
213
+ ],
214
+ create: [
215
+ Permission.ProjectOwner,
216
+ Permission.ProjectAdmin,
217
+ Permission.ProjectMember,
218
+ Permission.CreateTelemetryServiceProfiles,
219
+ ],
220
+ update: [],
221
+ },
222
+ });
223
+
224
+ const stacktraceHashColumn: AnalyticsTableColumn = new AnalyticsTableColumn(
225
+ {
226
+ key: "stacktraceHash",
227
+ title: "Stacktrace Hash",
228
+ description: "Hash of stacktrace for grouping",
229
+ required: true,
230
+ type: TableColumnType.Text,
231
+ codec: { codec: "ZSTD", level: 1 },
232
+ skipIndex: {
233
+ name: "idx_stacktrace_hash",
234
+ type: SkipIndexType.BloomFilter,
235
+ params: [0.01],
236
+ granularity: 1,
237
+ },
238
+ accessControl: {
239
+ read: [
240
+ Permission.ProjectOwner,
241
+ Permission.ProjectAdmin,
242
+ Permission.ProjectMember,
243
+ Permission.ReadTelemetryServiceProfiles,
244
+ ],
245
+ create: [
246
+ Permission.ProjectOwner,
247
+ Permission.ProjectAdmin,
248
+ Permission.ProjectMember,
249
+ Permission.CreateTelemetryServiceProfiles,
250
+ ],
251
+ update: [],
252
+ },
253
+ },
254
+ );
255
+
256
+ const frameTypesColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
257
+ key: "frameTypes",
258
+ title: "Frame Types",
259
+ description:
260
+ "Per-frame runtime type (kernel, native, jvm, cpython, go, v8js, etc.)",
261
+ required: true,
262
+ defaultValue: [],
263
+ type: TableColumnType.ArrayText,
264
+ codec: { codec: "ZSTD", level: 3 },
265
+ accessControl: {
266
+ read: [
267
+ Permission.ProjectOwner,
268
+ Permission.ProjectAdmin,
269
+ Permission.ProjectMember,
270
+ Permission.ReadTelemetryServiceProfiles,
271
+ ],
272
+ create: [
273
+ Permission.ProjectOwner,
274
+ Permission.ProjectAdmin,
275
+ Permission.ProjectMember,
276
+ Permission.CreateTelemetryServiceProfiles,
277
+ ],
278
+ update: [],
279
+ },
280
+ });
281
+
282
+ const valueColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
283
+ key: "value",
284
+ title: "Value",
285
+ description: "Sample value (CPU time, bytes, count)",
286
+ required: true,
287
+ type: TableColumnType.LongNumber,
288
+ accessControl: {
289
+ read: [
290
+ Permission.ProjectOwner,
291
+ Permission.ProjectAdmin,
292
+ Permission.ProjectMember,
293
+ Permission.ReadTelemetryServiceProfiles,
294
+ ],
295
+ create: [
296
+ Permission.ProjectOwner,
297
+ Permission.ProjectAdmin,
298
+ Permission.ProjectMember,
299
+ Permission.CreateTelemetryServiceProfiles,
300
+ ],
301
+ update: [],
302
+ },
303
+ });
304
+
305
+ const profileTypeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
306
+ key: "profileType",
307
+ title: "Profile Type",
308
+ description: "Denormalized profile type for filtering",
309
+ required: true,
310
+ type: TableColumnType.Text,
311
+ skipIndex: {
312
+ name: "idx_profile_type",
313
+ type: SkipIndexType.Set,
314
+ params: [20],
315
+ granularity: 4,
316
+ },
317
+ accessControl: {
318
+ read: [
319
+ Permission.ProjectOwner,
320
+ Permission.ProjectAdmin,
321
+ Permission.ProjectMember,
322
+ Permission.ReadTelemetryServiceProfiles,
323
+ ],
324
+ create: [
325
+ Permission.ProjectOwner,
326
+ Permission.ProjectAdmin,
327
+ Permission.ProjectMember,
328
+ Permission.CreateTelemetryServiceProfiles,
329
+ ],
330
+ update: [],
331
+ },
332
+ });
333
+
334
+ const labelsColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
335
+ key: "labels",
336
+ title: "Labels",
337
+ description: "Sample-level labels",
338
+ required: true,
339
+ defaultValue: {},
340
+ type: TableColumnType.MapStringString,
341
+ codec: { codec: "ZSTD", level: 3 },
342
+ accessControl: {
343
+ read: [
344
+ Permission.ProjectOwner,
345
+ Permission.ProjectAdmin,
346
+ Permission.ProjectMember,
347
+ Permission.ReadTelemetryServiceProfiles,
348
+ ],
349
+ create: [
350
+ Permission.ProjectOwner,
351
+ Permission.ProjectAdmin,
352
+ Permission.ProjectMember,
353
+ Permission.CreateTelemetryServiceProfiles,
354
+ ],
355
+ update: [],
356
+ },
357
+ });
358
+
359
+ const retentionDateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
360
+ key: "retentionDate",
361
+ title: "Retention Date",
362
+ description:
363
+ "Date after which this row is eligible for TTL deletion, computed at ingest time as time + service.retainTelemetryDataForDays",
364
+ required: true,
365
+ type: TableColumnType.Date,
366
+ defaultValue: undefined,
367
+ });
368
+
369
+ super({
370
+ tableName: AnalyticsTableName.ProfileSample,
371
+ tableEngine: AnalyticsTableEngine.MergeTree,
372
+ singularName: "ProfileSample",
373
+ pluralName: "ProfileSamples",
374
+ crudApiPath: new Route("/profile-sample"),
375
+ accessControl: {
376
+ read: [
377
+ Permission.ProjectOwner,
378
+ Permission.ProjectAdmin,
379
+ Permission.ProjectMember,
380
+ Permission.ReadTelemetryServiceProfiles,
381
+ ],
382
+ create: [
383
+ Permission.ProjectOwner,
384
+ Permission.ProjectAdmin,
385
+ Permission.ProjectMember,
386
+ Permission.CreateTelemetryServiceProfiles,
387
+ ],
388
+ update: [
389
+ Permission.ProjectOwner,
390
+ Permission.ProjectAdmin,
391
+ Permission.ProjectMember,
392
+ Permission.EditTelemetryServiceProfiles,
393
+ ],
394
+ delete: [
395
+ Permission.ProjectOwner,
396
+ Permission.ProjectAdmin,
397
+ Permission.ProjectMember,
398
+ Permission.DeleteTelemetryServiceProfiles,
399
+ ],
400
+ },
401
+ tableColumns: [
402
+ projectIdColumn,
403
+ serviceIdColumn,
404
+ profileIdColumn,
405
+ traceIdColumn,
406
+ spanIdColumn,
407
+ timeColumn,
408
+ timeUnixNanoColumn,
409
+ stacktraceColumn,
410
+ stacktraceHashColumn,
411
+ frameTypesColumn,
412
+ valueColumn,
413
+ profileTypeColumn,
414
+ labelsColumn,
415
+ retentionDateColumn,
416
+ ],
417
+ sortKeys: [
418
+ "projectId",
419
+ "time",
420
+ "serviceId",
421
+ "profileType",
422
+ "stacktraceHash",
423
+ ],
424
+ primaryKeys: [
425
+ "projectId",
426
+ "time",
427
+ "serviceId",
428
+ "profileType",
429
+ "stacktraceHash",
430
+ ],
431
+ partitionKey: "sipHash64(projectId) % 16",
432
+ ttlExpression: "retentionDate DELETE",
433
+ });
434
+ }
435
+
436
+ public get projectId(): ObjectID | undefined {
437
+ return this.getColumnValue("projectId") as ObjectID | undefined;
438
+ }
439
+
440
+ public set projectId(v: ObjectID | undefined) {
441
+ this.setColumnValue("projectId", v);
442
+ }
443
+
444
+ public get serviceId(): ObjectID | undefined {
445
+ return this.getColumnValue("serviceId") as ObjectID | undefined;
446
+ }
447
+
448
+ public set serviceId(v: ObjectID | undefined) {
449
+ this.setColumnValue("serviceId", v);
450
+ }
451
+
452
+ public get profileId(): string | undefined {
453
+ return this.getColumnValue("profileId") as string | undefined;
454
+ }
455
+
456
+ public set profileId(v: string | undefined) {
457
+ this.setColumnValue("profileId", v);
458
+ }
459
+
460
+ public get traceId(): string | undefined {
461
+ return this.getColumnValue("traceId") as string | undefined;
462
+ }
463
+
464
+ public set traceId(v: string | undefined) {
465
+ this.setColumnValue("traceId", v);
466
+ }
467
+
468
+ public get spanId(): string | undefined {
469
+ return this.getColumnValue("spanId") as string | undefined;
470
+ }
471
+
472
+ public set spanId(v: string | undefined) {
473
+ this.setColumnValue("spanId", v);
474
+ }
475
+
476
+ public get time(): Date | undefined {
477
+ return this.getColumnValue("time") as Date | undefined;
478
+ }
479
+
480
+ public set time(v: Date | undefined) {
481
+ this.setColumnValue("time", v);
482
+ }
483
+
484
+ public get timeUnixNano(): number | undefined {
485
+ return this.getColumnValue("timeUnixNano") as number | undefined;
486
+ }
487
+
488
+ public set timeUnixNano(v: number | undefined) {
489
+ this.setColumnValue("timeUnixNano", v);
490
+ }
491
+
492
+ public get stacktrace(): Array<string> | undefined {
493
+ return this.getColumnValue("stacktrace") as Array<string> | undefined;
494
+ }
495
+
496
+ public set stacktrace(v: Array<string> | undefined) {
497
+ this.setColumnValue("stacktrace", v);
498
+ }
499
+
500
+ public get stacktraceHash(): string | undefined {
501
+ return this.getColumnValue("stacktraceHash") as string | undefined;
502
+ }
503
+
504
+ public set stacktraceHash(v: string | undefined) {
505
+ this.setColumnValue("stacktraceHash", v);
506
+ }
507
+
508
+ public get frameTypes(): Array<string> | undefined {
509
+ return this.getColumnValue("frameTypes") as Array<string> | undefined;
510
+ }
511
+
512
+ public set frameTypes(v: Array<string> | undefined) {
513
+ this.setColumnValue("frameTypes", v);
514
+ }
515
+
516
+ public get value(): number | undefined {
517
+ return this.getColumnValue("value") as number | undefined;
518
+ }
519
+
520
+ public set value(v: number | undefined) {
521
+ this.setColumnValue("value", v);
522
+ }
523
+
524
+ public get profileType(): string | undefined {
525
+ return this.getColumnValue("profileType") as string | undefined;
526
+ }
527
+
528
+ public set profileType(v: string | undefined) {
529
+ this.setColumnValue("profileType", v);
530
+ }
531
+
532
+ public get labels(): JSONObject | undefined {
533
+ return this.getColumnValue("labels") as JSONObject | undefined;
534
+ }
535
+
536
+ public set labels(v: JSONObject | undefined) {
537
+ this.setColumnValue("labels", v);
538
+ }
539
+
540
+ public get retentionDate(): Date | undefined {
541
+ return this.getColumnValue("retentionDate") as Date | undefined;
542
+ }
543
+
544
+ public set retentionDate(v: Date | undefined) {
545
+ this.setColumnValue("retentionDate", v);
546
+ }
547
+ }