@oneuptime/common 10.8.2 → 11.0.0

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 (724) 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/Telemetry/EntityKey.test.ts +150 -0
  92. package/Tests/Utils/Telemetry/EntityKeySqlParity.test.ts +40 -0
  93. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +150 -0
  94. package/Tests/Utils/UUID.test.ts +47 -0
  95. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +14 -9
  96. package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
  97. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  98. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +37 -0
  99. package/Types/Dashboard/DashboardTemplates.ts +4 -5
  100. package/Types/Log/LogQueryParser.ts +2 -2
  101. package/Types/Log/LogQueryToFilter.ts +2 -2
  102. package/Types/Monitor/MonitorStepExceptionMonitor.ts +19 -1
  103. package/Types/Monitor/MonitorStepLogMonitor.ts +20 -1
  104. package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -0
  105. package/Types/Monitor/MonitorStepProfileMonitor.ts +19 -1
  106. package/Types/Monitor/MonitorStepTraceMonitor.ts +18 -1
  107. package/Types/Monitor/MonitorType.ts +8 -1
  108. package/Types/ObjectID.ts +10 -0
  109. package/Types/Telemetry/EntityRelationshipType.ts +31 -0
  110. package/Types/Telemetry/EntityType.ts +33 -0
  111. package/Types/Telemetry/TelemetrySavedViewState.ts +2 -0
  112. package/Types/Text.ts +34 -0
  113. package/Types/Trace/TraceAggregationType.ts +1 -0
  114. package/Types/Trace/TraceRecordingRuleDefinition.ts +74 -0
  115. package/UI/Components/LogsViewer/LogsViewer.tsx +12 -9
  116. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +10 -9
  117. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +1 -1
  118. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
  119. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +4 -4
  120. package/UI/Components/LogsViewer/components/LogsTable.tsx +5 -3
  121. package/UI/Components/Navbar/NavBarMenuModal.tsx +81 -44
  122. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +33 -10
  123. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +18 -3
  124. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +91 -68
  125. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +9 -2
  126. package/UI/Utils/LogExport.ts +2 -2
  127. package/UI/Utils/TelemetryService.ts +20 -20
  128. package/Utils/Dashboard/Components/DashboardTraceChartComponent.ts +134 -0
  129. package/Utils/Dashboard/Components/Index.ts +7 -0
  130. package/Utils/Telemetry/EntityKey.ts +151 -0
  131. package/Utils/Telemetry/EntityRelationship.ts +113 -0
  132. package/Utils/Traces/CriticalPath.ts +7 -7
  133. package/Utils/UUID.ts +57 -0
  134. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +14 -13
  135. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  136. package/build/dist/Models/AnalyticsModels/AuditLog.js +2 -1
  137. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  138. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +125 -22
  139. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  140. package/build/dist/Models/AnalyticsModels/Index.js +7 -2
  141. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  142. package/build/dist/Models/AnalyticsModels/Log.js +123 -22
  143. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  144. package/build/dist/Models/AnalyticsModels/Metric.js +125 -27
  145. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  146. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +38 -21
  147. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  148. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +17 -16
  149. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  150. package/build/dist/Models/AnalyticsModels/{MetricItemAggMV1mByHost.js → MetricItemAggMV1mByHostV2.js} +54 -42
  151. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -0
  152. package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -1
  153. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  154. package/build/dist/Models/AnalyticsModels/Profile.js +132 -26
  155. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  156. package/build/dist/Models/AnalyticsModels/ProfileSample.js +121 -23
  157. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  158. package/build/dist/Models/AnalyticsModels/Span.js +144 -26
  159. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  161. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/Service.js +30 -0
  163. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  164. package/build/dist/Models/DatabaseModels/TelemetryEntity.js +419 -0
  165. package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -0
  166. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +317 -0
  167. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -0
  168. package/build/dist/Models/DatabaseModels/TelemetryException.js +12 -12
  169. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +7 -7
  171. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  172. package/build/dist/Server/API/AIAgentDataAPI.js +14 -13
  173. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  174. package/build/dist/Server/API/DashboardAPI.js +2 -2
  175. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  176. package/build/dist/Server/API/TelemetryAPI.js +425 -129
  177. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  178. package/build/dist/Server/API/TelemetryExceptionAPI.js +2 -2
  179. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  180. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -0
  181. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  182. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js +29 -0
  183. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js.map +1 -0
  184. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js +38 -0
  185. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js.map +1 -0
  186. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js +33 -0
  187. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js.map +1 -0
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js +78 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js.map +1 -0
  190. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js +19 -0
  191. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js.map +1 -0
  192. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js +18 -0
  193. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js.map +1 -0
  194. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  195. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  196. package/build/dist/Server/Infrastructure/Queue.js +14 -3
  197. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  198. package/build/dist/Server/Middleware/TelemetryIngest.js +16 -18
  199. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  200. package/build/dist/Server/Services/AlertService.js +9 -9
  201. package/build/dist/Server/Services/AlertService.js.map +1 -1
  202. package/build/dist/Server/Services/AnalyticsDatabaseService.js +115 -40
  203. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  204. package/build/dist/Server/Services/ExceptionAggregationService.js +38 -18
  205. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  206. package/build/dist/Server/Services/HostService.js +2 -1
  207. package/build/dist/Server/Services/HostService.js.map +1 -1
  208. package/build/dist/Server/Services/IncidentService.js +19 -19
  209. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  210. package/build/dist/Server/Services/Index.js +6 -2
  211. package/build/dist/Server/Services/Index.js.map +1 -1
  212. package/build/dist/Server/Services/LogAggregationService.js +100 -42
  213. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  214. package/build/dist/Server/Services/MetricAggregationService.js +27 -14
  215. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  216. package/build/dist/Server/Services/MetricBaselineService.js +28 -28
  217. package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
  218. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js +28 -0
  219. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js.map +1 -0
  220. package/build/dist/Server/Services/MetricService.js +116 -31
  221. package/build/dist/Server/Services/MetricService.js.map +1 -1
  222. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -36
  223. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  224. package/build/dist/Server/Services/ProfileAggregationService.js +613 -105
  225. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
  226. package/build/dist/Server/Services/ServiceService.js +9 -5
  227. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  228. package/build/dist/Server/Services/SpanService.js +217 -15
  229. package/build/dist/Server/Services/SpanService.js.map +1 -1
  230. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +72 -0
  231. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -0
  232. package/build/dist/Server/Services/TelemetryEntityService.js +201 -0
  233. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -0
  234. package/build/dist/Server/Services/TelemetryExceptionService.js +18 -18
  235. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  236. package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -21
  237. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  238. package/build/dist/Server/Services/TraceAggregationService.js +568 -43
  239. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  240. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +38 -2
  241. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  242. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +36 -2
  243. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  244. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +25 -1
  245. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  246. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +17 -3
  247. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
  248. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +1 -0
  249. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  250. package/build/dist/Server/Types/Database/QueryHelper.js +31 -0
  251. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  252. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +3 -2
  253. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
  254. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js +3 -2
  255. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js.map +1 -1
  256. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  257. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -0
  258. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +97 -3
  259. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  260. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +3 -2
  261. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
  262. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js +3 -2
  263. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js.map +1 -1
  264. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +1 -1
  265. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  266. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +1 -2
  267. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
  268. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +3 -4
  269. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  270. package/build/dist/Server/Utils/PrivacyFilterUtil.js +47 -0
  271. package/build/dist/Server/Utils/PrivacyFilterUtil.js.map +1 -0
  272. package/build/dist/Server/Utils/Profile/PprofEncoder.js +132 -4
  273. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -1
  274. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +228 -0
  275. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -0
  276. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +5 -0
  277. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  278. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +569 -0
  279. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -0
  280. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +14 -9
  281. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  282. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
  283. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  284. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  285. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  286. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js +2 -0
  287. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js.map +1 -0
  288. package/build/dist/Types/Dashboard/DashboardTemplates.js +4 -5
  289. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  290. package/build/dist/Types/Log/LogQueryParser.js +2 -2
  291. package/build/dist/Types/Log/LogQueryParser.js.map +1 -1
  292. package/build/dist/Types/Log/LogQueryToFilter.js +1 -1
  293. package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
  294. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +9 -1
  295. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -1
  296. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +9 -1
  297. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -1
  298. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +13 -0
  299. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  300. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +9 -1
  301. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -1
  302. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js +9 -1
  303. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js.map +1 -1
  304. package/build/dist/Types/Monitor/MonitorType.js +8 -1
  305. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  306. package/build/dist/Types/ObjectID.js +9 -0
  307. package/build/dist/Types/ObjectID.js.map +1 -1
  308. package/build/dist/Types/Telemetry/EntityRelationshipType.js +32 -0
  309. package/build/dist/Types/Telemetry/EntityRelationshipType.js.map +1 -0
  310. package/build/dist/Types/Telemetry/EntityType.js +34 -0
  311. package/build/dist/Types/Telemetry/EntityType.js.map +1 -0
  312. package/build/dist/Types/Text.js +32 -1
  313. package/build/dist/Types/Text.js.map +1 -1
  314. package/build/dist/Types/Trace/TraceAggregationType.js +1 -0
  315. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -1
  316. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +50 -1
  317. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -1
  318. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +10 -9
  319. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  320. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +8 -8
  321. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  322. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +1 -1
  323. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  324. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +2 -2
  325. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  326. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +4 -4
  327. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  328. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +3 -3
  329. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  330. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +43 -30
  331. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  332. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +6 -2
  333. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  334. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -3
  335. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  336. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +18 -10
  337. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  338. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +4 -2
  339. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
  340. package/build/dist/UI/Utils/LogExport.js +2 -2
  341. package/build/dist/UI/Utils/LogExport.js.map +1 -1
  342. package/build/dist/UI/Utils/TelemetryService.js +16 -16
  343. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  344. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js +110 -0
  345. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js.map +1 -0
  346. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  347. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  348. package/build/dist/Utils/Telemetry/EntityKey.js +115 -0
  349. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -0
  350. package/build/dist/Utils/Telemetry/EntityRelationship.js +71 -0
  351. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -0
  352. package/build/dist/Utils/Traces/CriticalPath.js +5 -5
  353. package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
  354. package/build/dist/Utils/UUID.js +50 -0
  355. package/build/dist/Utils/UUID.js.map +1 -1
  356. package/package.json +2 -1
  357. package/tsconfig.json +10 -1
  358. package/Server/Services/MetricItemAggMV1mByHostService.ts +0 -30
  359. package/Types/Profile/ProfileMetricType.ts +0 -16
  360. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHost.js.map +0 -1
  361. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js +0 -28
  362. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js.map +0 -1
  363. package/build/dist/Tests/MockType.js +0 -5
  364. package/build/dist/Tests/MockType.js.map +0 -1
  365. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js +0 -12
  366. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js.map +0 -1
  367. package/build/dist/Tests/Models/File.test.js +0 -10
  368. package/build/dist/Tests/Models/File.test.js.map +0 -1
  369. package/build/dist/Tests/Server/API/BaseAPI.test.js +0 -590
  370. package/build/dist/Tests/Server/API/BaseAPI.test.js.map +0 -1
  371. package/build/dist/Tests/Server/API/Helpers.js +0 -27
  372. package/build/dist/Tests/Server/API/Helpers.js.map +0 -1
  373. package/build/dist/Tests/Server/API/ProbeAPI.test.js +0 -84
  374. package/build/dist/Tests/Server/API/ProbeAPI.test.js.map +0 -1
  375. package/build/dist/Tests/Server/API/ProjectAPI.test.js +0 -170
  376. package/build/dist/Tests/Server/API/ProjectAPI.test.js.map +0 -1
  377. package/build/dist/Tests/Server/API/UserSmsApi.test.js +0 -177
  378. package/build/dist/Tests/Server/API/UserSmsApi.test.js.map +0 -1
  379. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js +0 -63
  380. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js.map +0 -1
  381. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js +0 -58
  382. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js.map +0 -1
  383. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js +0 -101
  384. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js.map +0 -1
  385. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +0 -160
  386. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +0 -1
  387. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +0 -410
  388. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +0 -1
  389. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +0 -165
  390. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +0 -1
  391. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +0 -193
  392. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +0 -1
  393. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +0 -435
  394. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +0 -1
  395. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +0 -320
  396. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +0 -1
  397. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +0 -266
  398. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +0 -1
  399. package/build/dist/Tests/Server/Services/BillingService.test.js +0 -910
  400. package/build/dist/Tests/Server/Services/BillingService.test.js.map +0 -1
  401. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +0 -75
  402. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +0 -1
  403. package/build/dist/Tests/Server/Services/ProbeService.test.js +0 -127
  404. package/build/dist/Tests/Server/Services/ProbeService.test.js.map +0 -1
  405. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +0 -114
  406. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +0 -1
  407. package/build/dist/Tests/Server/Services/TeamMemberService.test.js +0 -106
  408. package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +0 -1
  409. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js +0 -50
  410. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js.map +0 -1
  411. package/build/dist/Tests/Server/TestingUtils/Init.js +0 -4
  412. package/build/dist/Tests/Server/TestingUtils/Init.js.map +0 -1
  413. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js +0 -9
  414. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js.map +0 -1
  415. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js +0 -16
  416. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js.map +0 -1
  417. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +0 -125
  418. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +0 -1
  419. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js +0 -39
  420. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js.map +0 -1
  421. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js +0 -20
  422. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js.map +0 -1
  423. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js +0 -31
  424. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js.map +0 -1
  425. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js +0 -14
  426. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js.map +0 -1
  427. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js +0 -21
  428. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js.map +0 -1
  429. package/build/dist/Tests/Server/TestingUtils/Services/Types.js +0 -2
  430. package/build/dist/Tests/Server/TestingUtils/Services/Types.js.map +0 -1
  431. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js +0 -37
  432. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js.map +0 -1
  433. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js +0 -13
  434. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js.map +0 -1
  435. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js +0 -22
  436. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js.map +0 -1
  437. package/build/dist/Tests/Server/Types/Domain.test.js +0 -78
  438. package/build/dist/Tests/Server/Types/Domain.test.js.map +0 -1
  439. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js +0 -94
  440. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js.map +0 -1
  441. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +0 -459
  442. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +0 -1
  443. package/build/dist/Tests/Server/Utils/Cookie.test.js +0 -83
  444. package/build/dist/Tests/Server/Utils/Cookie.test.js.map +0 -1
  445. package/build/dist/Tests/Server/Utils/CronTab.test.js +0 -29
  446. package/build/dist/Tests/Server/Utils/CronTab.test.js.map +0 -1
  447. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js +0 -114
  448. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js.map +0 -1
  449. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +0 -606
  450. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +0 -1
  451. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js +0 -255
  452. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js.map +0 -1
  453. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js +0 -142
  454. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js.map +0 -1
  455. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +0 -122
  456. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +0 -1
  457. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js +0 -0
  458. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js.map +0 -1
  459. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js +0 -205
  460. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js.map +0 -1
  461. package/build/dist/Tests/Spy.js +0 -4
  462. package/build/dist/Tests/Spy.js.map +0 -1
  463. package/build/dist/Tests/Types/API/ErrorResponse.test.js +0 -13
  464. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +0 -1
  465. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +0 -33
  466. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +0 -1
  467. package/build/dist/Tests/Types/API/HTTPMethod.test.js +0 -16
  468. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +0 -1
  469. package/build/dist/Tests/Types/API/Headers.test.js +0 -14
  470. package/build/dist/Tests/Types/API/Headers.test.js.map +0 -1
  471. package/build/dist/Tests/Types/API/Hostname.test.js +0 -22
  472. package/build/dist/Tests/Types/API/Hostname.test.js.map +0 -1
  473. package/build/dist/Tests/Types/API/Protocal.test.js +0 -19
  474. package/build/dist/Tests/Types/API/Protocal.test.js.map +0 -1
  475. package/build/dist/Tests/Types/API/Response.test.js +0 -14
  476. package/build/dist/Tests/Types/API/Response.test.js.map +0 -1
  477. package/build/dist/Tests/Types/API/ResponseType.test.js +0 -13
  478. package/build/dist/Tests/Types/API/ResponseType.test.js.map +0 -1
  479. package/build/dist/Tests/Types/API/Route.test.js +0 -30
  480. package/build/dist/Tests/Types/API/Route.test.js.map +0 -1
  481. package/build/dist/Tests/Types/API/StatusCode.test.js +0 -26
  482. package/build/dist/Tests/Types/API/StatusCode.test.js.map +0 -1
  483. package/build/dist/Tests/Types/API/URL.test.js +0 -33
  484. package/build/dist/Tests/Types/API/URL.test.js.map +0 -1
  485. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +0 -34
  486. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +0 -1
  487. package/build/dist/Tests/Types/Alerts/AlertType.test.js +0 -19
  488. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +0 -1
  489. package/build/dist/Tests/Types/AppEnvironment.test.js +0 -13
  490. package/build/dist/Tests/Types/AppEnvironment.test.js.map +0 -1
  491. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +0 -13
  492. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +0 -1
  493. package/build/dist/Tests/Types/ArrayUtil.test.js +0 -71
  494. package/build/dist/Tests/Types/ArrayUtil.test.js.map +0 -1
  495. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +0 -181
  496. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +0 -1
  497. package/build/dist/Tests/Types/BrandColors.test.js +0 -124
  498. package/build/dist/Tests/Types/BrandColors.test.js.map +0 -1
  499. package/build/dist/Tests/Types/Char.test.js +0 -82
  500. package/build/dist/Tests/Types/Char.test.js.map +0 -1
  501. package/build/dist/Tests/Types/Code/CodeType.test.js +0 -13
  502. package/build/dist/Tests/Types/Code/CodeType.test.js.map +0 -1
  503. package/build/dist/Tests/Types/Color.test.js +0 -44
  504. package/build/dist/Tests/Types/Color.test.js.map +0 -1
  505. package/build/dist/Tests/Types/Company/CompanySize.test.js +0 -20
  506. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +0 -1
  507. package/build/dist/Tests/Types/Company/JobRole.test.js +0 -22
  508. package/build/dist/Tests/Types/Company/JobRole.test.js.map +0 -1
  509. package/build/dist/Tests/Types/Countries.test.js +0 -249
  510. package/build/dist/Tests/Types/Countries.test.js.map +0 -1
  511. package/build/dist/Tests/Types/Database/ColumnLength.test.js +0 -43
  512. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +0 -1
  513. package/build/dist/Tests/Types/Database/ColumnType.test.js +0 -79
  514. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +0 -1
  515. package/build/dist/Tests/Types/Database/Columns.test.js +0 -20
  516. package/build/dist/Tests/Types/Database/Columns.test.js.map +0 -1
  517. package/build/dist/Tests/Types/Database/CompareBase.test.js +0 -37
  518. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +0 -1
  519. package/build/dist/Tests/Types/Database/Date.test.js +0 -62
  520. package/build/dist/Tests/Types/Database/Date.test.js.map +0 -1
  521. package/build/dist/Tests/Types/Database/EqualTo.test.js +0 -65
  522. package/build/dist/Tests/Types/Database/EqualTo.test.js.map +0 -1
  523. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +0 -62
  524. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +0 -1
  525. package/build/dist/Tests/Types/Database/InBetween.test.js +0 -72
  526. package/build/dist/Tests/Types/Database/InBetween.test.js.map +0 -1
  527. package/build/dist/Tests/Types/Database/LimitMax.test.js +0 -18
  528. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +0 -1
  529. package/build/dist/Tests/Types/Database/NotEqual.test.js +0 -19
  530. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +0 -1
  531. package/build/dist/Tests/Types/Database/Search.test.js +0 -10
  532. package/build/dist/Tests/Types/Database/Search.test.js.map +0 -1
  533. package/build/dist/Tests/Types/DatabaseType.test.js +0 -7
  534. package/build/dist/Tests/Types/DatabaseType.test.js.map +0 -1
  535. package/build/dist/Tests/Types/Date.test.js +0 -194
  536. package/build/dist/Tests/Types/Date.test.js.map +0 -1
  537. package/build/dist/Tests/Types/Dictionary.test.js +0 -25
  538. package/build/dist/Tests/Types/Dictionary.test.js.map +0 -1
  539. package/build/dist/Tests/Types/Domain.test.js +0 -54
  540. package/build/dist/Tests/Types/Domain.test.js.map +0 -1
  541. package/build/dist/Tests/Types/Email/Email.test.js +0 -51
  542. package/build/dist/Tests/Types/Email/Email.test.js.map +0 -1
  543. package/build/dist/Tests/Types/EmailWithName.test.js +0 -36
  544. package/build/dist/Tests/Types/EmailWithName.test.js.map +0 -1
  545. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +0 -7
  546. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +0 -1
  547. package/build/dist/Tests/Types/Exception/ApiException.test.js +0 -10
  548. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +0 -1
  549. package/build/dist/Tests/Types/Exception/BadDataException.test.js +0 -12
  550. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +0 -1
  551. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +0 -10
  552. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +0 -1
  553. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +0 -12
  554. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +0 -1
  555. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +0 -10
  556. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +0 -1
  557. package/build/dist/Tests/Types/Exception/Exception.test.js +0 -15
  558. package/build/dist/Tests/Types/Exception/Exception.test.js.map +0 -1
  559. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +0 -12
  560. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +0 -1
  561. package/build/dist/Tests/Types/File.test.js +0 -22
  562. package/build/dist/Tests/Types/File.test.js.map +0 -1
  563. package/build/dist/Tests/Types/HashedString.test.js +0 -51
  564. package/build/dist/Tests/Types/HashedString.test.js.map +0 -1
  565. package/build/dist/Tests/Types/Html.test.js +0 -8
  566. package/build/dist/Tests/Types/Html.test.js.map +0 -1
  567. package/build/dist/Tests/Types/IP/IP.test.js +0 -65
  568. package/build/dist/Tests/Types/IP/IP.test.js.map +0 -1
  569. package/build/dist/Tests/Types/IP/IPType.test.js +0 -10
  570. package/build/dist/Tests/Types/IP/IPType.test.js.map +0 -1
  571. package/build/dist/Tests/Types/IP/IPv4.test.js +0 -17
  572. package/build/dist/Tests/Types/IP/IPv4.test.js.map +0 -1
  573. package/build/dist/Tests/Types/IP/IPv6.test.js +0 -17
  574. package/build/dist/Tests/Types/IP/IPv6.test.js.map +0 -1
  575. package/build/dist/Tests/Types/JSON.test.js +0 -37
  576. package/build/dist/Tests/Types/JSON.test.js.map +0 -1
  577. package/build/dist/Tests/Types/JSONFunctions.test.js +0 -38
  578. package/build/dist/Tests/Types/JSONFunctions.test.js.map +0 -1
  579. package/build/dist/Tests/Types/ListData.test.js +0 -34
  580. package/build/dist/Tests/Types/ListData.test.js.map +0 -1
  581. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js +0 -121
  582. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js.map +0 -1
  583. package/build/dist/Tests/Types/Name.test.js +0 -26
  584. package/build/dist/Tests/Types/Name.test.js.map +0 -1
  585. package/build/dist/Tests/Types/ObjectID.test.js +0 -12
  586. package/build/dist/Tests/Types/ObjectID.test.js.map +0 -1
  587. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js +0 -530
  588. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js.map +0 -1
  589. package/build/dist/Tests/Types/Permission.test.js +0 -99
  590. package/build/dist/Tests/Types/Permission.test.js.map +0 -1
  591. package/build/dist/Tests/Types/Phone.test.js +0 -37
  592. package/build/dist/Tests/Types/Phone.test.js.map +0 -1
  593. package/build/dist/Tests/Types/Port.test.js +0 -35
  594. package/build/dist/Tests/Types/Port.test.js.map +0 -1
  595. package/build/dist/Tests/Types/PositiveNumber.test.js +0 -101
  596. package/build/dist/Tests/Types/PositiveNumber.test.js.map +0 -1
  597. package/build/dist/Tests/Types/SecuritySeverity.test.js +0 -16
  598. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +0 -1
  599. package/build/dist/Tests/Types/SerializableObject.test.js +0 -37
  600. package/build/dist/Tests/Types/SerializableObject.test.js.map +0 -1
  601. package/build/dist/Tests/Types/Sleep.test.js +0 -14
  602. package/build/dist/Tests/Types/Sleep.test.js.map +0 -1
  603. package/build/dist/Tests/Types/Text.test.js +0 -8
  604. package/build/dist/Tests/Types/Text.test.js.map +0 -1
  605. package/build/dist/Tests/Types/Timezone.test.js +0 -596
  606. package/build/dist/Tests/Types/Timezone.test.js.map +0 -1
  607. package/build/dist/Tests/Types/Typeof.test.js +0 -16
  608. package/build/dist/Tests/Types/Typeof.test.js.map +0 -1
  609. package/build/dist/Tests/Types/UserType.test.js +0 -16
  610. package/build/dist/Tests/Types/UserType.test.js.map +0 -1
  611. package/build/dist/Tests/Types/Version.test.js +0 -35
  612. package/build/dist/Tests/Types/Version.test.js.map +0 -1
  613. package/build/dist/Tests/Types/XML.test.js +0 -35
  614. package/build/dist/Tests/Types/XML.test.js.map +0 -1
  615. package/build/dist/Tests/UI/Components/404.test.js +0 -59
  616. package/build/dist/Tests/UI/Components/404.test.js.map +0 -1
  617. package/build/dist/Tests/UI/Components/Alert.test.js +0 -83
  618. package/build/dist/Tests/UI/Components/Alert.test.js.map +0 -1
  619. package/build/dist/Tests/UI/Components/Badge.test.js +0 -59
  620. package/build/dist/Tests/UI/Components/Badge.test.js.map +0 -1
  621. package/build/dist/Tests/UI/Components/BasicForm.test.js +0 -92
  622. package/build/dist/Tests/UI/Components/BasicForm.test.js.map +0 -1
  623. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js +0 -69
  624. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js.map +0 -1
  625. package/build/dist/Tests/UI/Components/Button.test.js +0 -104
  626. package/build/dist/Tests/UI/Components/Button.test.js.map +0 -1
  627. package/build/dist/Tests/UI/Components/Card.test.js +0 -81
  628. package/build/dist/Tests/UI/Components/Card.test.js.map +0 -1
  629. package/build/dist/Tests/UI/Components/ColorViewer.test.js +0 -42
  630. package/build/dist/Tests/UI/Components/ColorViewer.test.js.map +0 -1
  631. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +0 -233
  632. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +0 -1
  633. package/build/dist/Tests/UI/Components/ConfirmModal.test.js +0 -57
  634. package/build/dist/Tests/UI/Components/ConfirmModal.test.js.map +0 -1
  635. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js +0 -84
  636. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js.map +0 -1
  637. package/build/dist/Tests/UI/Components/Dropdown.test.js +0 -146
  638. package/build/dist/Tests/UI/Components/Dropdown.test.js.map +0 -1
  639. package/build/dist/Tests/UI/Components/DuplicateModel.test.js +0 -229
  640. package/build/dist/Tests/UI/Components/DuplicateModel.test.js.map +0 -1
  641. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js +0 -26
  642. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js.map +0 -1
  643. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js +0 -32
  644. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js.map +0 -1
  645. package/build/dist/Tests/UI/Components/FilePicker.test.js +0 -342
  646. package/build/dist/Tests/UI/Components/FilePicker.test.js.map +0 -1
  647. package/build/dist/Tests/UI/Components/HiddenText.test.js +0 -50
  648. package/build/dist/Tests/UI/Components/HiddenText.test.js.map +0 -1
  649. package/build/dist/Tests/UI/Components/Input.test.js +0 -223
  650. package/build/dist/Tests/UI/Components/Input.test.js.map +0 -1
  651. package/build/dist/Tests/UI/Components/Item.test.js +0 -58
  652. package/build/dist/Tests/UI/Components/Item.test.js.map +0 -1
  653. package/build/dist/Tests/UI/Components/List.test.js +0 -83
  654. package/build/dist/Tests/UI/Components/List.test.js.map +0 -1
  655. package/build/dist/Tests/UI/Components/Loader.test.js +0 -19
  656. package/build/dist/Tests/UI/Components/Loader.test.js.map +0 -1
  657. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js +0 -85
  658. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js.map +0 -1
  659. package/build/dist/Tests/UI/Components/MasterPage.test.js +0 -46
  660. package/build/dist/Tests/UI/Components/MasterPage.test.js.map +0 -1
  661. package/build/dist/Tests/UI/Components/Modal.test.js +0 -127
  662. package/build/dist/Tests/UI/Components/Modal.test.js.map +0 -1
  663. package/build/dist/Tests/UI/Components/NavBar.test.js +0 -52
  664. package/build/dist/Tests/UI/Components/NavBar.test.js.map +0 -1
  665. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js +0 -86
  666. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js.map +0 -1
  667. package/build/dist/Tests/UI/Components/Pagination.test.js +0 -137
  668. package/build/dist/Tests/UI/Components/Pagination.test.js.map +0 -1
  669. package/build/dist/Tests/UI/Components/Pill.test.js +0 -55
  670. package/build/dist/Tests/UI/Components/Pill.test.js.map +0 -1
  671. package/build/dist/Tests/UI/Components/Probe.test.js +0 -52
  672. package/build/dist/Tests/UI/Components/Probe.test.js.map +0 -1
  673. package/build/dist/Tests/UI/Components/ProgressBar.test.js +0 -41
  674. package/build/dist/Tests/UI/Components/ProgressBar.test.js.map +0 -1
  675. package/build/dist/Tests/UI/Components/RadioButtons.test.js +0 -66
  676. package/build/dist/Tests/UI/Components/RadioButtons.test.js.map +0 -1
  677. package/build/dist/Tests/UI/Components/SideMenuItem.test.js +0 -99
  678. package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +0 -1
  679. package/build/dist/Tests/UI/Components/SideOver.test.js +0 -77
  680. package/build/dist/Tests/UI/Components/SideOver.test.js.map +0 -1
  681. package/build/dist/Tests/UI/Components/Tabs.test.js +0 -56
  682. package/build/dist/Tests/UI/Components/Tabs.test.js.map +0 -1
  683. package/build/dist/Tests/UI/Components/Template/Template.test.js +0 -15
  684. package/build/dist/Tests/UI/Components/Template/Template.test.js.map +0 -1
  685. package/build/dist/Tests/UI/Components/TextArea.test.js +0 -112
  686. package/build/dist/Tests/UI/Components/TextArea.test.js.map +0 -1
  687. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js +0 -352
  688. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js.map +0 -1
  689. package/build/dist/Tests/UI/Components/Toast.test.js +0 -48
  690. package/build/dist/Tests/UI/Components/Toast.test.js.map +0 -1
  691. package/build/dist/Tests/UI/Components/Toggle.test.js +0 -95
  692. package/build/dist/Tests/UI/Components/Toggle.test.js.map +0 -1
  693. package/build/dist/Tests/UI/Components/TopSection.test.js +0 -33
  694. package/build/dist/Tests/UI/Components/TopSection.test.js.map +0 -1
  695. package/build/dist/Tests/UI/Components/XAxis.test.js +0 -21
  696. package/build/dist/Tests/UI/Components/XAxis.test.js.map +0 -1
  697. package/build/dist/Tests/UI/Index.js +0 -2
  698. package/build/dist/Tests/UI/Index.js.map +0 -1
  699. package/build/dist/Tests/UI/Mocks/FileMock.js +0 -3
  700. package/build/dist/Tests/UI/Mocks/FileMock.js.map +0 -1
  701. package/build/dist/Tests/Utils/API.test.js +0 -399
  702. package/build/dist/Tests/Utils/API.test.js.map +0 -1
  703. package/build/dist/Tests/Utils/Analytics.test.js +0 -67
  704. package/build/dist/Tests/Utils/Analytics.test.js.map +0 -1
  705. package/build/dist/Tests/Utils/CronTime.test.js +0 -22
  706. package/build/dist/Tests/Utils/CronTime.test.js.map +0 -1
  707. package/build/dist/Tests/Utils/Faker.test.js +0 -27
  708. package/build/dist/Tests/Utils/Faker.test.js.map +0 -1
  709. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +0 -187
  710. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +0 -1
  711. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +0 -224
  712. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +0 -1
  713. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +0 -180
  714. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +0 -1
  715. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +0 -142
  716. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +0 -1
  717. package/build/dist/Tests/Utils/Slug.test.js +0 -20
  718. package/build/dist/Tests/Utils/Slug.test.js.map +0 -1
  719. package/build/dist/Tests/Utils/UUID.test.js +0 -48
  720. package/build/dist/Tests/Utils/UUID.test.js.map +0 -1
  721. package/build/dist/Tests/jest.setup.js +0 -30
  722. package/build/dist/Tests/jest.setup.js.map +0 -1
  723. package/build/dist/Types/Profile/ProfileMetricType.js +0 -17
  724. package/build/dist/Types/Profile/ProfileMetricType.js.map +0 -1
