@oneuptime/common 10.8.2 → 11.0.1

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 (740) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +16 -18
  2. package/Models/AnalyticsModels/AuditLog.ts +3 -1
  3. package/Models/AnalyticsModels/ExceptionInstance.ts +200 -82
  4. package/Models/AnalyticsModels/Index.ts +7 -2
  5. package/Models/AnalyticsModels/Log.ts +197 -81
  6. package/Models/AnalyticsModels/Metric.ts +199 -86
  7. package/Models/AnalyticsModels/MetricBaselineHourly.ts +44 -25
  8. package/Models/AnalyticsModels/MetricItemAggMV1m.ts +23 -20
  9. package/Models/AnalyticsModels/{MetricItemAggMV1mByHost.ts → MetricItemAggMV1mByHostV2.ts} +58 -47
  10. package/Models/AnalyticsModels/MonitorLog.ts +5 -1
  11. package/Models/AnalyticsModels/Profile.ts +206 -85
  12. package/Models/AnalyticsModels/ProfileSample.ts +196 -83
  13. package/Models/AnalyticsModels/Span.ts +218 -85
  14. package/Models/DatabaseModels/Index.ts +4 -0
  15. package/Models/DatabaseModels/Service.ts +29 -0
  16. package/Models/DatabaseModels/TelemetryEntity.ts +393 -0
  17. package/Models/DatabaseModels/TelemetryEntityRelationship.ts +294 -0
  18. package/Models/DatabaseModels/TelemetryException.ts +10 -10
  19. package/Models/DatabaseModels/TelemetryUsageBilling.ts +5 -5
  20. package/Server/API/AIAgentDataAPI.ts +13 -12
  21. package/Server/API/DashboardAPI.ts +2 -2
  22. package/Server/API/TelemetryAPI.ts +656 -141
  23. package/Server/API/TelemetryExceptionAPI.ts +2 -2
  24. package/Server/Infrastructure/ClickhouseConfig.ts +12 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.ts +48 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.ts +70 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.ts +57 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.ts +207 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.ts +24 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.ts +25 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  32. package/Server/Infrastructure/Queue.ts +36 -3
  33. package/Server/Middleware/TelemetryIngest.ts +27 -22
  34. package/Server/Services/AlertService.ts +9 -9
  35. package/Server/Services/AnalyticsDatabaseService.ts +204 -35
  36. package/Server/Services/ExceptionAggregationService.ts +41 -18
  37. package/Server/Services/HostService.ts +2 -1
  38. package/Server/Services/IncidentService.ts +19 -19
  39. package/Server/Services/Index.ts +6 -2
  40. package/Server/Services/LogAggregationService.ts +116 -43
  41. package/Server/Services/MetricAggregationService.ts +29 -14
  42. package/Server/Services/MetricBaselineService.ts +34 -34
  43. package/Server/Services/MetricItemAggMV1mByHostV2Service.ts +30 -0
  44. package/Server/Services/MetricService.ts +119 -31
  45. package/Server/Services/OpenTelemetryIngestService.ts +186 -50
  46. package/Server/Services/ProfileAggregationService.ts +904 -126
  47. package/Server/Services/ServiceService.ts +6 -0
  48. package/Server/Services/SpanService.ts +274 -14
  49. package/Server/Services/TelemetryEntityRelationshipService.ts +71 -0
  50. package/Server/Services/TelemetryEntityService.ts +246 -0
  51. package/Server/Services/TelemetryExceptionService.ts +27 -23
  52. package/Server/Services/TelemetryUsageBillingService.ts +38 -31
  53. package/Server/Services/TraceAggregationService.ts +875 -43
  54. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +43 -2
  55. package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -2
  56. package/Server/Types/Database/Permissions/BasePermission.ts +37 -1
  57. package/Server/Types/Database/Permissions/OwnedScopePermission.ts +21 -3
  58. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +1 -0
  59. package/Server/Types/Database/QueryHelper.ts +41 -0
  60. package/Server/Utils/Alert/AlertPrivacyFilter.ts +9 -2
  61. package/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.ts +9 -2
  62. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +95 -0
  63. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +133 -0
  64. package/Server/Utils/Incident/IncidentPrivacyFilter.ts +9 -2
  65. package/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.ts +9 -2
  66. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +1 -1
  67. package/Server/Utils/Monitor/MonitorLogUtil.ts +1 -2
  68. package/Server/Utils/Monitor/MonitorMetricUtil.ts +3 -4
  69. package/Server/Utils/PrivacyFilterUtil.ts +72 -0
  70. package/Server/Utils/Profile/PprofEncoder.ts +135 -11
  71. package/Server/Utils/Telemetry/EntityRegistry.ts +316 -0
  72. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +5 -0
  73. package/Server/Utils/Telemetry/TelemetryEntity.ts +783 -0
  74. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +79 -4
  75. package/Tests/Server/Services/LogAggregationService.test.ts +7 -2
  76. package/Tests/Server/Services/ProfileAggregationService.test.ts +280 -0
  77. package/Tests/Server/Services/ProfileBreakdown.test.ts +161 -0
  78. package/Tests/Server/Services/ProfileFunctionFocus.test.ts +349 -0
  79. package/Tests/Server/Services/TelemetryAttributeService.test.ts +1 -1
  80. package/Tests/Server/Services/TraceAggregationService.test.ts +403 -0
  81. package/Tests/Server/Types/AnalyticsDatabase/ModelPermissionOwnedScope.test.ts +114 -0
  82. package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +189 -0
  83. package/Tests/Server/Types/Database/Permissions/BasePermission.test.ts +118 -0
  84. package/Tests/Server/Types/Database/Permissions/OwnedScopePermission.test.ts +159 -0
  85. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +275 -8
  86. package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +177 -0
  87. package/Tests/Server/Utils/Profile/PprofEncoder.test.ts +276 -0
  88. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +761 -0
  89. package/Tests/Types/Monitor/MonitorStepEntityScope.test.ts +275 -0
  90. package/Tests/Types/Text.test.ts +52 -0
  91. package/Tests/Utils/ModelImportExport.test.ts +366 -0
  92. package/Tests/Utils/Telemetry/EntityKey.test.ts +150 -0
  93. package/Tests/Utils/Telemetry/EntityKeySqlParity.test.ts +40 -0
  94. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +150 -0
  95. package/Tests/Utils/UUID.test.ts +47 -0
  96. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +14 -9
  97. package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
  98. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  99. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +37 -0
  100. package/Types/Dashboard/DashboardTemplates.ts +4 -5
  101. package/Types/Log/LogQueryParser.ts +2 -2
  102. package/Types/Log/LogQueryToFilter.ts +2 -2
  103. package/Types/Monitor/MonitorStepExceptionMonitor.ts +19 -1
  104. package/Types/Monitor/MonitorStepLogMonitor.ts +20 -1
  105. package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -0
  106. package/Types/Monitor/MonitorStepProfileMonitor.ts +19 -1
  107. package/Types/Monitor/MonitorStepTraceMonitor.ts +18 -1
  108. package/Types/Monitor/MonitorType.ts +8 -1
  109. package/Types/ObjectID.ts +10 -0
  110. package/Types/Telemetry/EntityRelationshipType.ts +31 -0
  111. package/Types/Telemetry/EntityType.ts +33 -0
  112. package/Types/Telemetry/TelemetrySavedViewState.ts +2 -0
  113. package/Types/Text.ts +34 -0
  114. package/Types/Trace/TraceAggregationType.ts +1 -0
  115. package/Types/Trace/TraceRecordingRuleDefinition.ts +74 -0
  116. package/UI/Components/ImportExport/ExportModelCard.tsx +90 -0
  117. package/UI/Components/ImportExport/ImportModelsModal.tsx +239 -0
  118. package/UI/Components/LogsViewer/LogsViewer.tsx +12 -9
  119. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +10 -9
  120. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +1 -1
  121. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
  122. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +4 -4
  123. package/UI/Components/LogsViewer/components/LogsTable.tsx +5 -3
  124. package/UI/Components/ModelTable/ModelTable.tsx +294 -143
  125. package/UI/Components/Navbar/NavBarMenuModal.tsx +81 -44
  126. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +33 -10
  127. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +18 -3
  128. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +91 -68
  129. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +9 -2
  130. package/UI/Utils/LogExport.ts +2 -2
  131. package/UI/Utils/ModelImportExport.ts +207 -0
  132. package/UI/Utils/TelemetryService.ts +20 -20
  133. package/Utils/Dashboard/Components/DashboardTraceChartComponent.ts +134 -0
  134. package/Utils/Dashboard/Components/Index.ts +7 -0
  135. package/Utils/ModelImportExport.ts +369 -0
  136. package/Utils/Telemetry/EntityKey.ts +151 -0
  137. package/Utils/Telemetry/EntityRelationship.ts +113 -0
  138. package/Utils/Traces/CriticalPath.ts +7 -7
  139. package/Utils/UUID.ts +57 -0
  140. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +14 -13
  141. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  142. package/build/dist/Models/AnalyticsModels/AuditLog.js +2 -1
  143. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  144. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +125 -22
  145. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  146. package/build/dist/Models/AnalyticsModels/Index.js +7 -2
  147. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  148. package/build/dist/Models/AnalyticsModels/Log.js +123 -22
  149. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  150. package/build/dist/Models/AnalyticsModels/Metric.js +125 -27
  151. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  152. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +38 -21
  153. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  154. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +17 -16
  155. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  156. package/build/dist/Models/AnalyticsModels/{MetricItemAggMV1mByHost.js → MetricItemAggMV1mByHostV2.js} +54 -42
  157. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -0
  158. package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -1
  159. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  160. package/build/dist/Models/AnalyticsModels/Profile.js +132 -26
  161. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  162. package/build/dist/Models/AnalyticsModels/ProfileSample.js +121 -23
  163. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  164. package/build/dist/Models/AnalyticsModels/Span.js +144 -26
  165. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  166. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  167. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  168. package/build/dist/Models/DatabaseModels/Service.js +30 -0
  169. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/TelemetryEntity.js +419 -0
  171. package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -0
  172. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +317 -0
  173. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -0
  174. package/build/dist/Models/DatabaseModels/TelemetryException.js +12 -12
  175. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  176. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +7 -7
  177. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  178. package/build/dist/Server/API/AIAgentDataAPI.js +14 -13
  179. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  180. package/build/dist/Server/API/DashboardAPI.js +2 -2
  181. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  182. package/build/dist/Server/API/TelemetryAPI.js +425 -129
  183. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  184. package/build/dist/Server/API/TelemetryExceptionAPI.js +2 -2
  185. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  186. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -0
  187. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js +29 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js.map +1 -0
  190. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js +38 -0
  191. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js.map +1 -0
  192. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js +33 -0
  193. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js.map +1 -0
  194. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js +78 -0
  195. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js.map +1 -0
  196. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js +19 -0
  197. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js.map +1 -0
  198. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js +18 -0
  199. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js.map +1 -0
  200. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  201. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  202. package/build/dist/Server/Infrastructure/Queue.js +14 -3
  203. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  204. package/build/dist/Server/Middleware/TelemetryIngest.js +16 -18
  205. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  206. package/build/dist/Server/Services/AlertService.js +9 -9
  207. package/build/dist/Server/Services/AlertService.js.map +1 -1
  208. package/build/dist/Server/Services/AnalyticsDatabaseService.js +115 -40
  209. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  210. package/build/dist/Server/Services/ExceptionAggregationService.js +38 -18
  211. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  212. package/build/dist/Server/Services/HostService.js +2 -1
  213. package/build/dist/Server/Services/HostService.js.map +1 -1
  214. package/build/dist/Server/Services/IncidentService.js +19 -19
  215. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  216. package/build/dist/Server/Services/Index.js +6 -2
  217. package/build/dist/Server/Services/Index.js.map +1 -1
  218. package/build/dist/Server/Services/LogAggregationService.js +100 -42
  219. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  220. package/build/dist/Server/Services/MetricAggregationService.js +27 -14
  221. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  222. package/build/dist/Server/Services/MetricBaselineService.js +28 -28
  223. package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
  224. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js +28 -0
  225. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js.map +1 -0
  226. package/build/dist/Server/Services/MetricService.js +116 -31
  227. package/build/dist/Server/Services/MetricService.js.map +1 -1
  228. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -36
  229. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  230. package/build/dist/Server/Services/ProfileAggregationService.js +613 -105
  231. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
  232. package/build/dist/Server/Services/ServiceService.js +9 -5
  233. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  234. package/build/dist/Server/Services/SpanService.js +217 -15
  235. package/build/dist/Server/Services/SpanService.js.map +1 -1
  236. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +72 -0
  237. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -0
  238. package/build/dist/Server/Services/TelemetryEntityService.js +201 -0
  239. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -0
  240. package/build/dist/Server/Services/TelemetryExceptionService.js +18 -18
  241. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  242. package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -21
  243. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  244. package/build/dist/Server/Services/TraceAggregationService.js +568 -43
  245. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  246. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +38 -2
  247. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  248. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +36 -2
  249. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  250. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +25 -1
  251. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  252. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +17 -3
  253. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
  254. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +1 -0
  255. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  256. package/build/dist/Server/Types/Database/QueryHelper.js +31 -0
  257. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  258. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +3 -2
  259. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
  260. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js +3 -2
  261. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js.map +1 -1
  262. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  263. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -0
  264. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +97 -3
  265. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  266. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +3 -2
  267. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
  268. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js +3 -2
  269. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js.map +1 -1
  270. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +1 -1
  271. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  272. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +1 -2
  273. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
  274. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +3 -4
  275. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  276. package/build/dist/Server/Utils/PrivacyFilterUtil.js +47 -0
  277. package/build/dist/Server/Utils/PrivacyFilterUtil.js.map +1 -0
  278. package/build/dist/Server/Utils/Profile/PprofEncoder.js +132 -4
  279. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -1
  280. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +228 -0
  281. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -0
  282. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +5 -0
  283. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  284. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +569 -0
  285. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -0
  286. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +14 -9
  287. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  288. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
  289. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  290. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  291. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  292. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js +2 -0
  293. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js.map +1 -0
  294. package/build/dist/Types/Dashboard/DashboardTemplates.js +4 -5
  295. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  296. package/build/dist/Types/Log/LogQueryParser.js +2 -2
  297. package/build/dist/Types/Log/LogQueryParser.js.map +1 -1
  298. package/build/dist/Types/Log/LogQueryToFilter.js +1 -1
  299. package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
  300. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +9 -1
  301. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -1
  302. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +9 -1
  303. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -1
  304. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +13 -0
  305. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  306. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +9 -1
  307. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -1
  308. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js +9 -1
  309. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js.map +1 -1
  310. package/build/dist/Types/Monitor/MonitorType.js +8 -1
  311. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  312. package/build/dist/Types/ObjectID.js +9 -0
  313. package/build/dist/Types/ObjectID.js.map +1 -1
  314. package/build/dist/Types/Telemetry/EntityRelationshipType.js +32 -0
  315. package/build/dist/Types/Telemetry/EntityRelationshipType.js.map +1 -0
  316. package/build/dist/Types/Telemetry/EntityType.js +34 -0
  317. package/build/dist/Types/Telemetry/EntityType.js.map +1 -0
  318. package/build/dist/Types/Text.js +32 -1
  319. package/build/dist/Types/Text.js.map +1 -1
  320. package/build/dist/Types/Trace/TraceAggregationType.js +1 -0
  321. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -1
  322. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +50 -1
  323. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -1
  324. package/build/dist/UI/Components/ImportExport/ExportModelCard.js +50 -0
  325. package/build/dist/UI/Components/ImportExport/ExportModelCard.js.map +1 -0
  326. package/build/dist/UI/Components/ImportExport/ImportModelsModal.js +115 -0
  327. package/build/dist/UI/Components/ImportExport/ImportModelsModal.js.map +1 -0
  328. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +10 -9
  329. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  330. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +8 -8
  331. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  332. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +1 -1
  333. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  334. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +2 -2
  335. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  336. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +4 -4
  337. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  338. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +3 -3
  339. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  340. package/build/dist/UI/Components/ModelTable/ModelTable.js +166 -74
  341. package/build/dist/UI/Components/ModelTable/ModelTable.js.map +1 -1
  342. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +43 -30
  343. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  344. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +6 -2
  345. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  346. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -3
  347. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  348. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +18 -10
  349. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  350. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +4 -2
  351. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
  352. package/build/dist/UI/Utils/LogExport.js +2 -2
  353. package/build/dist/UI/Utils/LogExport.js.map +1 -1
  354. package/build/dist/UI/Utils/ModelImportExport.js +142 -0
  355. package/build/dist/UI/Utils/ModelImportExport.js.map +1 -0
  356. package/build/dist/UI/Utils/TelemetryService.js +16 -16
  357. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  358. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js +110 -0
  359. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js.map +1 -0
  360. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  361. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  362. package/build/dist/Utils/ModelImportExport.js +257 -0
  363. package/build/dist/Utils/ModelImportExport.js.map +1 -0
  364. package/build/dist/Utils/Telemetry/EntityKey.js +115 -0
  365. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -0
  366. package/build/dist/Utils/Telemetry/EntityRelationship.js +71 -0
  367. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -0
  368. package/build/dist/Utils/Traces/CriticalPath.js +5 -5
  369. package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
  370. package/build/dist/Utils/UUID.js +50 -0
  371. package/build/dist/Utils/UUID.js.map +1 -1
  372. package/package.json +2 -1
  373. package/tsconfig.json +10 -1
  374. package/Server/Services/MetricItemAggMV1mByHostService.ts +0 -30
  375. package/Types/Profile/ProfileMetricType.ts +0 -16
  376. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHost.js.map +0 -1
  377. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js +0 -28
  378. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js.map +0 -1
  379. package/build/dist/Tests/MockType.js +0 -5
  380. package/build/dist/Tests/MockType.js.map +0 -1
  381. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js +0 -12
  382. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js.map +0 -1
  383. package/build/dist/Tests/Models/File.test.js +0 -10
  384. package/build/dist/Tests/Models/File.test.js.map +0 -1
  385. package/build/dist/Tests/Server/API/BaseAPI.test.js +0 -590
  386. package/build/dist/Tests/Server/API/BaseAPI.test.js.map +0 -1
  387. package/build/dist/Tests/Server/API/Helpers.js +0 -27
  388. package/build/dist/Tests/Server/API/Helpers.js.map +0 -1
  389. package/build/dist/Tests/Server/API/ProbeAPI.test.js +0 -84
  390. package/build/dist/Tests/Server/API/ProbeAPI.test.js.map +0 -1
  391. package/build/dist/Tests/Server/API/ProjectAPI.test.js +0 -170
  392. package/build/dist/Tests/Server/API/ProjectAPI.test.js.map +0 -1
  393. package/build/dist/Tests/Server/API/UserSmsApi.test.js +0 -177
  394. package/build/dist/Tests/Server/API/UserSmsApi.test.js.map +0 -1
  395. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js +0 -63
  396. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js.map +0 -1
  397. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js +0 -58
  398. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js.map +0 -1
  399. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js +0 -101
  400. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js.map +0 -1
  401. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +0 -160
  402. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +0 -1
  403. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +0 -410
  404. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +0 -1
  405. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +0 -165
  406. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +0 -1
  407. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +0 -193
  408. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +0 -1
  409. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +0 -435
  410. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +0 -1
  411. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +0 -320
  412. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +0 -1
  413. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +0 -266
  414. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +0 -1
  415. package/build/dist/Tests/Server/Services/BillingService.test.js +0 -910
  416. package/build/dist/Tests/Server/Services/BillingService.test.js.map +0 -1
  417. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +0 -75
  418. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +0 -1
  419. package/build/dist/Tests/Server/Services/ProbeService.test.js +0 -127
  420. package/build/dist/Tests/Server/Services/ProbeService.test.js.map +0 -1
  421. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +0 -114
  422. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +0 -1
  423. package/build/dist/Tests/Server/Services/TeamMemberService.test.js +0 -106
  424. package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +0 -1
  425. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js +0 -50
  426. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js.map +0 -1
  427. package/build/dist/Tests/Server/TestingUtils/Init.js +0 -4
  428. package/build/dist/Tests/Server/TestingUtils/Init.js.map +0 -1
  429. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js +0 -9
  430. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js.map +0 -1
  431. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js +0 -16
  432. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js.map +0 -1
  433. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +0 -125
  434. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +0 -1
  435. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js +0 -39
  436. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js.map +0 -1
  437. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js +0 -20
  438. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js.map +0 -1
  439. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js +0 -31
  440. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js.map +0 -1
  441. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js +0 -14
  442. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js.map +0 -1
  443. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js +0 -21
  444. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js.map +0 -1
  445. package/build/dist/Tests/Server/TestingUtils/Services/Types.js +0 -2
  446. package/build/dist/Tests/Server/TestingUtils/Services/Types.js.map +0 -1
  447. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js +0 -37
  448. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js.map +0 -1
  449. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js +0 -13
  450. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js.map +0 -1
  451. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js +0 -22
  452. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js.map +0 -1
  453. package/build/dist/Tests/Server/Types/Domain.test.js +0 -78
  454. package/build/dist/Tests/Server/Types/Domain.test.js.map +0 -1
  455. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js +0 -94
  456. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js.map +0 -1
  457. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +0 -459
  458. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +0 -1
  459. package/build/dist/Tests/Server/Utils/Cookie.test.js +0 -83
  460. package/build/dist/Tests/Server/Utils/Cookie.test.js.map +0 -1
  461. package/build/dist/Tests/Server/Utils/CronTab.test.js +0 -29
  462. package/build/dist/Tests/Server/Utils/CronTab.test.js.map +0 -1
  463. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js +0 -114
  464. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js.map +0 -1
  465. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +0 -606
  466. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +0 -1
  467. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js +0 -255
  468. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js.map +0 -1
  469. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js +0 -142
  470. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js.map +0 -1
  471. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +0 -122
  472. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +0 -1
  473. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js +0 -0
  474. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js.map +0 -1
  475. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js +0 -205
  476. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js.map +0 -1
  477. package/build/dist/Tests/Spy.js +0 -4
  478. package/build/dist/Tests/Spy.js.map +0 -1
  479. package/build/dist/Tests/Types/API/ErrorResponse.test.js +0 -13
  480. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +0 -1
  481. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +0 -33
  482. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +0 -1
  483. package/build/dist/Tests/Types/API/HTTPMethod.test.js +0 -16
  484. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +0 -1
  485. package/build/dist/Tests/Types/API/Headers.test.js +0 -14
  486. package/build/dist/Tests/Types/API/Headers.test.js.map +0 -1
  487. package/build/dist/Tests/Types/API/Hostname.test.js +0 -22
  488. package/build/dist/Tests/Types/API/Hostname.test.js.map +0 -1
  489. package/build/dist/Tests/Types/API/Protocal.test.js +0 -19
  490. package/build/dist/Tests/Types/API/Protocal.test.js.map +0 -1
  491. package/build/dist/Tests/Types/API/Response.test.js +0 -14
  492. package/build/dist/Tests/Types/API/Response.test.js.map +0 -1
  493. package/build/dist/Tests/Types/API/ResponseType.test.js +0 -13
  494. package/build/dist/Tests/Types/API/ResponseType.test.js.map +0 -1
  495. package/build/dist/Tests/Types/API/Route.test.js +0 -30
  496. package/build/dist/Tests/Types/API/Route.test.js.map +0 -1
  497. package/build/dist/Tests/Types/API/StatusCode.test.js +0 -26
  498. package/build/dist/Tests/Types/API/StatusCode.test.js.map +0 -1
  499. package/build/dist/Tests/Types/API/URL.test.js +0 -33
  500. package/build/dist/Tests/Types/API/URL.test.js.map +0 -1
  501. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +0 -34
  502. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +0 -1
  503. package/build/dist/Tests/Types/Alerts/AlertType.test.js +0 -19
  504. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +0 -1
  505. package/build/dist/Tests/Types/AppEnvironment.test.js +0 -13
  506. package/build/dist/Tests/Types/AppEnvironment.test.js.map +0 -1
  507. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +0 -13
  508. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +0 -1
  509. package/build/dist/Tests/Types/ArrayUtil.test.js +0 -71
  510. package/build/dist/Tests/Types/ArrayUtil.test.js.map +0 -1
  511. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +0 -181
  512. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +0 -1
  513. package/build/dist/Tests/Types/BrandColors.test.js +0 -124
  514. package/build/dist/Tests/Types/BrandColors.test.js.map +0 -1
  515. package/build/dist/Tests/Types/Char.test.js +0 -82
  516. package/build/dist/Tests/Types/Char.test.js.map +0 -1
  517. package/build/dist/Tests/Types/Code/CodeType.test.js +0 -13
  518. package/build/dist/Tests/Types/Code/CodeType.test.js.map +0 -1
  519. package/build/dist/Tests/Types/Color.test.js +0 -44
  520. package/build/dist/Tests/Types/Color.test.js.map +0 -1
  521. package/build/dist/Tests/Types/Company/CompanySize.test.js +0 -20
  522. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +0 -1
  523. package/build/dist/Tests/Types/Company/JobRole.test.js +0 -22
  524. package/build/dist/Tests/Types/Company/JobRole.test.js.map +0 -1
  525. package/build/dist/Tests/Types/Countries.test.js +0 -249
  526. package/build/dist/Tests/Types/Countries.test.js.map +0 -1
  527. package/build/dist/Tests/Types/Database/ColumnLength.test.js +0 -43
  528. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +0 -1
  529. package/build/dist/Tests/Types/Database/ColumnType.test.js +0 -79
  530. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +0 -1
  531. package/build/dist/Tests/Types/Database/Columns.test.js +0 -20
  532. package/build/dist/Tests/Types/Database/Columns.test.js.map +0 -1
  533. package/build/dist/Tests/Types/Database/CompareBase.test.js +0 -37
  534. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +0 -1
  535. package/build/dist/Tests/Types/Database/Date.test.js +0 -62
  536. package/build/dist/Tests/Types/Database/Date.test.js.map +0 -1
  537. package/build/dist/Tests/Types/Database/EqualTo.test.js +0 -65
  538. package/build/dist/Tests/Types/Database/EqualTo.test.js.map +0 -1
  539. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +0 -62
  540. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +0 -1
  541. package/build/dist/Tests/Types/Database/InBetween.test.js +0 -72
  542. package/build/dist/Tests/Types/Database/InBetween.test.js.map +0 -1
  543. package/build/dist/Tests/Types/Database/LimitMax.test.js +0 -18
  544. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +0 -1
  545. package/build/dist/Tests/Types/Database/NotEqual.test.js +0 -19
  546. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +0 -1
  547. package/build/dist/Tests/Types/Database/Search.test.js +0 -10
  548. package/build/dist/Tests/Types/Database/Search.test.js.map +0 -1
  549. package/build/dist/Tests/Types/DatabaseType.test.js +0 -7
  550. package/build/dist/Tests/Types/DatabaseType.test.js.map +0 -1
  551. package/build/dist/Tests/Types/Date.test.js +0 -194
  552. package/build/dist/Tests/Types/Date.test.js.map +0 -1
  553. package/build/dist/Tests/Types/Dictionary.test.js +0 -25
  554. package/build/dist/Tests/Types/Dictionary.test.js.map +0 -1
  555. package/build/dist/Tests/Types/Domain.test.js +0 -54
  556. package/build/dist/Tests/Types/Domain.test.js.map +0 -1
  557. package/build/dist/Tests/Types/Email/Email.test.js +0 -51
  558. package/build/dist/Tests/Types/Email/Email.test.js.map +0 -1
  559. package/build/dist/Tests/Types/EmailWithName.test.js +0 -36
  560. package/build/dist/Tests/Types/EmailWithName.test.js.map +0 -1
  561. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +0 -7
  562. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +0 -1
  563. package/build/dist/Tests/Types/Exception/ApiException.test.js +0 -10
  564. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +0 -1
  565. package/build/dist/Tests/Types/Exception/BadDataException.test.js +0 -12
  566. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +0 -1
  567. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +0 -10
  568. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +0 -1
  569. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +0 -12
  570. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +0 -1
  571. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +0 -10
  572. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +0 -1
  573. package/build/dist/Tests/Types/Exception/Exception.test.js +0 -15
  574. package/build/dist/Tests/Types/Exception/Exception.test.js.map +0 -1
  575. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +0 -12
  576. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +0 -1
  577. package/build/dist/Tests/Types/File.test.js +0 -22
  578. package/build/dist/Tests/Types/File.test.js.map +0 -1
  579. package/build/dist/Tests/Types/HashedString.test.js +0 -51
  580. package/build/dist/Tests/Types/HashedString.test.js.map +0 -1
  581. package/build/dist/Tests/Types/Html.test.js +0 -8
  582. package/build/dist/Tests/Types/Html.test.js.map +0 -1
  583. package/build/dist/Tests/Types/IP/IP.test.js +0 -65
  584. package/build/dist/Tests/Types/IP/IP.test.js.map +0 -1
  585. package/build/dist/Tests/Types/IP/IPType.test.js +0 -10
  586. package/build/dist/Tests/Types/IP/IPType.test.js.map +0 -1
  587. package/build/dist/Tests/Types/IP/IPv4.test.js +0 -17
  588. package/build/dist/Tests/Types/IP/IPv4.test.js.map +0 -1
  589. package/build/dist/Tests/Types/IP/IPv6.test.js +0 -17
  590. package/build/dist/Tests/Types/IP/IPv6.test.js.map +0 -1
  591. package/build/dist/Tests/Types/JSON.test.js +0 -37
  592. package/build/dist/Tests/Types/JSON.test.js.map +0 -1
  593. package/build/dist/Tests/Types/JSONFunctions.test.js +0 -38
  594. package/build/dist/Tests/Types/JSONFunctions.test.js.map +0 -1
  595. package/build/dist/Tests/Types/ListData.test.js +0 -34
  596. package/build/dist/Tests/Types/ListData.test.js.map +0 -1
  597. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js +0 -121
  598. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js.map +0 -1
  599. package/build/dist/Tests/Types/Name.test.js +0 -26
  600. package/build/dist/Tests/Types/Name.test.js.map +0 -1
  601. package/build/dist/Tests/Types/ObjectID.test.js +0 -12
  602. package/build/dist/Tests/Types/ObjectID.test.js.map +0 -1
  603. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js +0 -530
  604. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js.map +0 -1
  605. package/build/dist/Tests/Types/Permission.test.js +0 -99
  606. package/build/dist/Tests/Types/Permission.test.js.map +0 -1
  607. package/build/dist/Tests/Types/Phone.test.js +0 -37
  608. package/build/dist/Tests/Types/Phone.test.js.map +0 -1
  609. package/build/dist/Tests/Types/Port.test.js +0 -35
  610. package/build/dist/Tests/Types/Port.test.js.map +0 -1
  611. package/build/dist/Tests/Types/PositiveNumber.test.js +0 -101
  612. package/build/dist/Tests/Types/PositiveNumber.test.js.map +0 -1
  613. package/build/dist/Tests/Types/SecuritySeverity.test.js +0 -16
  614. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +0 -1
  615. package/build/dist/Tests/Types/SerializableObject.test.js +0 -37
  616. package/build/dist/Tests/Types/SerializableObject.test.js.map +0 -1
  617. package/build/dist/Tests/Types/Sleep.test.js +0 -14
  618. package/build/dist/Tests/Types/Sleep.test.js.map +0 -1
  619. package/build/dist/Tests/Types/Text.test.js +0 -8
  620. package/build/dist/Tests/Types/Text.test.js.map +0 -1
  621. package/build/dist/Tests/Types/Timezone.test.js +0 -596
  622. package/build/dist/Tests/Types/Timezone.test.js.map +0 -1
  623. package/build/dist/Tests/Types/Typeof.test.js +0 -16
  624. package/build/dist/Tests/Types/Typeof.test.js.map +0 -1
  625. package/build/dist/Tests/Types/UserType.test.js +0 -16
  626. package/build/dist/Tests/Types/UserType.test.js.map +0 -1
  627. package/build/dist/Tests/Types/Version.test.js +0 -35
  628. package/build/dist/Tests/Types/Version.test.js.map +0 -1
  629. package/build/dist/Tests/Types/XML.test.js +0 -35
  630. package/build/dist/Tests/Types/XML.test.js.map +0 -1
  631. package/build/dist/Tests/UI/Components/404.test.js +0 -59
  632. package/build/dist/Tests/UI/Components/404.test.js.map +0 -1
  633. package/build/dist/Tests/UI/Components/Alert.test.js +0 -83
  634. package/build/dist/Tests/UI/Components/Alert.test.js.map +0 -1
  635. package/build/dist/Tests/UI/Components/Badge.test.js +0 -59
  636. package/build/dist/Tests/UI/Components/Badge.test.js.map +0 -1
  637. package/build/dist/Tests/UI/Components/BasicForm.test.js +0 -92
  638. package/build/dist/Tests/UI/Components/BasicForm.test.js.map +0 -1
  639. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js +0 -69
  640. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js.map +0 -1
  641. package/build/dist/Tests/UI/Components/Button.test.js +0 -104
  642. package/build/dist/Tests/UI/Components/Button.test.js.map +0 -1
  643. package/build/dist/Tests/UI/Components/Card.test.js +0 -81
  644. package/build/dist/Tests/UI/Components/Card.test.js.map +0 -1
  645. package/build/dist/Tests/UI/Components/ColorViewer.test.js +0 -42
  646. package/build/dist/Tests/UI/Components/ColorViewer.test.js.map +0 -1
  647. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +0 -233
  648. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +0 -1
  649. package/build/dist/Tests/UI/Components/ConfirmModal.test.js +0 -57
  650. package/build/dist/Tests/UI/Components/ConfirmModal.test.js.map +0 -1
  651. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js +0 -84
  652. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js.map +0 -1
  653. package/build/dist/Tests/UI/Components/Dropdown.test.js +0 -146
  654. package/build/dist/Tests/UI/Components/Dropdown.test.js.map +0 -1
  655. package/build/dist/Tests/UI/Components/DuplicateModel.test.js +0 -229
  656. package/build/dist/Tests/UI/Components/DuplicateModel.test.js.map +0 -1
  657. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js +0 -26
  658. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js.map +0 -1
  659. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js +0 -32
  660. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js.map +0 -1
  661. package/build/dist/Tests/UI/Components/FilePicker.test.js +0 -342
  662. package/build/dist/Tests/UI/Components/FilePicker.test.js.map +0 -1
  663. package/build/dist/Tests/UI/Components/HiddenText.test.js +0 -50
  664. package/build/dist/Tests/UI/Components/HiddenText.test.js.map +0 -1
  665. package/build/dist/Tests/UI/Components/Input.test.js +0 -223
  666. package/build/dist/Tests/UI/Components/Input.test.js.map +0 -1
  667. package/build/dist/Tests/UI/Components/Item.test.js +0 -58
  668. package/build/dist/Tests/UI/Components/Item.test.js.map +0 -1
  669. package/build/dist/Tests/UI/Components/List.test.js +0 -83
  670. package/build/dist/Tests/UI/Components/List.test.js.map +0 -1
  671. package/build/dist/Tests/UI/Components/Loader.test.js +0 -19
  672. package/build/dist/Tests/UI/Components/Loader.test.js.map +0 -1
  673. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js +0 -85
  674. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js.map +0 -1
  675. package/build/dist/Tests/UI/Components/MasterPage.test.js +0 -46
  676. package/build/dist/Tests/UI/Components/MasterPage.test.js.map +0 -1
  677. package/build/dist/Tests/UI/Components/Modal.test.js +0 -127
  678. package/build/dist/Tests/UI/Components/Modal.test.js.map +0 -1
  679. package/build/dist/Tests/UI/Components/NavBar.test.js +0 -52
  680. package/build/dist/Tests/UI/Components/NavBar.test.js.map +0 -1
  681. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js +0 -86
  682. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js.map +0 -1
  683. package/build/dist/Tests/UI/Components/Pagination.test.js +0 -137
  684. package/build/dist/Tests/UI/Components/Pagination.test.js.map +0 -1
  685. package/build/dist/Tests/UI/Components/Pill.test.js +0 -55
  686. package/build/dist/Tests/UI/Components/Pill.test.js.map +0 -1
  687. package/build/dist/Tests/UI/Components/Probe.test.js +0 -52
  688. package/build/dist/Tests/UI/Components/Probe.test.js.map +0 -1
  689. package/build/dist/Tests/UI/Components/ProgressBar.test.js +0 -41
  690. package/build/dist/Tests/UI/Components/ProgressBar.test.js.map +0 -1
  691. package/build/dist/Tests/UI/Components/RadioButtons.test.js +0 -66
  692. package/build/dist/Tests/UI/Components/RadioButtons.test.js.map +0 -1
  693. package/build/dist/Tests/UI/Components/SideMenuItem.test.js +0 -99
  694. package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +0 -1
  695. package/build/dist/Tests/UI/Components/SideOver.test.js +0 -77
  696. package/build/dist/Tests/UI/Components/SideOver.test.js.map +0 -1
  697. package/build/dist/Tests/UI/Components/Tabs.test.js +0 -56
  698. package/build/dist/Tests/UI/Components/Tabs.test.js.map +0 -1
  699. package/build/dist/Tests/UI/Components/Template/Template.test.js +0 -15
  700. package/build/dist/Tests/UI/Components/Template/Template.test.js.map +0 -1
  701. package/build/dist/Tests/UI/Components/TextArea.test.js +0 -112
  702. package/build/dist/Tests/UI/Components/TextArea.test.js.map +0 -1
  703. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js +0 -352
  704. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js.map +0 -1
  705. package/build/dist/Tests/UI/Components/Toast.test.js +0 -48
  706. package/build/dist/Tests/UI/Components/Toast.test.js.map +0 -1
  707. package/build/dist/Tests/UI/Components/Toggle.test.js +0 -95
  708. package/build/dist/Tests/UI/Components/Toggle.test.js.map +0 -1
  709. package/build/dist/Tests/UI/Components/TopSection.test.js +0 -33
  710. package/build/dist/Tests/UI/Components/TopSection.test.js.map +0 -1
  711. package/build/dist/Tests/UI/Components/XAxis.test.js +0 -21
  712. package/build/dist/Tests/UI/Components/XAxis.test.js.map +0 -1
  713. package/build/dist/Tests/UI/Index.js +0 -2
  714. package/build/dist/Tests/UI/Index.js.map +0 -1
  715. package/build/dist/Tests/UI/Mocks/FileMock.js +0 -3
  716. package/build/dist/Tests/UI/Mocks/FileMock.js.map +0 -1
  717. package/build/dist/Tests/Utils/API.test.js +0 -399
  718. package/build/dist/Tests/Utils/API.test.js.map +0 -1
  719. package/build/dist/Tests/Utils/Analytics.test.js +0 -67
  720. package/build/dist/Tests/Utils/Analytics.test.js.map +0 -1
  721. package/build/dist/Tests/Utils/CronTime.test.js +0 -22
  722. package/build/dist/Tests/Utils/CronTime.test.js.map +0 -1
  723. package/build/dist/Tests/Utils/Faker.test.js +0 -27
  724. package/build/dist/Tests/Utils/Faker.test.js.map +0 -1
  725. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +0 -187
  726. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +0 -1
  727. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +0 -224
  728. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +0 -1
  729. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +0 -180
  730. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +0 -1
  731. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +0 -142
  732. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +0 -1
  733. package/build/dist/Tests/Utils/Slug.test.js +0 -20
  734. package/build/dist/Tests/Utils/Slug.test.js.map +0 -1
  735. package/build/dist/Tests/Utils/UUID.test.js +0 -48
  736. package/build/dist/Tests/Utils/UUID.test.js.map +0 -1
  737. package/build/dist/Tests/jest.setup.js +0 -30
  738. package/build/dist/Tests/jest.setup.js.map +0 -1
  739. package/build/dist/Types/Profile/ProfileMetricType.js +0 -17
  740. package/build/dist/Types/Profile/ProfileMetricType.js.map +0 -1
