@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
@@ -4,6 +4,8 @@ import Metric from "./Metric";
4
4
  import Span from "./Span";
5
5
  import ExceptionInstance from "./ExceptionInstance";
6
6
  import MonitorLog from "./MonitorLog";
7
+ import Profile from "./Profile";
8
+ import ProfileSample from "./ProfileSample";
7
9
 
8
10
  const AnalyticsModels: Array<{ new (): AnalyticsBaseModel }> = [
9
11
  Log,
@@ -11,6 +13,8 @@ const AnalyticsModels: Array<{ new (): AnalyticsBaseModel }> = [
11
13
  Metric,
12
14
  ExceptionInstance,
13
15
  MonitorLog,
16
+ Profile,
17
+ ProfileSample,
14
18
  ];
15
19
 
16
20
  const modelTypeMap: { [key: string]: { new (): AnalyticsBaseModel } } = {};
@@ -0,0 +1,687 @@
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 Profile 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: "Unique identifier for the profile",
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: "Correlation with traces",
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: "Correlation with spans",
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 startTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
153
+ key: "startTime",
154
+ title: "Start Time",
155
+ description: "Profile start 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 endTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
176
+ key: "endTime",
177
+ title: "End Time",
178
+ description: "Profile end timestamp",
179
+ required: true,
180
+ type: TableColumnType.DateTime64,
181
+ accessControl: {
182
+ read: [
183
+ Permission.ProjectOwner,
184
+ Permission.ProjectAdmin,
185
+ Permission.ProjectMember,
186
+ Permission.ReadTelemetryServiceProfiles,
187
+ ],
188
+ create: [
189
+ Permission.ProjectOwner,
190
+ Permission.ProjectAdmin,
191
+ Permission.ProjectMember,
192
+ Permission.CreateTelemetryServiceProfiles,
193
+ ],
194
+ update: [],
195
+ },
196
+ });
197
+
198
+ const startTimeUnixNanoColumn: AnalyticsTableColumn =
199
+ new AnalyticsTableColumn({
200
+ key: "startTimeUnixNano",
201
+ title: "Start Time in Unix Nano",
202
+ description: "Profile start timestamp in unix nanoseconds",
203
+ required: true,
204
+ type: TableColumnType.LongNumber,
205
+ codec: { codec: "ZSTD", level: 1 },
206
+ accessControl: {
207
+ read: [
208
+ Permission.ProjectOwner,
209
+ Permission.ProjectAdmin,
210
+ Permission.ProjectMember,
211
+ Permission.ReadTelemetryServiceProfiles,
212
+ ],
213
+ create: [
214
+ Permission.ProjectOwner,
215
+ Permission.ProjectAdmin,
216
+ Permission.ProjectMember,
217
+ Permission.CreateTelemetryServiceProfiles,
218
+ ],
219
+ update: [],
220
+ },
221
+ });
222
+
223
+ const endTimeUnixNanoColumn: AnalyticsTableColumn =
224
+ new AnalyticsTableColumn({
225
+ key: "endTimeUnixNano",
226
+ title: "End Time in Unix Nano",
227
+ description: "Profile end timestamp in unix nanoseconds",
228
+ required: true,
229
+ type: TableColumnType.LongNumber,
230
+ codec: { codec: "ZSTD", level: 1 },
231
+ accessControl: {
232
+ read: [
233
+ Permission.ProjectOwner,
234
+ Permission.ProjectAdmin,
235
+ Permission.ProjectMember,
236
+ Permission.ReadTelemetryServiceProfiles,
237
+ ],
238
+ create: [
239
+ Permission.ProjectOwner,
240
+ Permission.ProjectAdmin,
241
+ Permission.ProjectMember,
242
+ Permission.CreateTelemetryServiceProfiles,
243
+ ],
244
+ update: [],
245
+ },
246
+ });
247
+
248
+ const durationNanoColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
249
+ key: "durationNano",
250
+ title: "Duration in Nanoseconds",
251
+ description: "Duration of the profile in nanoseconds",
252
+ required: true,
253
+ type: TableColumnType.LongNumber,
254
+ codec: { codec: "ZSTD", level: 1 },
255
+ accessControl: {
256
+ read: [
257
+ Permission.ProjectOwner,
258
+ Permission.ProjectAdmin,
259
+ Permission.ProjectMember,
260
+ Permission.ReadTelemetryServiceProfiles,
261
+ ],
262
+ create: [
263
+ Permission.ProjectOwner,
264
+ Permission.ProjectAdmin,
265
+ Permission.ProjectMember,
266
+ Permission.CreateTelemetryServiceProfiles,
267
+ ],
268
+ update: [],
269
+ },
270
+ });
271
+
272
+ const profileTypeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
273
+ key: "profileType",
274
+ title: "Profile Type",
275
+ description:
276
+ "Type of profile (e.g., cpu, wall, alloc_objects, alloc_space, goroutine)",
277
+ required: true,
278
+ type: TableColumnType.Text,
279
+ skipIndex: {
280
+ name: "idx_profile_type",
281
+ type: SkipIndexType.Set,
282
+ params: [20],
283
+ granularity: 4,
284
+ },
285
+ accessControl: {
286
+ read: [
287
+ Permission.ProjectOwner,
288
+ Permission.ProjectAdmin,
289
+ Permission.ProjectMember,
290
+ Permission.ReadTelemetryServiceProfiles,
291
+ ],
292
+ create: [
293
+ Permission.ProjectOwner,
294
+ Permission.ProjectAdmin,
295
+ Permission.ProjectMember,
296
+ Permission.CreateTelemetryServiceProfiles,
297
+ ],
298
+ update: [],
299
+ },
300
+ });
301
+
302
+ const unitColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
303
+ key: "unit",
304
+ title: "Unit",
305
+ description: "Unit of the profile values (e.g., nanoseconds, bytes)",
306
+ required: true,
307
+ type: TableColumnType.Text,
308
+ accessControl: {
309
+ read: [
310
+ Permission.ProjectOwner,
311
+ Permission.ProjectAdmin,
312
+ Permission.ProjectMember,
313
+ Permission.ReadTelemetryServiceProfiles,
314
+ ],
315
+ create: [
316
+ Permission.ProjectOwner,
317
+ Permission.ProjectAdmin,
318
+ Permission.ProjectMember,
319
+ Permission.CreateTelemetryServiceProfiles,
320
+ ],
321
+ update: [],
322
+ },
323
+ });
324
+
325
+ const periodTypeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
326
+ key: "periodType",
327
+ title: "Period Type",
328
+ description: "Sampling period type",
329
+ required: false,
330
+ type: TableColumnType.Text,
331
+ accessControl: {
332
+ read: [
333
+ Permission.ProjectOwner,
334
+ Permission.ProjectAdmin,
335
+ Permission.ProjectMember,
336
+ Permission.ReadTelemetryServiceProfiles,
337
+ ],
338
+ create: [
339
+ Permission.ProjectOwner,
340
+ Permission.ProjectAdmin,
341
+ Permission.ProjectMember,
342
+ Permission.CreateTelemetryServiceProfiles,
343
+ ],
344
+ update: [],
345
+ },
346
+ });
347
+
348
+ const periodColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
349
+ key: "period",
350
+ title: "Period",
351
+ description: "Sampling period value",
352
+ required: false,
353
+ type: TableColumnType.LongNumber,
354
+ accessControl: {
355
+ read: [
356
+ Permission.ProjectOwner,
357
+ Permission.ProjectAdmin,
358
+ Permission.ProjectMember,
359
+ Permission.ReadTelemetryServiceProfiles,
360
+ ],
361
+ create: [
362
+ Permission.ProjectOwner,
363
+ Permission.ProjectAdmin,
364
+ Permission.ProjectMember,
365
+ Permission.CreateTelemetryServiceProfiles,
366
+ ],
367
+ update: [],
368
+ },
369
+ });
370
+
371
+ const attributesColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
372
+ key: "attributes",
373
+ title: "Attributes",
374
+ description: "Profile-level attributes",
375
+ required: true,
376
+ defaultValue: {},
377
+ type: TableColumnType.MapStringString,
378
+ accessControl: {
379
+ read: [
380
+ Permission.ProjectOwner,
381
+ Permission.ProjectAdmin,
382
+ Permission.ProjectMember,
383
+ Permission.ReadTelemetryServiceProfiles,
384
+ ],
385
+ create: [
386
+ Permission.ProjectOwner,
387
+ Permission.ProjectAdmin,
388
+ Permission.ProjectMember,
389
+ Permission.CreateTelemetryServiceProfiles,
390
+ ],
391
+ update: [],
392
+ },
393
+ });
394
+
395
+ const attributeKeysColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
396
+ key: "attributeKeys",
397
+ title: "Attribute Keys",
398
+ description: "Attribute keys extracted from attributes",
399
+ required: true,
400
+ defaultValue: [],
401
+ type: TableColumnType.ArrayText,
402
+ accessControl: {
403
+ read: [
404
+ Permission.ProjectOwner,
405
+ Permission.ProjectAdmin,
406
+ Permission.ProjectMember,
407
+ Permission.ReadTelemetryServiceProfiles,
408
+ ],
409
+ create: [
410
+ Permission.ProjectOwner,
411
+ Permission.ProjectAdmin,
412
+ Permission.ProjectMember,
413
+ Permission.CreateTelemetryServiceProfiles,
414
+ ],
415
+ update: [],
416
+ },
417
+ });
418
+
419
+ const sampleCountColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
420
+ key: "sampleCount",
421
+ title: "Sample Count",
422
+ description: "Number of samples in this profile",
423
+ required: true,
424
+ type: TableColumnType.Number,
425
+ accessControl: {
426
+ read: [
427
+ Permission.ProjectOwner,
428
+ Permission.ProjectAdmin,
429
+ Permission.ProjectMember,
430
+ Permission.ReadTelemetryServiceProfiles,
431
+ ],
432
+ create: [
433
+ Permission.ProjectOwner,
434
+ Permission.ProjectAdmin,
435
+ Permission.ProjectMember,
436
+ Permission.CreateTelemetryServiceProfiles,
437
+ ],
438
+ update: [],
439
+ },
440
+ });
441
+
442
+ const originalPayloadFormatColumn: AnalyticsTableColumn =
443
+ new AnalyticsTableColumn({
444
+ key: "originalPayloadFormat",
445
+ title: "Original Payload Format",
446
+ description: "Format of the original payload (e.g., pprofext)",
447
+ required: false,
448
+ type: TableColumnType.Text,
449
+ accessControl: {
450
+ read: [
451
+ Permission.ProjectOwner,
452
+ Permission.ProjectAdmin,
453
+ Permission.ProjectMember,
454
+ Permission.ReadTelemetryServiceProfiles,
455
+ ],
456
+ create: [
457
+ Permission.ProjectOwner,
458
+ Permission.ProjectAdmin,
459
+ Permission.ProjectMember,
460
+ Permission.CreateTelemetryServiceProfiles,
461
+ ],
462
+ update: [],
463
+ },
464
+ });
465
+
466
+ const retentionDateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
467
+ key: "retentionDate",
468
+ title: "Retention Date",
469
+ description:
470
+ "Date after which this row is eligible for TTL deletion, computed at ingest time as startTime + service.retainTelemetryDataForDays",
471
+ required: true,
472
+ type: TableColumnType.Date,
473
+ defaultValue: undefined,
474
+ });
475
+
476
+ super({
477
+ tableName: AnalyticsTableName.Profile,
478
+ tableEngine: AnalyticsTableEngine.MergeTree,
479
+ singularName: "Profile",
480
+ pluralName: "Profiles",
481
+ crudApiPath: new Route("/profile"),
482
+ accessControl: {
483
+ read: [
484
+ Permission.ProjectOwner,
485
+ Permission.ProjectAdmin,
486
+ Permission.ProjectMember,
487
+ Permission.ReadTelemetryServiceProfiles,
488
+ ],
489
+ create: [
490
+ Permission.ProjectOwner,
491
+ Permission.ProjectAdmin,
492
+ Permission.ProjectMember,
493
+ Permission.CreateTelemetryServiceProfiles,
494
+ ],
495
+ update: [
496
+ Permission.ProjectOwner,
497
+ Permission.ProjectAdmin,
498
+ Permission.ProjectMember,
499
+ Permission.EditTelemetryServiceProfiles,
500
+ ],
501
+ delete: [
502
+ Permission.ProjectOwner,
503
+ Permission.ProjectAdmin,
504
+ Permission.ProjectMember,
505
+ Permission.DeleteTelemetryServiceProfiles,
506
+ ],
507
+ },
508
+ tableColumns: [
509
+ projectIdColumn,
510
+ serviceIdColumn,
511
+ profileIdColumn,
512
+ traceIdColumn,
513
+ spanIdColumn,
514
+ startTimeColumn,
515
+ endTimeColumn,
516
+ startTimeUnixNanoColumn,
517
+ endTimeUnixNanoColumn,
518
+ durationNanoColumn,
519
+ profileTypeColumn,
520
+ unitColumn,
521
+ periodTypeColumn,
522
+ periodColumn,
523
+ attributesColumn,
524
+ attributeKeysColumn,
525
+ sampleCountColumn,
526
+ originalPayloadFormatColumn,
527
+ retentionDateColumn,
528
+ ],
529
+ sortKeys: ["projectId", "startTime", "serviceId", "profileType"],
530
+ primaryKeys: ["projectId", "startTime", "serviceId", "profileType"],
531
+ partitionKey: "sipHash64(projectId) % 16",
532
+ ttlExpression: "retentionDate DELETE",
533
+ });
534
+ }
535
+
536
+ public get projectId(): ObjectID | undefined {
537
+ return this.getColumnValue("projectId") as ObjectID | undefined;
538
+ }
539
+
540
+ public set projectId(v: ObjectID | undefined) {
541
+ this.setColumnValue("projectId", v);
542
+ }
543
+
544
+ public get serviceId(): ObjectID | undefined {
545
+ return this.getColumnValue("serviceId") as ObjectID | undefined;
546
+ }
547
+
548
+ public set serviceId(v: ObjectID | undefined) {
549
+ this.setColumnValue("serviceId", v);
550
+ }
551
+
552
+ public get profileId(): string | undefined {
553
+ return this.getColumnValue("profileId") as string | undefined;
554
+ }
555
+
556
+ public set profileId(v: string | undefined) {
557
+ this.setColumnValue("profileId", v);
558
+ }
559
+
560
+ public get traceId(): string | undefined {
561
+ return this.getColumnValue("traceId") as string | undefined;
562
+ }
563
+
564
+ public set traceId(v: string | undefined) {
565
+ this.setColumnValue("traceId", v);
566
+ }
567
+
568
+ public get spanId(): string | undefined {
569
+ return this.getColumnValue("spanId") as string | undefined;
570
+ }
571
+
572
+ public set spanId(v: string | undefined) {
573
+ this.setColumnValue("spanId", v);
574
+ }
575
+
576
+ public get startTime(): Date | undefined {
577
+ return this.getColumnValue("startTime") as Date | undefined;
578
+ }
579
+
580
+ public set startTime(v: Date | undefined) {
581
+ this.setColumnValue("startTime", v);
582
+ }
583
+
584
+ public get endTime(): Date | undefined {
585
+ return this.getColumnValue("endTime") as Date | undefined;
586
+ }
587
+
588
+ public set endTime(v: Date | undefined) {
589
+ this.setColumnValue("endTime", v);
590
+ }
591
+
592
+ public get startTimeUnixNano(): number | undefined {
593
+ return this.getColumnValue("startTimeUnixNano") as number | undefined;
594
+ }
595
+
596
+ public set startTimeUnixNano(v: number | undefined) {
597
+ this.setColumnValue("startTimeUnixNano", v);
598
+ }
599
+
600
+ public get endTimeUnixNano(): number | undefined {
601
+ return this.getColumnValue("endTimeUnixNano") as number | undefined;
602
+ }
603
+
604
+ public set endTimeUnixNano(v: number | undefined) {
605
+ this.setColumnValue("endTimeUnixNano", v);
606
+ }
607
+
608
+ public get durationNano(): number | undefined {
609
+ return this.getColumnValue("durationNano") as number | undefined;
610
+ }
611
+
612
+ public set durationNano(v: number | undefined) {
613
+ this.setColumnValue("durationNano", v);
614
+ }
615
+
616
+ public get profileType(): string | undefined {
617
+ return this.getColumnValue("profileType") as string | undefined;
618
+ }
619
+
620
+ public set profileType(v: string | undefined) {
621
+ this.setColumnValue("profileType", v);
622
+ }
623
+
624
+ public get unit(): string | undefined {
625
+ return this.getColumnValue("unit") as string | undefined;
626
+ }
627
+
628
+ public set unit(v: string | undefined) {
629
+ this.setColumnValue("unit", v);
630
+ }
631
+
632
+ public get periodType(): string | undefined {
633
+ return this.getColumnValue("periodType") as string | undefined;
634
+ }
635
+
636
+ public set periodType(v: string | undefined) {
637
+ this.setColumnValue("periodType", v);
638
+ }
639
+
640
+ public get period(): number | undefined {
641
+ return this.getColumnValue("period") as number | undefined;
642
+ }
643
+
644
+ public set period(v: number | undefined) {
645
+ this.setColumnValue("period", v);
646
+ }
647
+
648
+ public get attributes(): JSONObject | undefined {
649
+ return this.getColumnValue("attributes") as JSONObject | undefined;
650
+ }
651
+
652
+ public set attributes(v: JSONObject | undefined) {
653
+ this.setColumnValue("attributes", v);
654
+ }
655
+
656
+ public get attributeKeys(): Array<string> | undefined {
657
+ return this.getColumnValue("attributeKeys") as Array<string> | undefined;
658
+ }
659
+
660
+ public set attributeKeys(v: Array<string> | undefined) {
661
+ this.setColumnValue("attributeKeys", v);
662
+ }
663
+
664
+ public get sampleCount(): number | undefined {
665
+ return this.getColumnValue("sampleCount") as number | undefined;
666
+ }
667
+
668
+ public set sampleCount(v: number | undefined) {
669
+ this.setColumnValue("sampleCount", v);
670
+ }
671
+
672
+ public get originalPayloadFormat(): string | undefined {
673
+ return this.getColumnValue("originalPayloadFormat") as string | undefined;
674
+ }
675
+
676
+ public set originalPayloadFormat(v: string | undefined) {
677
+ this.setColumnValue("originalPayloadFormat", v);
678
+ }
679
+
680
+ public get retentionDate(): Date | undefined {
681
+ return this.getColumnValue("retentionDate") as Date | undefined;
682
+ }
683
+
684
+ public set retentionDate(v: Date | undefined) {
685
+ this.setColumnValue("retentionDate", v);
686
+ }
687
+ }