@@ -3,6 +3,14 @@ import UUID from "../../Utils/UUID";
3
3
  const UUID_V4_REGEX: RegExp =
4
4
  /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
5
5
 
6
+ const UUID_V7_REGEX: RegExp =
7
+ /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
8
+
9
+ // First 12 hex chars (hyphen removed) = the 48-bit unix-ms timestamp prefix.
10
+ function timestampPrefixOf(uuid: string): number {
11
+ return parseInt(uuid.replace(/-/g, "").slice(0, 12), 16);
12
+ }
13
+
6
14
  describe("UUID", () => {
7
15
  test("UUID.generate() should generate a valid UUID", () => {
8
16
  const uuid: string = UUID.generate();
@@ -11,6 +19,45 @@ describe("UUID", () => {
11
19
  expect(uuid.length).toBe(36);
12
20
  });
13
21
 
22
+ test("UUID.generateTimeOrdered() should generate a valid UUIDv7", () => {
23
+ const uuid: string = UUID.generateTimeOrdered();
24
+ expect(uuid).toMatch(UUID_V7_REGEX);
25
+ expect(uuid.length).toBe(36);
26
+ });
27
+
28
+ test("UUID.generateTimeOrdered() prefix should encode the current unix-ms time", () => {
29
+ const before: number = Date.now();
30
+ const uuid: string = UUID.generateTimeOrdered();
31
+ const after: number = Date.now();
32
+
33
+ const prefix: number = timestampPrefixOf(uuid);
34
+ expect(prefix).toBeGreaterThanOrEqual(before);
35
+ expect(prefix).toBeLessThanOrEqual(after);
36
+ });
37
+
38
+ test("UUID.generateTimeOrdered() prefixes should be monotonically non-decreasing", async () => {
39
+ const first: string = UUID.generateTimeOrdered();
40
+
41
+ // Cross a millisecond boundary so the prefix strictly advances.
42
+ await new Promise((resolve: (value: unknown) => void) => {
43
+ setTimeout(resolve, 5);
44
+ });
45
+
46
+ const second: string = UUID.generateTimeOrdered();
47
+
48
+ expect(timestampPrefixOf(second)).toBeGreaterThan(timestampPrefixOf(first));
49
+ // Time-ordered ids sort lexicographically by generation time.
50
+ expect(second > first).toBe(true);
51
+
52
+ // Same burst: prefixes never go backwards.
53
+ let previous: number = timestampPrefixOf(UUID.generateTimeOrdered());
54
+ for (let i: number = 0; i < 100; i++) {
55
+ const current: number = timestampPrefixOf(UUID.generateTimeOrdered());
56
+ expect(current).toBeGreaterThanOrEqual(previous);
57
+ previous = current;
58
+ }
59
+ });
60
+
14
61
  test("UUID.generate() should fall back to getRandomValues when randomUUID is unavailable", () => {
15
62
  const cryptoObj: Crypto = globalThis.crypto;
16
63
  const originalRandomUUID: typeof cryptoObj.randomUUID =
@@ -1,12 +1,12 @@
1
1
  enum AnalyticsTableName {
2
- Log = "LogItemV2",
3
- Metric = "MetricItemV2",
4
- ExceptionInstance = "ExceptionItemV2",
5
- Span = "SpanItemV2",
6
- MonitorLog = "MonitorLogV2",
7
- Profile = "ProfileItemV2",
8
- ProfileSample = "ProfileSampleItemV2",
9
- AuditLog = "AuditLogV1",
2
+ Log = "LogItemV3",
3
+ Metric = "MetricItemV3",
4
+ ExceptionInstance = "ExceptionItemV3",
5
+ Span = "SpanItemV3",
6
+ MonitorLog = "MonitorLogV3",
7
+ Profile = "ProfileItemV3",
8
+ ProfileSample = "ProfileSampleItemV3",
9
+ AuditLog = "AuditLogV2",
10
10
  /*
11
11
  * Materialized-view target tables. These hold AggregateFunction
12
12
  * states populated by attached MVs on the source `Metric` table.
@@ -14,7 +14,12 @@ enum AnalyticsTableName {
14
14
  * named here (they aren't queried directly).
15
15
  */
16
16
  MetricItemAggMV1m = "MetricItemAggMV1m",
17
- MetricItemAggMV1mByHost = "MetricItemAggMV1mByHost",
17
+ /*
18
+ * Successor of MetricItemAggMV1mByHost (dropped by the
19
+ * RekeyMetricHostRollupToEntityKey migration), keyed by the stable
20
+ * hostEntityKey instead of the raw host.name spelling.
21
+ */
22
+ MetricItemAggMV1mByHostV2 = "MetricItemAggMV1mByHostV2",
18
23
  MetricBaselineHourly = "MetricBaselineHourly",
19
24
  }
20
25
 
@@ -38,6 +38,7 @@ enum ColumnType {
38
38
  * UInt sizes can be added if there's a reason.
39
39
  */
40
40
  UInt8 = "UInt8",
41
+ UInt64 = "UInt64",
41
42
  }
42
43
 
43
44
  export default ColumnType;
@@ -6,6 +6,7 @@ enum DashboardComponentType {
6
6
  Gauge = `Gauge`,
7
7
  LogStream = `LogStream`,
8
8
  TraceList = `TraceList`,
9
+ TraceChart = `TraceChart`,
9
10
  IncidentList = `IncidentList`,
10
11
  AlertList = `AlertList`,
11
12
  MonitorList = `MonitorList`,
@@ -0,0 +1,37 @@
1
+ import ObjectID from "../../ObjectID";
2
+ import DashboardComponentType from "../DashboardComponentType";
3
+ import BaseComponent from "./DashboardBaseComponent";
4
+
5
+ export default interface DashboardTraceChartComponent extends BaseComponent {
6
+ componentType: DashboardComponentType.TraceChart;
7
+ componentId: ObjectID;
8
+ arguments: {
9
+ title?: string | undefined;
10
+ /*
11
+ * Span aggregation to chart — one of the trace analytics metrics:
12
+ * count, errorCount, avgDuration, p50Duration, p90Duration,
13
+ * p95Duration, p99Duration, minDuration, maxDuration.
14
+ */
15
+ metric?: string | undefined;
16
+ // Substring filter on span name (e.g. "/Shipment/ShipShipment").
17
+ spanNameContains?: string | undefined;
18
+ /*
19
+ * Attribute equality filters, ANDed — "key=value; key2=value2"
20
+ * (e.g. "url.host=torginol.starship.online").
21
+ */
22
+ attributeFilters?: string | undefined;
23
+ /*
24
+ * Optional split dimension: a span attribute key (e.g. url.host,
25
+ * resource.service.instance.id) or a top-level column (name,
26
+ * primaryEntityId, statusCode, kind). One series per value.
27
+ */
28
+ groupByAttribute?: string | undefined;
29
+ // Cap on the number of series when split (default 10).
30
+ topLimit?: number | undefined;
31
+ /*
32
+ * Include non-root spans. Off by default so "Request Count" matches the
33
+ * traces explorer, which is root-spans-only.
34
+ */
35
+ includeChildSpans?: boolean | undefined;
36
+ };
37
+ }
@@ -15,11 +15,10 @@ import { DashboardValueTrendDirection } from "./DashboardComponents/DashboardVal
15
15
 
16
16
  /*
17
17
  * Trace / Exception / Profiles entries are intentionally not in this
18
- * enum: their metric catalogs (SpanMetricType, ExceptionMetricType,
19
- * ProfileMetricType) define names that are not emitted anywhere in the
20
- * codebase, so the templates only ever rendered empty widgets. Reach
21
- * for the Logs / Traces / Exceptions pages directly until those metrics
22
- * exist.
18
+ * enum: their metric catalogs (e.g. SpanMetricType, ExceptionMetricType)
19
+ * define names that are not emitted anywhere in the codebase, so the
20
+ * templates only ever rendered empty widgets. Reach for the Logs /
21
+ * Traces / Exceptions pages directly until those metrics exist.
23
22
  */
24
23
  export enum DashboardTemplateType {
25
24
  Blank = "Blank",
@@ -9,7 +9,7 @@
9
9
  * - Field-specific: `severity:error` → severityText = 'error'
10
10
  * - Attribute access: `@http.status_code:500` → attributes.http.status_code = '500'
11
11
  * - Negation (prefix): `-severity:debug` → severityText != 'debug'
12
- * - Wildcard: `service:api-*` → serviceId ILIKE 'api-%'
12
+ * - Wildcard: `service:api-*` → primaryEntityId ILIKE 'api-%'
13
13
  * - Numeric range: `@duration:>1000` → attributes.duration > 1000
14
14
  * - Boolean: `severity:error AND service:api` (AND is default between tokens)
15
15
  *
@@ -46,7 +46,7 @@ export interface ParsedToken {
46
46
  const FIELD_ALIASES: Record<string, string> = {
47
47
  severity: "severityText",
48
48
  level: "severityText",
49
- service: "serviceId",
49
+ service: "primaryEntityId",
50
50
  trace: "traceId",
51
51
  span: "spanId",
52
52
  message: "body",
@@ -19,7 +19,7 @@ import LessThanOrEqual from "../BaseDatabase/LessThanOrEqual";
19
19
  export interface LogFilter {
20
20
  body?: string | Search<string>;
21
21
  severityText?: string;
22
- serviceId?: string;
22
+ primaryEntityId?: string;
23
23
  traceId?: string;
24
24
  spanId?: string;
25
25
  attributes?: Record<string, unknown>;
@@ -28,7 +28,7 @@ export interface LogFilter {
28
28
 
29
29
  const TOP_LEVEL_FIELDS: Set<string> = new Set([
30
30
  "severityText",
31
- "serviceId",
31
+ "primaryEntityId",
32
32
  "traceId",
33
33
  "spanId",
34
34
  "body",
@@ -9,6 +9,13 @@ import ObjectID from "../ObjectID";
9
9
 
10
10
  export default interface MonitorStepExceptionMonitor {
11
11
  telemetryServiceIds: Array<ObjectID>;
12
+ /*
13
+ * Stable telemetry entity keys (host / pod / container / ...) — scopes
14
+ * the monitor to exceptions carrying any of these in their entityKeys
15
+ * column. Optional: monitors saved before this field existed have it
16
+ * undefined.
17
+ */
18
+ entityKeys?: Array<string> | undefined;
12
19
  exceptionTypes: Array<string>;
13
20
  message: string;
14
21
  includeResolved: boolean;
@@ -26,11 +33,19 @@ export class MonitorStepExceptionMonitorUtil {
26
33
  monitorStepExceptionMonitor.telemetryServiceIds &&
27
34
  monitorStepExceptionMonitor.telemetryServiceIds.length > 0
28
35
  ) {
29
- query.serviceId = new Includes(
36
+ query.primaryEntityId = new Includes(
30
37
  monitorStepExceptionMonitor.telemetryServiceIds,
31
38
  );
32
39
  }
33
40
 
41
+ // Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
42
+ if (
43
+ monitorStepExceptionMonitor.entityKeys &&
44
+ monitorStepExceptionMonitor.entityKeys.length > 0
45
+ ) {
46
+ query.entityKeys = new Includes(monitorStepExceptionMonitor.entityKeys);
47
+ }
48
+
34
49
  if (
35
50
  monitorStepExceptionMonitor.exceptionTypes &&
36
51
  monitorStepExceptionMonitor.exceptionTypes.length > 0
@@ -59,6 +74,7 @@ export class MonitorStepExceptionMonitorUtil {
59
74
  public static getDefault(): MonitorStepExceptionMonitor {
60
75
  return {
61
76
  telemetryServiceIds: [],
77
+ entityKeys: [],
62
78
  exceptionTypes: [],
63
79
  message: "",
64
80
  includeResolved: false,
@@ -72,6 +88,7 @@ export class MonitorStepExceptionMonitorUtil {
72
88
  telemetryServiceIds: ObjectID.fromJSONArray(
73
89
  (json["telemetryServiceIds"] as Array<JSONObject>) || [],
74
90
  ),
91
+ entityKeys: (json["entityKeys"] as Array<string>) || [],
75
92
  exceptionTypes: (json["exceptionTypes"] as Array<string>) || [],
76
93
  message: (json["message"] as string) || "",
77
94
  includeResolved: Boolean(json["includeResolved"]) || false,
@@ -84,6 +101,7 @@ export class MonitorStepExceptionMonitorUtil {
84
101
  public static toJSON(monitor: MonitorStepExceptionMonitor): JSONObject {
85
102
  return {
86
103
  telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
104
+ entityKeys: monitor.entityKeys || [],
87
105
  exceptionTypes: monitor.exceptionTypes,
88
106
  message: monitor.message,
89
107
  includeResolved: monitor.includeResolved,
@@ -14,6 +14,12 @@ export default interface MonitorStepLogMonitor {
14
14
  body: string;
15
15
  severityTexts: Array<LogSeverity>;
16
16
  telemetryServiceIds: Array<ObjectID>;
17
+ /*
18
+ * Stable telemetry entity keys (host / pod / container / ...) — scopes
19
+ * the monitor to logs carrying any of these in their entityKeys column.
20
+ * Optional: monitors saved before this field existed have it undefined.
21
+ */
22
+ entityKeys?: Array<string> | undefined;
17
23
  lastXSecondsOfLogs: number;
18
24
  }
19
25
 
@@ -27,7 +33,17 @@ export class MonitorStepLogMonitorUtil {
27
33
  monitorStepLogMonitor.telemetryServiceIds &&
28
34
  monitorStepLogMonitor.telemetryServiceIds.length > 0
29
35
  ) {
30
- query.serviceId = new Includes(monitorStepLogMonitor.telemetryServiceIds);
36
+ query.primaryEntityId = new Includes(
37
+ monitorStepLogMonitor.telemetryServiceIds,
38
+ );
39
+ }
40
+
41
+ // Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
42
+ if (
43
+ monitorStepLogMonitor.entityKeys &&
44
+ monitorStepLogMonitor.entityKeys.length > 0
45
+ ) {
46
+ query.entityKeys = new Includes(monitorStepLogMonitor.entityKeys);
31
47
  }
32
48
 
33
49
  if (
@@ -66,6 +82,7 @@ export class MonitorStepLogMonitorUtil {
66
82
  body: "",
67
83
  severityTexts: [],
68
84
  telemetryServiceIds: [],
85
+ entityKeys: [],
69
86
  lastXSecondsOfLogs: 60,
70
87
  };
71
88
  }
@@ -79,6 +96,7 @@ export class MonitorStepLogMonitorUtil {
79
96
  telemetryServiceIds: ObjectID.fromJSONArray(
80
97
  json["telemetryServiceIds"] as Array<JSONObject>,
81
98
  ),
99
+ entityKeys: (json["entityKeys"] as Array<string>) || [],
82
100
  lastXSecondsOfLogs: json["lastXSecondsOfLogs"] as number,
83
101
  };
84
102
  }
@@ -89,6 +107,7 @@ export class MonitorStepLogMonitorUtil {
89
107
  body: monitor.body,
90
108
  severityTexts: monitor.severityTexts,
91
109
  telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
110
+ entityKeys: monitor.entityKeys || [],
92
111
  lastXSecondsOfLogs: monitor.lastXSecondsOfLogs,
93
112
  };
94
113
  }
@@ -1,3 +1,6 @@
1
+ import Metric from "../../Models/AnalyticsModels/Metric";
2
+ import Includes from "../BaseDatabase/Includes";
3
+ import Query from "../BaseDatabase/Query";
1
4
  import { JSONObject } from "../JSON";
2
5
  import MetricsViewConfig from "../Metrics/MetricsViewConfig";
3
6
  import RollingTime from "../RollingTime/RollingTime";
@@ -5,6 +8,13 @@ import RollingTime from "../RollingTime/RollingTime";
5
8
  export default interface MonitorStepMetricMonitor {
6
9
  metricViewConfig: MetricsViewConfig;
7
10
  rollingTime: RollingTime;
11
+ /*
12
+ * Stable telemetry entity keys (host / pod / container / ...) — scopes
13
+ * every metric query in this step to rows carrying any of these in their
14
+ * entityKeys column. Optional: monitors saved before this field existed
15
+ * have it undefined.
16
+ */
17
+ entityKeys?: Array<string> | undefined;
8
18
  }
9
19
 
10
20
  export class MonitorStepMetricMonitorUtil {
@@ -15,9 +25,26 @@ export class MonitorStepMetricMonitorUtil {
15
25
  formulaConfigs: [],
16
26
  },
17
27
  rollingTime: RollingTime.Past1Minute,
28
+ entityKeys: [],
18
29
  };
19
30
  }
20
31
 
32
+ /*
33
+ * Stamps the step's entity scope onto a per-queryConfig Query<Metric>.
34
+ * Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is
35
+ * a no-op so monitors saved before the field existed are unaffected.
36
+ */
37
+ public static applyEntityScopeToQuery(
38
+ query: Query<Metric>,
39
+ monitor: MonitorStepMetricMonitor,
40
+ ): Query<Metric> {
41
+ if (monitor.entityKeys && monitor.entityKeys.length > 0) {
42
+ query.entityKeys = new Includes(monitor.entityKeys);
43
+ }
44
+
45
+ return query;
46
+ }
47
+
21
48
  public static fromJSON(json: JSONObject): MonitorStepMetricMonitor {
22
49
  return json as any as MonitorStepMetricMonitor;
23
50
  }
@@ -12,6 +12,13 @@ export default interface MonitorStepProfileMonitor {
12
12
  attributes: Dictionary<string | number | boolean>;
13
13
  profileTypes: Array<string>;
14
14
  telemetryServiceIds: Array<ObjectID>;
15
+ /*
16
+ * Stable telemetry entity keys (host / pod / container / ...) — scopes
17
+ * the monitor to profiles carrying any of these in their entityKeys
18
+ * column. Optional: monitors saved before this field existed have it
19
+ * undefined.
20
+ */
21
+ entityKeys?: Array<string> | undefined;
15
22
  lastXSecondsOfProfiles: number;
16
23
  profileType: string;
17
24
  }
@@ -26,11 +33,19 @@ export class MonitorStepProfileMonitorUtil {
26
33
  monitorStepProfileMonitor.telemetryServiceIds &&
27
34
  monitorStepProfileMonitor.telemetryServiceIds.length > 0
28
35
  ) {
29
- query.serviceId = new Includes(
36
+ query.primaryEntityId = new Includes(
30
37
  monitorStepProfileMonitor.telemetryServiceIds,
31
38
  );
32
39
  }
33
40
 
41
+ // Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
42
+ if (
43
+ monitorStepProfileMonitor.entityKeys &&
44
+ monitorStepProfileMonitor.entityKeys.length > 0
45
+ ) {
46
+ query.entityKeys = new Includes(monitorStepProfileMonitor.entityKeys);
47
+ }
48
+
34
49
  if (
35
50
  monitorStepProfileMonitor.attributes &&
36
51
  Object.keys(monitorStepProfileMonitor.attributes).length > 0
@@ -67,6 +82,7 @@ export class MonitorStepProfileMonitorUtil {
67
82
  profileType: "",
68
83
  profileTypes: [],
69
84
  telemetryServiceIds: [],
85
+ entityKeys: [],
70
86
  lastXSecondsOfProfiles: 60,
71
87
  };
72
88
  }
@@ -80,6 +96,7 @@ export class MonitorStepProfileMonitorUtil {
80
96
  telemetryServiceIds: ObjectID.fromJSONArray(
81
97
  json["telemetryServiceIds"] as Array<JSONObject>,
82
98
  ),
99
+ entityKeys: (json["entityKeys"] as Array<string>) || [],
83
100
  lastXSecondsOfProfiles: json["lastXSecondsOfProfiles"] as number,
84
101
  };
85
102
  }
@@ -90,6 +107,7 @@ export class MonitorStepProfileMonitorUtil {
90
107
  profileType: monitor.profileType,
91
108
  profileTypes: monitor.profileTypes,
92
109
  telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
110
+ entityKeys: monitor.entityKeys || [],
93
111
  lastXSecondsOfProfiles: monitor.lastXSecondsOfProfiles,
94
112
  };
95
113
  }
@@ -12,6 +12,12 @@ export default interface MonitorStepTraceMonitor {
12
12
  attributes: Dictionary<string | number | boolean>;
13
13
  spanStatuses: Array<SpanStatus>;
14
14
  telemetryServiceIds: Array<ObjectID>;
15
+ /*
16
+ * Stable telemetry entity keys (host / pod / container / ...) — scopes
17
+ * the monitor to spans carrying any of these in their entityKeys column.
18
+ * Optional: monitors saved before this field existed have it undefined.
19
+ */
20
+ entityKeys?: Array<string> | undefined;
15
21
  lastXSecondsOfSpans: number;
16
22
  spanName: string;
17
23
  }
@@ -26,11 +32,19 @@ export class MonitorStepTraceMonitorUtil {
26
32
  monitorStepTraceMonitor.telemetryServiceIds &&
27
33
  monitorStepTraceMonitor.telemetryServiceIds.length > 0
28
34
  ) {
29
- query.serviceId = new Includes(
35
+ query.primaryEntityId = new Includes(
30
36
  monitorStepTraceMonitor.telemetryServiceIds,
31
37
  );
32
38
  }
33
39
 
40
+ // Compiles to hasAny(entityKeys, [...]) server-side. Undefined/empty is a no-op.
41
+ if (
42
+ monitorStepTraceMonitor.entityKeys &&
43
+ monitorStepTraceMonitor.entityKeys.length > 0
44
+ ) {
45
+ query.entityKeys = new Includes(monitorStepTraceMonitor.entityKeys);
46
+ }
47
+
34
48
  if (
35
49
  monitorStepTraceMonitor.attributes &&
36
50
  Object.keys(monitorStepTraceMonitor.attributes).length > 0
@@ -67,6 +81,7 @@ export class MonitorStepTraceMonitorUtil {
67
81
  spanName: "",
68
82
  spanStatuses: [],
69
83
  telemetryServiceIds: [],
84
+ entityKeys: [],
70
85
  lastXSecondsOfSpans: 60,
71
86
  };
72
87
  }
@@ -80,6 +95,7 @@ export class MonitorStepTraceMonitorUtil {
80
95
  telemetryServiceIds: ObjectID.fromJSONArray(
81
96
  json["telemetryServiceIds"] as Array<JSONObject>,
82
97
  ),
98
+ entityKeys: (json["entityKeys"] as Array<string>) || [],
83
99
  lastXSecondsOfSpans: json["lastXSecondsOfSpans"] as number,
84
100
  };
85
101
  }
@@ -90,6 +106,7 @@ export class MonitorStepTraceMonitorUtil {
90
106
  spanName: monitor.spanName,
91
107
  spanStatuses: monitor.spanStatuses,
92
108
  telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
109
+ entityKeys: monitor.entityKeys || [],
93
110
  lastXSecondsOfSpans: monitor.lastXSecondsOfSpans,
94
111
  };
95
112
  }
@@ -106,7 +106,14 @@ export class MonitorTypeHelper {
106
106
  MonitorType.Metrics,
107
107
  MonitorType.Traces,
108
108
  MonitorType.Exceptions,
109
- MonitorType.Profiles,
109
+ /*
110
+ * MonitorType.Profiles is intentionally not offered here: the
111
+ * dashboard has no configuration form for the profile monitor
112
+ * step, so a Profiles monitor created from this picker would have
113
+ * no profileMonitor config and could never evaluate. Existing
114
+ * Profiles monitors keep working — the enum value, its props in
115
+ * getAllMonitorTypeProps, and worker-side evaluation all remain.
116
+ */
110
117
  ],
111
118
  },
112
119
  {
package/Types/ObjectID.ts CHANGED
@@ -52,6 +52,16 @@ export default class ObjectID extends DatabaseProperty {
52
52
  return new this(UUID.generate());
53
53
  }
54
54
 
55
+ /**
56
+ * Time-ordered id (RFC 9562 UUIDv7: 48-bit unix-ms prefix + random).
57
+ * Use for analytics-row `_id`s — time-ordered ids cluster ClickHouse
58
+ * inserts and compress dramatically better than random v4 UUIDs.
59
+ * Postgres entity ids keep using `generate()` (random v4).
60
+ */
61
+ public static generateTimeOrdered(): ObjectID {
62
+ return new this(UUID.generateTimeOrdered());
63
+ }
64
+
55
65
  public static toJSONArray(ids: Array<ObjectID>): Array<JSONObject> {
56
66
  if (!ids || ids.length === 0) {
57
67
  return [];
@@ -0,0 +1,31 @@
1
+ /*
2
+ * The relationship taxonomy between OpenTelemetry entities. The upstream
3
+ * OTel spec deliberately leaves entity relationships unstandardized
4
+ * ("refined in future specification work"), so OneUptime infers a small,
5
+ * durable set of directed relationships from resource co-occurrence — the
6
+ * entities that appear together in one resource are, by construction,
7
+ * related. See Internal/Docs/OpenTelemetryEntities.md §4.
8
+ */
9
+ enum EntityRelationshipType {
10
+ /** e.g. a pod runs on a node; a process runs on a host. */
11
+ RunsOn = "runs-on",
12
+ /** e.g. a pod / node / namespace is a member of a cluster. */
13
+ MemberOf = "member-of",
14
+ /** e.g. a service is hosted on a host. */
15
+ HostedOn = "hosted-on",
16
+ /** e.g. a container is part of a pod; a process is part of a container. */
17
+ PartOf = "part-of",
18
+ /** e.g. a service.instance is an instance of a service. */
19
+ InstanceOf = "instance-of",
20
+ /**
21
+ * Service → service dependency (the service map; the resurrected
22
+ * ServiceDependency capability). Unlike the co-occurrence types above,
23
+ * this is NOT inferred from one resource's entity set — caller and
24
+ * callee never share a resource. It is derived from parent/child span
25
+ * pairs that cross a service boundary (see the
26
+ * TelemetryEntity:ComputeServiceDependencies worker cron).
27
+ */
28
+ DependsOn = "depends-on",
29
+ }
30
+
31
+ export default EntityRelationshipType;
@@ -0,0 +1,33 @@
1
+ /*
2
+ * The vocabulary of OpenTelemetry-aligned entity types OneUptime can
3
+ * derive from a resource. One OTLP resource is a *composition* of many
4
+ * entities — a span can simultaneously belong to a `service`, a `host`,
5
+ * a `k8s.pod`, a `k8s.node`, a `k8s.cluster`, a `container` and a
6
+ * `process`. Each value is the entity's immutable `type` per the OTel
7
+ * entity data model (https://opentelemetry.io/docs/specs/otel/entities/).
8
+ *
9
+ * This is the broader *membership* vocabulary used by the `entityKeys`
10
+ * column on signals and by the `TelemetryEntity` registry. It is distinct
11
+ * from `ServiceType`, which is the narrower discriminator for a signal's
12
+ * single *primary* entity (`primaryEntityType`) and additionally covers
13
+ * OneUptime-specific primary owners (Monitor, RealUserMonitor, Unknown,
14
+ * ...) that are not OTel resource entities.
15
+ *
16
+ * The string values are the semconv-style dotted type names so they read
17
+ * naturally in stored identity sets and in the registry.
18
+ */
19
+ enum EntityType {
20
+ Service = "service",
21
+ ServiceInstance = "service.instance",
22
+ Host = "host",
23
+ Container = "container",
24
+ Process = "process",
25
+ KubernetesCluster = "k8s.cluster",
26
+ KubernetesNamespace = "k8s.namespace",
27
+ KubernetesNode = "k8s.node",
28
+ KubernetesPod = "k8s.pod",
29
+ KubernetesDeployment = "k8s.deployment",
30
+ TelemetrySdk = "telemetry.sdk",
31
+ }
32
+
33
+ export default EntityType;
@@ -23,4 +23,6 @@ export default interface TelemetrySavedViewState {
23
23
  timeRange?: TelemetrySavedViewTimeRange | undefined;
24
24
  // Rows per page.
25
25
  pageSize?: number | undefined;
26
+ // Traces explorer: root-spans-only toggle (defaults to true when absent).
27
+ rootOnly?: boolean | undefined;
26
28
  }
package/Types/Text.ts CHANGED
@@ -12,6 +12,40 @@ export default class Text {
12
12
  return hex;
13
13
  }
14
14
 
15
+ /**
16
+ * Matches an OTLP id already in hex form: 16 chars (8-byte span id)
17
+ * or 32 chars (16-byte trace/profile id).
18
+ */
19
+ private static readonly OTLP_HEX_ID_REGEX: RegExp =
20
+ /^(?:[0-9a-fA-F]{16}|[0-9a-fA-F]{32})$/;
21
+
22
+ /**
23
+ * Convert an OTLP wire id (trace / span / profile id) to lowercase hex.
24
+ *
25
+ * OTLP/protobuf carries ids as bytes, which protobuf decoders render
26
+ * as base64 strings — but OTLP/JSON carries the SAME fields as hex
27
+ * strings (32 chars for trace ids, 16 for span ids). Hex strings also
28
+ * satisfy the base64 alphabet, so feeding them to convertBase64ToHex
29
+ * would silently decode them into garbage bytes. Length disambiguates
30
+ * safely: the base64 form of an 8/16-byte id is always 12/24 chars,
31
+ * so a 16- or 32-char hex-only string can never be a base64 id.
32
+ */
33
+ public static convertOtlpIdToHex(value: string | undefined): string {
34
+ if (!value) {
35
+ return "";
36
+ }
37
+
38
+ if (Text.OTLP_HEX_ID_REGEX.test(value)) {
39
+ return value.toLowerCase();
40
+ }
41
+
42
+ try {
43
+ return Text.convertBase64ToHex(value);
44
+ } catch {
45
+ return "";
46
+ }
47
+ }
48
+
15
49
  public static getLetterFromAByNumber(number: number): string {
16
50
  return String.fromCharCode("a".charCodeAt(0) + number);
17
51
  }
@@ -8,6 +8,7 @@ enum TraceAggregationType {
8
8
  ErrorCount = "ErrorCount",
9
9
  AvgDurationSeconds = "AvgDurationSeconds",
10
10
  P50DurationSeconds = "P50DurationSeconds",
11
+ P90DurationSeconds = "P90DurationSeconds",
11
12
  P95DurationSeconds = "P95DurationSeconds",
12
13
  P99DurationSeconds = "P99DurationSeconds",
13
14
  MaxDurationSeconds = "MaxDurationSeconds",