@@ -28,7 +28,7 @@ export enum MetricPointType {
28
28
  }
29
29
 
30
30
  @OperationalResource()
31
- @OwnedThrough("serviceId", Service, { includeProjectScope: true })
31
+ @OwnedThrough("primaryEntityId", Service, { includeProjectScope: true })
32
32
  export default class Metric extends AnalyticsBaseModel {
33
33
  public constructor() {
34
34
  const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
@@ -62,71 +62,73 @@ export default class Metric extends AnalyticsBaseModel {
62
62
  });
63
63
 
64
64
  // this can also be the monitor id or the telemetry service id.
65
- const serviceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
66
- key: "serviceId",
67
- title: "Service ID",
68
- description: "ID of the Service which created the Metric",
69
- required: true,
70
- type: TableColumnType.ObjectID,
71
- accessControl: {
72
- read: [
73
- Permission.ProjectOwner,
74
- Permission.ProjectAdmin,
75
- Permission.ProjectMember,
76
- Permission.Viewer,
77
- Permission.TelemetryAdmin,
78
- Permission.TelemetryMember,
79
- Permission.TelemetryViewer,
80
- Permission.ReadTelemetryServiceLog,
81
- ],
82
- create: [
83
- Permission.ProjectOwner,
84
- Permission.ProjectAdmin,
85
- Permission.ProjectMember,
86
- Permission.TelemetryAdmin,
87
- Permission.TelemetryMember,
88
- Permission.CreateTelemetryServiceLog,
89
- ],
90
- update: [],
91
- },
92
- });
65
+ const primaryEntityIdColumn: AnalyticsTableColumn =
66
+ new AnalyticsTableColumn({
67
+ key: "primaryEntityId",
68
+ title: "Service ID",
69
+ description: "ID of the Service which created the Metric",
70
+ required: true,
71
+ type: TableColumnType.ObjectID,
72
+ accessControl: {
73
+ read: [
74
+ Permission.ProjectOwner,
75
+ Permission.ProjectAdmin,
76
+ Permission.ProjectMember,
77
+ Permission.Viewer,
78
+ Permission.TelemetryAdmin,
79
+ Permission.TelemetryMember,
80
+ Permission.TelemetryViewer,
81
+ Permission.ReadTelemetryServiceLog,
82
+ ],
83
+ create: [
84
+ Permission.ProjectOwner,
85
+ Permission.ProjectAdmin,
86
+ Permission.ProjectMember,
87
+ Permission.TelemetryAdmin,
88
+ Permission.TelemetryMember,
89
+ Permission.CreateTelemetryServiceLog,
90
+ ],
91
+ update: [],
92
+ },
93
+ });
93
94
 
94
95
  // this can also be the monitor id or the telemetry service id.
95
- const serviceTypeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
96
- key: "serviceType",
97
- isLowCardinality: true,
98
- title: "Service Type",
99
- description: "Type of the service that this telemetry belongs to",
100
- required: false,
101
- type: TableColumnType.Text,
102
- skipIndex: {
103
- name: "idx_service_type",
104
- type: SkipIndexType.Set,
105
- params: [5],
106
- granularity: 4,
107
- },
108
- accessControl: {
109
- read: [
110
- Permission.ProjectOwner,
111
- Permission.ProjectAdmin,
112
- Permission.ProjectMember,
113
- Permission.Viewer,
114
- Permission.TelemetryAdmin,
115
- Permission.TelemetryMember,
116
- Permission.TelemetryViewer,
117
- Permission.ReadTelemetryServiceLog,
118
- ],
119
- create: [
120
- Permission.ProjectOwner,
121
- Permission.ProjectAdmin,
122
- Permission.ProjectMember,
123
- Permission.TelemetryAdmin,
124
- Permission.TelemetryMember,
125
- Permission.CreateTelemetryServiceLog,
126
- ],
127
- update: [],
128
- },
129
- });
96
+ const primaryEntityTypeColumn: AnalyticsTableColumn =
97
+ new AnalyticsTableColumn({
98
+ key: "primaryEntityType",
99
+ isLowCardinality: true,
100
+ title: "Service Type",
101
+ description: "Type of the service that this telemetry belongs to",
102
+ required: false,
103
+ type: TableColumnType.Text,
104
+ skipIndex: {
105
+ name: "idx_service_type",
106
+ type: SkipIndexType.Set,
107
+ params: [5],
108
+ granularity: 4,
109
+ },
110
+ accessControl: {
111
+ read: [
112
+ Permission.ProjectOwner,
113
+ Permission.ProjectAdmin,
114
+ Permission.ProjectMember,
115
+ Permission.Viewer,
116
+ Permission.TelemetryAdmin,
117
+ Permission.TelemetryMember,
118
+ Permission.TelemetryViewer,
119
+ Permission.ReadTelemetryServiceLog,
120
+ ],
121
+ create: [
122
+ Permission.ProjectOwner,
123
+ Permission.ProjectAdmin,
124
+ Permission.ProjectMember,
125
+ Permission.TelemetryAdmin,
126
+ Permission.TelemetryMember,
127
+ Permission.CreateTelemetryServiceLog,
128
+ ],
129
+ update: [],
130
+ },
131
+ });
130
132
 
131
133
  // add name and description
132
134
  const nameColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
@@ -168,6 +170,8 @@ export default class Metric extends AnalyticsBaseModel {
168
170
  const aggregationTemporalityColumn: AnalyticsTableColumn =
169
171
  new AnalyticsTableColumn({
170
172
  key: "aggregationTemporality",
173
+ // Enum-shaped (Delta / Cumulative / Unspecified) — dictionary-encode.
174
+ isLowCardinality: true,
171
175
  title: "Aggregation Temporality",
172
176
  description: "Aggregation Temporality of this Metric",
173
177
  required: false,
@@ -296,11 +300,11 @@ export default class Metric extends AnalyticsBaseModel {
296
300
  // end time.
297
301
  const timeUnixNanoColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
298
302
  key: "timeUnixNano",
299
- codec: { codec: "ZSTD", level: 1 },
303
+ codec: [{ codec: "DoubleDelta" }, { codec: "ZSTD", level: 1 }],
300
304
  title: "Time (in Unix Nano)",
301
305
  description: "When did the Metric happen?",
302
306
  required: true,
303
- type: TableColumnType.LongNumber,
307
+ type: TableColumnType.UInt64,
304
308
  accessControl: {
305
309
  read: [
306
310
  Permission.ProjectOwner,
@@ -327,11 +331,11 @@ export default class Metric extends AnalyticsBaseModel {
327
331
  const startTimeUnixNanoColumn: AnalyticsTableColumn =
328
332
  new AnalyticsTableColumn({
329
333
  key: "startTimeUnixNano",
330
- codec: { codec: "ZSTD", level: 1 },
334
+ codec: [{ codec: "DoubleDelta" }, { codec: "ZSTD", level: 1 }],
331
335
  title: "Start Time (in Unix Nano)",
332
336
  description: "When did the Metric happen?",
333
337
  required: false,
334
- type: TableColumnType.LongNumber,
338
+ type: TableColumnType.UInt64,
335
339
  accessControl: {
336
340
  read: [
337
341
  Permission.ProjectOwner,
@@ -386,6 +390,103 @@ export default class Metric extends AnalyticsBaseModel {
386
390
  },
387
391
  });
388
392
 
393
+ const entityKeysColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
394
+ key: "entityKeys",
395
+ codec: { codec: "ZSTD", level: 3 },
396
+ title: "Entity Keys",
397
+ description:
398
+ "Stable keys of every OpenTelemetry entity (service, host, k8s.pod, container, ...) this signal belongs to. A superset that includes the primary entity. Enables cross-cutting membership queries via has(entityKeys, :key).",
399
+ required: true,
400
+ defaultValue: [],
401
+ type: TableColumnType.ArrayText,
402
+ skipIndex: {
403
+ name: "idx_entity_keys",
404
+ type: SkipIndexType.BloomFilter,
405
+ params: [0.01],
406
+ granularity: 1,
407
+ },
408
+ accessControl: {
409
+ read: [
410
+ Permission.ProjectOwner,
411
+ Permission.ProjectAdmin,
412
+ Permission.ProjectMember,
413
+ Permission.Viewer,
414
+ Permission.TelemetryAdmin,
415
+ Permission.TelemetryMember,
416
+ Permission.TelemetryViewer,
417
+ Permission.ReadTelemetryServiceLog,
418
+ ],
419
+ create: [
420
+ Permission.ProjectOwner,
421
+ Permission.ProjectAdmin,
422
+ Permission.ProjectMember,
423
+ Permission.TelemetryAdmin,
424
+ Permission.TelemetryMember,
425
+ Permission.CreateTelemetryServiceLog,
426
+ ],
427
+ update: [],
428
+ },
429
+ });
430
+
431
+ /*
432
+ * Scalar per-entity-type key columns — denormalized single-value
433
+ * siblings of `entityKeys`. Each holds the 16-hex key (see
434
+ * Common/Utils/Telemetry/EntityKey) of the row's entity of that type,
435
+ * or '' when the resource carries no such entity (non-Nullable String,
436
+ * so old rows read the type default ''). Unlike the array column, a
437
+ * scalar equality predicate is usable as an MV/sort key (the per-host
438
+ * minute rollup `MetricItemAggMV1mByHostV2` groups by `hostEntityKey`)
439
+ * and gets a cheaper bloom-filter probe; only the high-traffic keys
440
+ * (service/host/k8s.pod) carry skip indexes. Stamped at ingest by the
441
+ * same extractor that fills `entityKeys`; never part of identity.
442
+ */
443
+ const scalarEntityKeyColumns: Array<AnalyticsTableColumn> = [
444
+ {
445
+ key: "serviceEntityKey",
446
+ title: "Service Entity Key",
447
+ indexName: "idx_service_entity_key",
448
+ },
449
+ {
450
+ key: "hostEntityKey",
451
+ title: "Host Entity Key",
452
+ indexName: "idx_host_entity_key",
453
+ },
454
+ {
455
+ key: "k8sPodEntityKey",
456
+ title: "Kubernetes Pod Entity Key",
457
+ indexName: "idx_k8s_pod_entity_key",
458
+ },
459
+ { key: "k8sNodeEntityKey", title: "Kubernetes Node Entity Key" },
460
+ { key: "k8sClusterEntityKey", title: "Kubernetes Cluster Entity Key" },
461
+ { key: "containerEntityKey", title: "Container Entity Key" },
462
+ ].map(
463
+ (def: {
464
+ key: string;
465
+ title: string;
466
+ indexName?: string | undefined;
467
+ }): AnalyticsTableColumn => {
468
+ return new AnalyticsTableColumn({
469
+ key: def.key,
470
+ title: def.title,
471
+ description:
472
+ "Scalar entity key for this entity type (see entityKeys); '' when the resource has no entity of this type.",
473
+ required: true,
474
+ defaultValue: "",
475
+ type: TableColumnType.Text,
476
+ codec: { codec: "ZSTD", level: 1 },
477
+ skipIndex: def.indexName
478
+ ? {
479
+ name: def.indexName,
480
+ type: SkipIndexType.BloomFilter,
481
+ params: [0.01],
482
+ granularity: 1,
483
+ }
484
+ : undefined,
485
+ accessControl: entityKeysColumn.accessControl,
486
+ });
487
+ },
488
+ );
489
+
389
490
  const attributeKeysColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
390
491
  key: "attributeKeys",
391
492
  codec: { codec: "ZSTD", level: 3 },
@@ -484,7 +585,7 @@ export default class Metric extends AnalyticsBaseModel {
484
585
 
485
586
  const sumColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
486
587
  key: "sum",
487
- codec: { codec: "ZSTD", level: 1 },
588
+ codec: [{ codec: "Gorilla" }, { codec: "ZSTD", level: 1 }],
488
589
  title: "Sum",
489
590
  description: "Sum",
490
591
  required: false,
@@ -514,7 +615,7 @@ export default class Metric extends AnalyticsBaseModel {
514
615
 
515
616
  const valueColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
516
617
  key: "value",
517
- codec: { codec: "ZSTD", level: 1 },
618
+ codec: [{ codec: "Gorilla" }, { codec: "ZSTD", level: 1 }],
518
619
  title: "Value",
519
620
  description: "Value",
520
621
  required: false,
@@ -544,7 +645,7 @@ export default class Metric extends AnalyticsBaseModel {
544
645
 
545
646
  const minColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
546
647
  key: "min",
547
- codec: { codec: "ZSTD", level: 1 },
648
+ codec: [{ codec: "Gorilla" }, { codec: "ZSTD", level: 1 }],
548
649
  title: "Min",
549
650
  description: "Min",
550
651
  required: false,
@@ -574,7 +675,7 @@ export default class Metric extends AnalyticsBaseModel {
574
675
 
575
676
  const maxColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
576
677
  key: "max",
577
- codec: { codec: "ZSTD", level: 1 },
678
+ codec: [{ codec: "Gorilla" }, { codec: "ZSTD", level: 1 }],
578
679
  title: "Max",
579
680
  description: "Max",
580
681
  required: false,
@@ -1071,8 +1172,8 @@ export default class Metric extends AnalyticsBaseModel {
1071
1172
  },
1072
1173
  tableColumns: [
1073
1174
  projectIdColumn,
1074
- serviceIdColumn,
1075
- serviceTypeColumn,
1175
+ primaryEntityIdColumn,
1176
+ primaryEntityTypeColumn,
1076
1177
  nameColumn,
1077
1178
  aggregationTemporalityColumn,
1078
1179
  metricPointTypeColumn,
@@ -1082,6 +1183,8 @@ export default class Metric extends AnalyticsBaseModel {
1082
1183
  startTimeUnixNanoColumn,
1083
1184
  attributesColumn,
1084
1185
  attributeKeysColumn,
1186
+ entityKeysColumn,
1187
+ ...scalarEntityKeyColumns,
1085
1188
  isMonotonicColumn,
1086
1189
  countColumn,
1087
1190
  sumColumn,
@@ -1103,13 +1206,15 @@ export default class Metric extends AnalyticsBaseModel {
1103
1206
  retentionDateColumn,
1104
1207
  ],
1105
1208
  projections: [],
1106
- sortKeys: ["projectId", "name", "serviceId", "time"],
1107
- primaryKeys: ["projectId", "name", "serviceId", "time"],
1108
- partitionKey: "sipHash64(projectId) % 16",
1209
+ sortKeys: ["projectId", "name", "primaryEntityId", "time"],
1210
+ primaryKeys: ["projectId", "name", "primaryEntityId", "time"],
1211
+ partitionKey: "toYYYYMMDD(time)",
1212
+ tableSettings:
1213
+ "ttl_only_drop_parts = 1, non_replicated_deduplication_window = 10000",
1109
1214
  ttlExpression: "retentionDate DELETE",
1110
1215
  /*
1111
1216
  * `time` is the 4th column of the Metric sort key (after
1112
- * projectId + name + serviceId). A list query that filters
1217
+ * projectId + name + primaryEntityId). A list query that filters
1113
1218
  * by name (the typical "metric detail" drilldown) can still
1114
1219
  * stream from the index when sorting by `time DESC`. With
1115
1220
  * no name filter the sort is less efficient but still far
@@ -1128,12 +1233,12 @@ export default class Metric extends AnalyticsBaseModel {
1128
1233
  this.setColumnValue("projectId", v);
1129
1234
  }
1130
1235
 
1131
- public get serviceId(): ObjectID | undefined {
1132
- return this.getColumnValue("serviceId") as ObjectID | undefined;
1236
+ public get primaryEntityId(): ObjectID | undefined {
1237
+ return this.getColumnValue("primaryEntityId") as ObjectID | undefined;
1133
1238
  }
1134
1239
 
1135
- public get serviceType(): ServiceType | undefined {
1136
- return this.getColumnValue("serviceType") as ServiceType | undefined;
1240
+ public get primaryEntityType(): ServiceType | undefined {
1241
+ return this.getColumnValue("primaryEntityType") as ServiceType | undefined;
1137
1242
  }
1138
1243
 
1139
1244
  public get name(): string | undefined {
@@ -1172,12 +1277,12 @@ export default class Metric extends AnalyticsBaseModel {
1172
1277
  this.setColumnValue("isMonotonic", v);
1173
1278
  }
1174
1279
 
1175
- public set serviceId(v: ObjectID | undefined) {
1176
- this.setColumnValue("serviceId", v);
1280
+ public set primaryEntityId(v: ObjectID | undefined) {
1281
+ this.setColumnValue("primaryEntityId", v);
1177
1282
  }
1178
1283
 
1179
- public set serviceType(v: ServiceType | undefined) {
1180
- this.setColumnValue("serviceType", v);
1284
+ public set primaryEntityType(v: ServiceType | undefined) {
1285
+ this.setColumnValue("primaryEntityType", v);
1181
1286
  }
1182
1287
 
1183
1288
  public get time(): Date | undefined {
@@ -1204,6 +1309,14 @@ export default class Metric extends AnalyticsBaseModel {
1204
1309
  this.setColumnValue("attributeKeys", v);
1205
1310
  }
1206
1311
 
1312
+ public get entityKeys(): Array<string> | undefined {
1313
+ return this.getColumnValue("entityKeys") as Array<string> | undefined;
1314
+ }
1315
+
1316
+ public set entityKeys(v: Array<string> | undefined) {
1317
+ this.setColumnValue("entityKeys", v);
1318
+ }
1319
+
1207
1320
  public get startTime(): Date | undefined {
1208
1321
  return this.getColumnValue("startTime") as Date | undefined;
1209
1322
  }
@@ -5,13 +5,13 @@ import AnalyticsTableColumn from "../../Types/AnalyticsDatabase/TableColumn";
5
5
  import TableColumnType from "../../Types/AnalyticsDatabase/TableColumnType";
6
6
 
7
7
  /**
8
- * Per-(day, hour-of-week) statistical baseline of `MetricItemV2` value
8
+ * Per-(day, hour-of-week) statistical baseline of `MetricItemV3` value
9
9
  * samples — backbone of metric anomaly detection.
10
10
  *
11
11
  * Populated by `MetricBaselineHourly_mv` (defined in the
12
12
  * `AddMetricBaselineHourlyMV` data migration), which fires on every
13
- * insert into `MetricItemV2` and groups by `(projectId, name,
14
- * serviceId, day, hourOfWeek)`. Each row holds AggregateFunction
13
+ * insert into `MetricItemV3` and groups by `(projectId, name,
14
+ * primaryEntityId, day, hourOfWeek)`. Each row holds AggregateFunction
15
15
  * states (count/avg/stddevPop/quantile/min/max) — finalize at read
16
16
  * time via the matching `*Merge()`.
17
17
  *
@@ -40,7 +40,7 @@ export default class MetricBaselineHourly extends AnalyticsBaseModel {
40
40
  const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
41
41
  key: "projectId",
42
42
  title: "Project ID",
43
- description: "ID of project (tenant key, replicated from MetricItemV2)",
43
+ description: "ID of project (tenant key, replicated from MetricItemV3)",
44
44
  required: true,
45
45
  type: TableColumnType.Text,
46
46
  isTenantId: true,
@@ -49,18 +49,19 @@ export default class MetricBaselineHourly extends AnalyticsBaseModel {
49
49
  const nameColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
50
50
  key: "name",
51
51
  title: "Metric Name",
52
- description: "Metric name (replicated from MetricItemV2)",
52
+ description: "Metric name (replicated from MetricItemV3)",
53
53
  required: true,
54
54
  type: TableColumnType.Text,
55
55
  });
56
56
 
57
- const serviceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
58
- key: "serviceId",
59
- title: "Service ID",
60
- description: "Service ID (replicated from MetricItemV2)",
61
- required: true,
62
- type: TableColumnType.Text,
63
- });
57
+ const primaryEntityIdColumn: AnalyticsTableColumn =
58
+ new AnalyticsTableColumn({
59
+ key: "primaryEntityId",
60
+ title: "Service ID",
61
+ description: "Primary entity ID (replicated from MetricItemV3)",
62
+ required: true,
63
+ type: TableColumnType.Text,
64
+ });
64
65
 
65
66
  const dayColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
66
67
  key: "day",
@@ -111,24 +112,34 @@ export default class MetricBaselineHourly extends AnalyticsBaseModel {
111
112
  aggregateFunctionDefinition: "stddevPop, Float64",
112
113
  });
113
114
 
115
+ /*
116
+ * quantileBFloat16, not quantile(reservoir sampling): the BFloat16
117
+ * sketch is a fixed-size histogram of bfloat16 buckets, so its state
118
+ * stays small and merges cheaply no matter how many samples fold in,
119
+ * where the default quantile keeps an 8 KB reservoir per cell. The
120
+ * ~0.4% relative precision of bfloat16 is far inside the noise of an
121
+ * anomaly baseline. State types can't be ALTERed in place — switching
122
+ * required the RebuildMetricBaselineHourlyWithBFloat16Quantiles
123
+ * migration to drop + recreate this table and its MV.
124
+ */
114
125
  const medianStateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
115
126
  key: "medianState",
116
127
  title: "Median (state)",
117
128
  description:
118
- "AggregateFunction(quantile(0.5), Float64) state. Read via quantileMerge(0.5)(medianState). Emitted for the future MedianMad anomaly method.",
129
+ "AggregateFunction(quantileBFloat16(0.5), Float64) state. Read via quantileBFloat16Merge(0.5)(medianState). Emitted for the future MedianMad anomaly method.",
119
130
  required: true,
120
131
  type: TableColumnType.AggregateFunction,
121
- aggregateFunctionDefinition: "quantile(0.5), Float64",
132
+ aggregateFunctionDefinition: "quantileBFloat16(0.5), Float64",
122
133
  });
123
134
 
124
135
  const p95StateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
125
136
  key: "p95State",
126
137
  title: "P95 (state)",
127
138
  description:
128
- "AggregateFunction(quantile(0.95), Float64) state. Read via quantileMerge(0.95)(p95State).",
139
+ "AggregateFunction(quantileBFloat16(0.95), Float64) state. Read via quantileBFloat16Merge(0.95)(p95State).",
129
140
  required: true,
130
141
  type: TableColumnType.AggregateFunction,
131
- aggregateFunctionDefinition: "quantile(0.95), Float64",
142
+ aggregateFunctionDefinition: "quantileBFloat16(0.95), Float64",
132
143
  });
133
144
 
134
145
  const minObsStateColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
@@ -159,7 +170,7 @@ export default class MetricBaselineHourly extends AnalyticsBaseModel {
159
170
  tableColumns: [
160
171
  projectIdColumn,
161
172
  nameColumn,
162
- serviceIdColumn,
173
+ primaryEntityIdColumn,
163
174
  dayColumn,
164
175
  hourOfWeekColumn,
165
176
  sampleCountStateColumn,
@@ -187,18 +198,18 @@ AS
187
198
  SELECT
188
199
  projectId,
189
200
  name,
190
- serviceId,
201
+ primaryEntityId,
191
202
  toDate(time) AS day,
192
203
  toUInt8((toDayOfWeek(time, 1) - 1) * 24 + toHour(time)) AS hourOfWeek,
193
204
  countState(toFloat64(coalesce(value, sum, 0))) AS sampleCountState,
194
205
  avgState(toFloat64(coalesce(value, sum, 0))) AS meanState,
195
206
  stddevPopState(toFloat64(coalesce(value, sum, 0))) AS stddevState,
196
- quantileState(0.5)(toFloat64(coalesce(value, sum, 0))) AS medianState,
197
- quantileState(0.95)(toFloat64(coalesce(value, sum, 0))) AS p95State,
207
+ quantileBFloat16State(0.5)(toFloat64(coalesce(value, sum, 0))) AS medianState,
208
+ quantileBFloat16State(0.95)(toFloat64(coalesce(value, sum, 0))) AS p95State,
198
209
  minState(toFloat64(coalesce(value, sum, 0))) AS minObsState,
199
210
  maxState(toFloat64(coalesce(value, sum, 0))) AS maxObsState
200
- FROM MetricItemV2
201
- GROUP BY projectId, name, serviceId, day, hourOfWeek`,
211
+ FROM MetricItemV3
212
+ GROUP BY projectId, name, primaryEntityId, day, hourOfWeek`,
202
213
  },
203
214
  ],
204
215
  /*
@@ -206,9 +217,17 @@ GROUP BY projectId, name, serviceId, day, hourOfWeek`,
206
217
  * MetricBaselineService.getBaseline so lookups touch a tight
207
218
  * granule range.
208
219
  */
209
- sortKeys: ["projectId", "name", "serviceId", "hourOfWeek", "day"],
210
- primaryKeys: ["projectId", "name", "serviceId", "hourOfWeek", "day"],
211
- partitionKey: "sipHash64(projectId) % 16",
220
+ sortKeys: ["projectId", "name", "primaryEntityId", "hourOfWeek", "day"],
221
+ primaryKeys: [
222
+ "projectId",
223
+ "name",
224
+ "primaryEntityId",
225
+ "hourOfWeek",
226
+ "day",
227
+ ],
228
+ partitionKey: "toYYYYMM(day)",
229
+ tableSettings:
230
+ "ttl_only_drop_parts = 1, non_replicated_deduplication_window = 10000",
212
231
  ttlExpression: "day + INTERVAL 90 DAY",
213
232
  });
214
233
  }
@@ -5,12 +5,12 @@ import AnalyticsTableColumn from "../../Types/AnalyticsDatabase/TableColumn";
5
5
  import TableColumnType from "../../Types/AnalyticsDatabase/TableColumnType";
6
6
 
7
7
  /**
8
- * Per-minute pre-aggregated rollup of `MetricItemV2` value samples.
8
+ * Per-minute pre-aggregated rollup of `MetricItemV3` value samples.
9
9
  *
10
10
  * Populated by the attached materialized view `MetricItemAggMV1m_mv`
11
11
  * (declared below in `materializedViews` and applied idempotently by
12
12
  * the analytics schema-sync on every boot), which fires on every
13
- * insert into `MetricItemV2`. Each row holds AggregateFunction
13
+ * insert into `MetricItemV3`. Each row holds AggregateFunction
14
14
  * *states* — partial intermediate values combined by background merges
15
15
  * and finalized at read time via `*Merge()` (e.g.
16
16
  * `sumMerge(valueSumState)`).
@@ -33,7 +33,7 @@ export default class MetricItemAggMV1m extends AnalyticsBaseModel {
33
33
  const projectIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
34
34
  key: "projectId",
35
35
  title: "Project ID",
36
- description: "ID of project (tenant key, replicated from MetricItemV2)",
36
+ description: "ID of project (tenant key, replicated from MetricItemV3)",
37
37
  required: true,
38
38
  type: TableColumnType.Text,
39
39
  isTenantId: true,
@@ -42,18 +42,19 @@ export default class MetricItemAggMV1m extends AnalyticsBaseModel {
42
42
  const nameColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
43
43
  key: "name",
44
44
  title: "Metric Name",
45
- description: "Metric name (replicated from MetricItemV2)",
45
+ description: "Metric name (replicated from MetricItemV3)",
46
46
  required: true,
47
47
  type: TableColumnType.Text,
48
48
  });
49
49
 
50
- const serviceIdColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
51
- key: "serviceId",
52
- title: "Service ID",
53
- description: "Service ID (replicated from MetricItemV2)",
54
- required: true,
55
- type: TableColumnType.Text,
56
- });
50
+ const primaryEntityIdColumn: AnalyticsTableColumn =
51
+ new AnalyticsTableColumn({
52
+ key: "primaryEntityId",
53
+ title: "Service ID",
54
+ description: "Primary entity ID (replicated from MetricItemV3)",
55
+ required: true,
56
+ type: TableColumnType.Text,
57
+ });
57
58
 
58
59
  const bucketTimeColumn: AnalyticsTableColumn = new AnalyticsTableColumn({
59
60
  key: "bucketTime",
@@ -109,7 +110,7 @@ export default class MetricItemAggMV1m extends AnalyticsBaseModel {
109
110
  key: "retentionDate",
110
111
  title: "Retention Date",
111
112
  description:
112
- "Date after which this row is eligible for TTL deletion. Computed by the MV as max(retentionDate) per bucket — inherits from the source MetricItemV2 rows.",
113
+ "Date after which this row is eligible for TTL deletion. Computed by the MV as max(retentionDate) per bucket — inherits from the source MetricItemV3 rows.",
113
114
  required: true,
114
115
  type: TableColumnType.Date,
115
116
  });
@@ -122,7 +123,7 @@ export default class MetricItemAggMV1m extends AnalyticsBaseModel {
122
123
  tableColumns: [
123
124
  projectIdColumn,
124
125
  nameColumn,
125
- serviceIdColumn,
126
+ primaryEntityIdColumn,
126
127
  bucketTimeColumn,
127
128
  valueSumStateColumn,
128
129
  valueCountStateColumn,
@@ -132,7 +133,7 @@ export default class MetricItemAggMV1m extends AnalyticsBaseModel {
132
133
  ],
133
134
  projections: [],
134
135
  /*
135
- * Materialized view that pre-rolls MetricItemV2 value samples into
136
+ * Materialized view that pre-rolls MetricItemV3 value samples into
136
137
  * 1-minute buckets. This is the canonical definition: the analytics
137
138
  * schema-sync (AnalyticsTableManagement.createMaterializedViews)
138
139
  * creates it on every boot if missing, so a wiped/recreated
@@ -149,20 +150,22 @@ AS
149
150
  SELECT
150
151
  projectId,
151
152
  name,
152
- serviceId,
153
+ primaryEntityId,
153
154
  toStartOfMinute(time) AS bucketTime,
154
155
  sumState(toFloat64(coalesce(value, sum, 0))) AS valueSumState,
155
156
  countState(toFloat64(coalesce(value, sum, 0))) AS valueCountState,
156
157
  minState(toFloat64(coalesce(value, sum, 0))) AS valueMinState,
157
158
  maxState(toFloat64(coalesce(value, sum, 0))) AS valueMaxState,
158
159
  max(retentionDate) AS retentionDate
159
- FROM MetricItemV2
160
- GROUP BY projectId, name, serviceId, bucketTime`,
160
+ FROM MetricItemV3
161
+ GROUP BY projectId, name, primaryEntityId, bucketTime`,
161
162
  },
162
163
  ],
163
- sortKeys: ["projectId", "name", "serviceId", "bucketTime"],
164
- primaryKeys: ["projectId", "name", "serviceId", "bucketTime"],
165
- partitionKey: "sipHash64(projectId) % 16",
164
+ sortKeys: ["projectId", "name", "primaryEntityId", "bucketTime"],
165
+ primaryKeys: ["projectId", "name", "primaryEntityId", "bucketTime"],
166
+ partitionKey: "toYYYYMM(bucketTime)",
167
+ tableSettings:
168
+ "ttl_only_drop_parts = 1, non_replicated_deduplication_window = 10000",
166
169
  ttlExpression: "retentionDate DELETE",
167
170
  });
168
171
  }