@oneuptime/common 10.8.1 → 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 (772) 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/CloudResourceInstance.ts +1 -2
  15. package/Models/DatabaseModels/CloudResourceOwnerTeam.ts +1 -2
  16. package/Models/DatabaseModels/CloudResourceOwnerUser.ts +1 -2
  17. package/Models/DatabaseModels/Index.ts +4 -0
  18. package/Models/DatabaseModels/Service.ts +29 -0
  19. package/Models/DatabaseModels/TelemetryEntity.ts +393 -0
  20. package/Models/DatabaseModels/TelemetryEntityRelationship.ts +294 -0
  21. package/Models/DatabaseModels/TelemetryException.ts +13 -12
  22. package/Models/DatabaseModels/TelemetryUsageBilling.ts +5 -5
  23. package/Server/API/AIAgentDataAPI.ts +13 -12
  24. package/Server/API/DashboardAPI.ts +2 -2
  25. package/Server/API/TelemetryAPI.ts +656 -141
  26. package/Server/API/TelemetryExceptionAPI.ts +2 -2
  27. package/Server/Infrastructure/ClickhouseConfig.ts +12 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1780931863719-AddTelemetryResourceMetadataColumns.ts +1 -3
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1780933132562-AddServerlessFunctionTables.ts +6 -2
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1780935387827-AddCloudResourceTables.ts +18 -6
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/1781011482945-MigrationName.ts +2317 -0
  32. package/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.ts +48 -0
  33. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.ts +70 -0
  34. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.ts +57 -0
  35. package/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.ts +207 -0
  36. package/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.ts +24 -0
  37. package/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.ts +25 -0
  38. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
  39. package/Server/Infrastructure/Queue.ts +36 -3
  40. package/Server/Middleware/TelemetryIngest.ts +27 -22
  41. package/Server/Services/AlertService.ts +9 -9
  42. package/Server/Services/AnalyticsDatabaseService.ts +204 -35
  43. package/Server/Services/CloudResourceLabelRuleEngineService.ts +4 -1
  44. package/Server/Services/CloudResourceOwnerRuleEngineService.ts +4 -1
  45. package/Server/Services/ExceptionAggregationService.ts +41 -18
  46. package/Server/Services/HostService.ts +2 -1
  47. package/Server/Services/IncidentService.ts +19 -19
  48. package/Server/Services/Index.ts +6 -2
  49. package/Server/Services/LogAggregationService.ts +116 -43
  50. package/Server/Services/MetricAggregationService.ts +29 -14
  51. package/Server/Services/MetricBaselineService.ts +34 -34
  52. package/Server/Services/MetricItemAggMV1mByHostV2Service.ts +30 -0
  53. package/Server/Services/MetricService.ts +119 -31
  54. package/Server/Services/OpenTelemetryIngestService.ts +189 -51
  55. package/Server/Services/ProfileAggregationService.ts +904 -126
  56. package/Server/Services/RumApplicationLabelRuleEngineService.ts +4 -1
  57. package/Server/Services/RumApplicationOwnerRuleEngineService.ts +4 -1
  58. package/Server/Services/ServerlessFunctionInstanceService.ts +4 -2
  59. package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +7 -2
  60. package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +7 -2
  61. package/Server/Services/ServiceService.ts +6 -0
  62. package/Server/Services/SpanService.ts +274 -14
  63. package/Server/Services/TelemetryEntityRelationshipService.ts +71 -0
  64. package/Server/Services/TelemetryEntityService.ts +246 -0
  65. package/Server/Services/TelemetryExceptionService.ts +27 -23
  66. package/Server/Services/TelemetryUsageBillingService.ts +38 -31
  67. package/Server/Services/TraceAggregationService.ts +875 -43
  68. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +43 -2
  69. package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -2
  70. package/Server/Types/Database/Permissions/BasePermission.ts +37 -1
  71. package/Server/Types/Database/Permissions/OwnedScopePermission.ts +21 -3
  72. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +1 -0
  73. package/Server/Types/Database/QueryHelper.ts +41 -0
  74. package/Server/Utils/Alert/AlertPrivacyFilter.ts +9 -2
  75. package/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.ts +9 -2
  76. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +95 -0
  77. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +133 -0
  78. package/Server/Utils/Incident/IncidentPrivacyFilter.ts +9 -2
  79. package/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.ts +9 -2
  80. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +1 -1
  81. package/Server/Utils/Monitor/MonitorLogUtil.ts +1 -2
  82. package/Server/Utils/Monitor/MonitorMetricUtil.ts +3 -4
  83. package/Server/Utils/PrivacyFilterUtil.ts +72 -0
  84. package/Server/Utils/Profile/PprofEncoder.ts +135 -11
  85. package/Server/Utils/Telemetry/EntityRegistry.ts +316 -0
  86. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +9 -3
  87. package/Server/Utils/Telemetry/TelemetryEntity.ts +783 -0
  88. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +79 -4
  89. package/Tests/Server/Services/LogAggregationService.test.ts +7 -2
  90. package/Tests/Server/Services/ProfileAggregationService.test.ts +280 -0
  91. package/Tests/Server/Services/ProfileBreakdown.test.ts +161 -0
  92. package/Tests/Server/Services/ProfileFunctionFocus.test.ts +349 -0
  93. package/Tests/Server/Services/TelemetryAttributeService.test.ts +1 -1
  94. package/Tests/Server/Services/TraceAggregationService.test.ts +403 -0
  95. package/Tests/Server/Types/AnalyticsDatabase/ModelPermissionOwnedScope.test.ts +114 -0
  96. package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +189 -0
  97. package/Tests/Server/Types/Database/Permissions/BasePermission.test.ts +118 -0
  98. package/Tests/Server/Types/Database/Permissions/OwnedScopePermission.test.ts +159 -0
  99. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +275 -8
  100. package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +177 -0
  101. package/Tests/Server/Utils/Profile/PprofEncoder.test.ts +276 -0
  102. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +761 -0
  103. package/Tests/Types/Monitor/MonitorStepEntityScope.test.ts +275 -0
  104. package/Tests/Types/Text.test.ts +52 -0
  105. package/Tests/Utils/Telemetry/EntityKey.test.ts +150 -0
  106. package/Tests/Utils/Telemetry/EntityKeySqlParity.test.ts +40 -0
  107. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +150 -0
  108. package/Tests/Utils/UUID.test.ts +47 -0
  109. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +14 -9
  110. package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
  111. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  112. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +37 -0
  113. package/Types/Dashboard/DashboardTemplates.ts +4 -5
  114. package/Types/Log/LogQueryParser.ts +2 -2
  115. package/Types/Log/LogQueryToFilter.ts +2 -2
  116. package/Types/Monitor/MonitorStepExceptionMonitor.ts +19 -1
  117. package/Types/Monitor/MonitorStepLogMonitor.ts +20 -1
  118. package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -0
  119. package/Types/Monitor/MonitorStepProfileMonitor.ts +19 -1
  120. package/Types/Monitor/MonitorStepTraceMonitor.ts +18 -1
  121. package/Types/Monitor/MonitorType.ts +8 -1
  122. package/Types/ObjectID.ts +10 -0
  123. package/Types/Permission.ts +4 -2
  124. package/Types/Telemetry/EntityRelationshipType.ts +31 -0
  125. package/Types/Telemetry/EntityType.ts +33 -0
  126. package/Types/Telemetry/TelemetrySavedViewState.ts +2 -0
  127. package/Types/Text.ts +34 -0
  128. package/Types/Trace/TraceAggregationType.ts +1 -0
  129. package/Types/Trace/TraceRecordingRuleDefinition.ts +74 -0
  130. package/UI/Components/BulkUpdate/BulkLabelActions.tsx +14 -14
  131. package/UI/Components/Forms/Fields/FormField.tsx +18 -12
  132. package/UI/Components/Input/Input.tsx +3 -1
  133. package/UI/Components/LogsViewer/LogsViewer.tsx +12 -9
  134. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +10 -9
  135. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +1 -1
  136. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
  137. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +4 -4
  138. package/UI/Components/LogsViewer/components/LogsTable.tsx +5 -3
  139. package/UI/Components/Navbar/NavBarMenuModal.tsx +81 -44
  140. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +33 -10
  141. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +18 -3
  142. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +91 -68
  143. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +9 -2
  144. package/UI/Components/TextArea/TextArea.tsx +3 -1
  145. package/UI/Components/Toast/Toast.tsx +4 -2
  146. package/UI/Utils/LogExport.ts +2 -2
  147. package/UI/Utils/TelemetryService.ts +20 -20
  148. package/Utils/Dashboard/Components/DashboardTraceChartComponent.ts +134 -0
  149. package/Utils/Dashboard/Components/Index.ts +7 -0
  150. package/Utils/Telemetry/EntityKey.ts +151 -0
  151. package/Utils/Telemetry/EntityRelationship.ts +113 -0
  152. package/Utils/Traces/CriticalPath.ts +7 -7
  153. package/Utils/UUID.ts +57 -0
  154. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +14 -13
  155. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  156. package/build/dist/Models/AnalyticsModels/AuditLog.js +2 -1
  157. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  158. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +125 -22
  159. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  160. package/build/dist/Models/AnalyticsModels/Index.js +7 -2
  161. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  162. package/build/dist/Models/AnalyticsModels/Log.js +123 -22
  163. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  164. package/build/dist/Models/AnalyticsModels/Metric.js +125 -27
  165. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  166. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +38 -21
  167. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  168. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +17 -16
  169. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  170. package/build/dist/Models/AnalyticsModels/{MetricItemAggMV1mByHost.js → MetricItemAggMV1mByHostV2.js} +54 -42
  171. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -0
  172. package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -1
  173. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  174. package/build/dist/Models/AnalyticsModels/Profile.js +132 -26
  175. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  176. package/build/dist/Models/AnalyticsModels/ProfileSample.js +121 -23
  177. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  178. package/build/dist/Models/AnalyticsModels/Span.js +144 -26
  179. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  180. package/build/dist/Models/DatabaseModels/CloudResourceInstance.js.map +1 -1
  181. package/build/dist/Models/DatabaseModels/CloudResourceOwnerTeam.js.map +1 -1
  182. package/build/dist/Models/DatabaseModels/CloudResourceOwnerUser.js.map +1 -1
  183. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  184. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  185. package/build/dist/Models/DatabaseModels/Service.js +30 -0
  186. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  187. package/build/dist/Models/DatabaseModels/TelemetryEntity.js +419 -0
  188. package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -0
  189. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +317 -0
  190. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -0
  191. package/build/dist/Models/DatabaseModels/TelemetryException.js +12 -12
  192. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  193. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +7 -7
  194. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  195. package/build/dist/Server/API/AIAgentDataAPI.js +14 -13
  196. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  197. package/build/dist/Server/API/DashboardAPI.js +2 -2
  198. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  199. package/build/dist/Server/API/TelemetryAPI.js +425 -129
  200. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  201. package/build/dist/Server/API/TelemetryExceptionAPI.js +2 -2
  202. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  203. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -0
  204. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  205. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1780931863719-AddTelemetryResourceMetadataColumns.js.map +1 -1
  206. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1780933132562-AddServerlessFunctionTables.js.map +1 -1
  207. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1780935387827-AddCloudResourceTables.js.map +1 -1
  208. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781011482945-MigrationName.js +798 -0
  209. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781011482945-MigrationName.js.map +1 -0
  210. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js +29 -0
  211. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js.map +1 -0
  212. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js +38 -0
  213. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js.map +1 -0
  214. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js +33 -0
  215. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js.map +1 -0
  216. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js +78 -0
  217. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js.map +1 -0
  218. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js +19 -0
  219. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js.map +1 -0
  220. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js +18 -0
  221. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js.map +1 -0
  222. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
  223. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  224. package/build/dist/Server/Infrastructure/Queue.js +14 -3
  225. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  226. package/build/dist/Server/Middleware/TelemetryIngest.js +16 -18
  227. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  228. package/build/dist/Server/Services/AlertService.js +9 -9
  229. package/build/dist/Server/Services/AlertService.js.map +1 -1
  230. package/build/dist/Server/Services/AnalyticsDatabaseService.js +115 -40
  231. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  232. package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
  233. package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
  234. package/build/dist/Server/Services/ExceptionAggregationService.js +38 -18
  235. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  236. package/build/dist/Server/Services/HostService.js +2 -1
  237. package/build/dist/Server/Services/HostService.js.map +1 -1
  238. package/build/dist/Server/Services/IncidentService.js +19 -19
  239. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  240. package/build/dist/Server/Services/Index.js +6 -2
  241. package/build/dist/Server/Services/Index.js.map +1 -1
  242. package/build/dist/Server/Services/LogAggregationService.js +100 -42
  243. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  244. package/build/dist/Server/Services/MetricAggregationService.js +27 -14
  245. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  246. package/build/dist/Server/Services/MetricBaselineService.js +28 -28
  247. package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
  248. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js +28 -0
  249. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js.map +1 -0
  250. package/build/dist/Server/Services/MetricService.js +116 -31
  251. package/build/dist/Server/Services/MetricService.js.map +1 -1
  252. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -36
  253. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  254. package/build/dist/Server/Services/ProfileAggregationService.js +613 -105
  255. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
  256. package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
  257. package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
  258. package/build/dist/Server/Services/ServerlessFunctionInstanceService.js +4 -2
  259. package/build/dist/Server/Services/ServerlessFunctionInstanceService.js.map +1 -1
  260. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +2 -1
  261. package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
  262. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +2 -1
  263. package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
  264. package/build/dist/Server/Services/ServiceService.js +9 -5
  265. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  266. package/build/dist/Server/Services/SpanService.js +217 -15
  267. package/build/dist/Server/Services/SpanService.js.map +1 -1
  268. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +72 -0
  269. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -0
  270. package/build/dist/Server/Services/TelemetryEntityService.js +201 -0
  271. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -0
  272. package/build/dist/Server/Services/TelemetryExceptionService.js +18 -18
  273. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  274. package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -21
  275. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  276. package/build/dist/Server/Services/TraceAggregationService.js +568 -43
  277. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  278. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +38 -2
  279. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  280. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +36 -2
  281. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  282. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +25 -1
  283. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  284. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +17 -3
  285. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
  286. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +1 -0
  287. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  288. package/build/dist/Server/Types/Database/QueryHelper.js +31 -0
  289. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  290. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +3 -2
  291. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
  292. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js +3 -2
  293. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js.map +1 -1
  294. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  295. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -0
  296. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +97 -3
  297. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  298. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +3 -2
  299. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
  300. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js +3 -2
  301. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js.map +1 -1
  302. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +1 -1
  303. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  304. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +1 -2
  305. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
  306. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +3 -4
  307. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  308. package/build/dist/Server/Utils/PrivacyFilterUtil.js +47 -0
  309. package/build/dist/Server/Utils/PrivacyFilterUtil.js.map +1 -0
  310. package/build/dist/Server/Utils/Profile/PprofEncoder.js +132 -4
  311. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -1
  312. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +228 -0
  313. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -0
  314. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +5 -0
  315. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  316. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +569 -0
  317. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -0
  318. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +14 -9
  319. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  320. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
  321. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  322. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  323. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  324. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js +2 -0
  325. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js.map +1 -0
  326. package/build/dist/Types/Dashboard/DashboardTemplates.js +4 -5
  327. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  328. package/build/dist/Types/Log/LogQueryParser.js +2 -2
  329. package/build/dist/Types/Log/LogQueryParser.js.map +1 -1
  330. package/build/dist/Types/Log/LogQueryToFilter.js +1 -1
  331. package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
  332. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +9 -1
  333. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -1
  334. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +9 -1
  335. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -1
  336. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +13 -0
  337. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  338. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +9 -1
  339. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -1
  340. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js +9 -1
  341. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js.map +1 -1
  342. package/build/dist/Types/Monitor/MonitorType.js +8 -1
  343. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  344. package/build/dist/Types/ObjectID.js +9 -0
  345. package/build/dist/Types/ObjectID.js.map +1 -1
  346. package/build/dist/Types/Permission.js.map +1 -1
  347. package/build/dist/Types/Telemetry/EntityRelationshipType.js +32 -0
  348. package/build/dist/Types/Telemetry/EntityRelationshipType.js.map +1 -0
  349. package/build/dist/Types/Telemetry/EntityType.js +34 -0
  350. package/build/dist/Types/Telemetry/EntityType.js.map +1 -0
  351. package/build/dist/Types/Text.js +32 -1
  352. package/build/dist/Types/Text.js.map +1 -1
  353. package/build/dist/Types/Trace/TraceAggregationType.js +1 -0
  354. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -1
  355. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +50 -1
  356. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -1
  357. package/build/dist/UI/Components/BulkUpdate/BulkLabelActions.js.map +1 -1
  358. package/build/dist/UI/Components/Forms/Fields/FormField.js +15 -12
  359. package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
  360. package/build/dist/UI/Components/Input/Input.js +3 -1
  361. package/build/dist/UI/Components/Input/Input.js.map +1 -1
  362. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +10 -9
  363. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  364. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +8 -8
  365. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  366. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +1 -1
  367. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  368. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +2 -2
  369. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  370. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +4 -4
  371. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  372. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +3 -3
  373. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  374. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +43 -30
  375. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  376. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +6 -2
  377. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  378. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -3
  379. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  380. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +18 -10
  381. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  382. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +4 -2
  383. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
  384. package/build/dist/UI/Components/TextArea/TextArea.js +3 -1
  385. package/build/dist/UI/Components/TextArea/TextArea.js.map +1 -1
  386. package/build/dist/UI/Components/Toast/Toast.js +4 -2
  387. package/build/dist/UI/Components/Toast/Toast.js.map +1 -1
  388. package/build/dist/UI/Utils/LogExport.js +2 -2
  389. package/build/dist/UI/Utils/LogExport.js.map +1 -1
  390. package/build/dist/UI/Utils/TelemetryService.js +16 -16
  391. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  392. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js +110 -0
  393. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js.map +1 -0
  394. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  395. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  396. package/build/dist/Utils/Telemetry/EntityKey.js +115 -0
  397. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -0
  398. package/build/dist/Utils/Telemetry/EntityRelationship.js +71 -0
  399. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -0
  400. package/build/dist/Utils/Traces/CriticalPath.js +5 -5
  401. package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
  402. package/build/dist/Utils/UUID.js +50 -0
  403. package/build/dist/Utils/UUID.js.map +1 -1
  404. package/package.json +2 -1
  405. package/tsconfig.json +10 -1
  406. package/Server/Services/MetricItemAggMV1mByHostService.ts +0 -30
  407. package/Types/Profile/ProfileMetricType.ts +0 -16
  408. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHost.js.map +0 -1
  409. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js +0 -28
  410. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js.map +0 -1
  411. package/build/dist/Tests/MockType.js +0 -5
  412. package/build/dist/Tests/MockType.js.map +0 -1
  413. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js +0 -12
  414. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js.map +0 -1
  415. package/build/dist/Tests/Models/File.test.js +0 -10
  416. package/build/dist/Tests/Models/File.test.js.map +0 -1
  417. package/build/dist/Tests/Server/API/BaseAPI.test.js +0 -590
  418. package/build/dist/Tests/Server/API/BaseAPI.test.js.map +0 -1
  419. package/build/dist/Tests/Server/API/Helpers.js +0 -27
  420. package/build/dist/Tests/Server/API/Helpers.js.map +0 -1
  421. package/build/dist/Tests/Server/API/ProbeAPI.test.js +0 -84
  422. package/build/dist/Tests/Server/API/ProbeAPI.test.js.map +0 -1
  423. package/build/dist/Tests/Server/API/ProjectAPI.test.js +0 -170
  424. package/build/dist/Tests/Server/API/ProjectAPI.test.js.map +0 -1
  425. package/build/dist/Tests/Server/API/UserSmsApi.test.js +0 -177
  426. package/build/dist/Tests/Server/API/UserSmsApi.test.js.map +0 -1
  427. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js +0 -63
  428. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js.map +0 -1
  429. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js +0 -58
  430. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js.map +0 -1
  431. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js +0 -101
  432. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js.map +0 -1
  433. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +0 -160
  434. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +0 -1
  435. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +0 -410
  436. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +0 -1
  437. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +0 -165
  438. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +0 -1
  439. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +0 -193
  440. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +0 -1
  441. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +0 -435
  442. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +0 -1
  443. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +0 -320
  444. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +0 -1
  445. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +0 -266
  446. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +0 -1
  447. package/build/dist/Tests/Server/Services/BillingService.test.js +0 -910
  448. package/build/dist/Tests/Server/Services/BillingService.test.js.map +0 -1
  449. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +0 -75
  450. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +0 -1
  451. package/build/dist/Tests/Server/Services/ProbeService.test.js +0 -127
  452. package/build/dist/Tests/Server/Services/ProbeService.test.js.map +0 -1
  453. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +0 -114
  454. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +0 -1
  455. package/build/dist/Tests/Server/Services/TeamMemberService.test.js +0 -106
  456. package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +0 -1
  457. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js +0 -50
  458. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js.map +0 -1
  459. package/build/dist/Tests/Server/TestingUtils/Init.js +0 -4
  460. package/build/dist/Tests/Server/TestingUtils/Init.js.map +0 -1
  461. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js +0 -9
  462. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js.map +0 -1
  463. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js +0 -16
  464. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js.map +0 -1
  465. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +0 -125
  466. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +0 -1
  467. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js +0 -39
  468. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js.map +0 -1
  469. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js +0 -20
  470. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js.map +0 -1
  471. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js +0 -31
  472. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js.map +0 -1
  473. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js +0 -14
  474. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js.map +0 -1
  475. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js +0 -21
  476. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js.map +0 -1
  477. package/build/dist/Tests/Server/TestingUtils/Services/Types.js +0 -2
  478. package/build/dist/Tests/Server/TestingUtils/Services/Types.js.map +0 -1
  479. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js +0 -37
  480. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js.map +0 -1
  481. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js +0 -13
  482. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js.map +0 -1
  483. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js +0 -22
  484. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js.map +0 -1
  485. package/build/dist/Tests/Server/Types/Domain.test.js +0 -78
  486. package/build/dist/Tests/Server/Types/Domain.test.js.map +0 -1
  487. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js +0 -94
  488. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js.map +0 -1
  489. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +0 -459
  490. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +0 -1
  491. package/build/dist/Tests/Server/Utils/Cookie.test.js +0 -83
  492. package/build/dist/Tests/Server/Utils/Cookie.test.js.map +0 -1
  493. package/build/dist/Tests/Server/Utils/CronTab.test.js +0 -29
  494. package/build/dist/Tests/Server/Utils/CronTab.test.js.map +0 -1
  495. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js +0 -114
  496. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js.map +0 -1
  497. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +0 -606
  498. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +0 -1
  499. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js +0 -255
  500. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js.map +0 -1
  501. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js +0 -142
  502. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js.map +0 -1
  503. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +0 -122
  504. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +0 -1
  505. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js +0 -0
  506. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js.map +0 -1
  507. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js +0 -205
  508. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js.map +0 -1
  509. package/build/dist/Tests/Spy.js +0 -4
  510. package/build/dist/Tests/Spy.js.map +0 -1
  511. package/build/dist/Tests/Types/API/ErrorResponse.test.js +0 -13
  512. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +0 -1
  513. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +0 -33
  514. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +0 -1
  515. package/build/dist/Tests/Types/API/HTTPMethod.test.js +0 -16
  516. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +0 -1
  517. package/build/dist/Tests/Types/API/Headers.test.js +0 -14
  518. package/build/dist/Tests/Types/API/Headers.test.js.map +0 -1
  519. package/build/dist/Tests/Types/API/Hostname.test.js +0 -22
  520. package/build/dist/Tests/Types/API/Hostname.test.js.map +0 -1
  521. package/build/dist/Tests/Types/API/Protocal.test.js +0 -19
  522. package/build/dist/Tests/Types/API/Protocal.test.js.map +0 -1
  523. package/build/dist/Tests/Types/API/Response.test.js +0 -14
  524. package/build/dist/Tests/Types/API/Response.test.js.map +0 -1
  525. package/build/dist/Tests/Types/API/ResponseType.test.js +0 -13
  526. package/build/dist/Tests/Types/API/ResponseType.test.js.map +0 -1
  527. package/build/dist/Tests/Types/API/Route.test.js +0 -30
  528. package/build/dist/Tests/Types/API/Route.test.js.map +0 -1
  529. package/build/dist/Tests/Types/API/StatusCode.test.js +0 -26
  530. package/build/dist/Tests/Types/API/StatusCode.test.js.map +0 -1
  531. package/build/dist/Tests/Types/API/URL.test.js +0 -33
  532. package/build/dist/Tests/Types/API/URL.test.js.map +0 -1
  533. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +0 -34
  534. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +0 -1
  535. package/build/dist/Tests/Types/Alerts/AlertType.test.js +0 -19
  536. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +0 -1
  537. package/build/dist/Tests/Types/AppEnvironment.test.js +0 -13
  538. package/build/dist/Tests/Types/AppEnvironment.test.js.map +0 -1
  539. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +0 -13
  540. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +0 -1
  541. package/build/dist/Tests/Types/ArrayUtil.test.js +0 -71
  542. package/build/dist/Tests/Types/ArrayUtil.test.js.map +0 -1
  543. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +0 -181
  544. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +0 -1
  545. package/build/dist/Tests/Types/BrandColors.test.js +0 -124
  546. package/build/dist/Tests/Types/BrandColors.test.js.map +0 -1
  547. package/build/dist/Tests/Types/Char.test.js +0 -82
  548. package/build/dist/Tests/Types/Char.test.js.map +0 -1
  549. package/build/dist/Tests/Types/Code/CodeType.test.js +0 -13
  550. package/build/dist/Tests/Types/Code/CodeType.test.js.map +0 -1
  551. package/build/dist/Tests/Types/Color.test.js +0 -44
  552. package/build/dist/Tests/Types/Color.test.js.map +0 -1
  553. package/build/dist/Tests/Types/Company/CompanySize.test.js +0 -20
  554. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +0 -1
  555. package/build/dist/Tests/Types/Company/JobRole.test.js +0 -22
  556. package/build/dist/Tests/Types/Company/JobRole.test.js.map +0 -1
  557. package/build/dist/Tests/Types/Countries.test.js +0 -249
  558. package/build/dist/Tests/Types/Countries.test.js.map +0 -1
  559. package/build/dist/Tests/Types/Database/ColumnLength.test.js +0 -43
  560. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +0 -1
  561. package/build/dist/Tests/Types/Database/ColumnType.test.js +0 -79
  562. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +0 -1
  563. package/build/dist/Tests/Types/Database/Columns.test.js +0 -20
  564. package/build/dist/Tests/Types/Database/Columns.test.js.map +0 -1
  565. package/build/dist/Tests/Types/Database/CompareBase.test.js +0 -37
  566. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +0 -1
  567. package/build/dist/Tests/Types/Database/Date.test.js +0 -62
  568. package/build/dist/Tests/Types/Database/Date.test.js.map +0 -1
  569. package/build/dist/Tests/Types/Database/EqualTo.test.js +0 -65
  570. package/build/dist/Tests/Types/Database/EqualTo.test.js.map +0 -1
  571. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +0 -62
  572. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +0 -1
  573. package/build/dist/Tests/Types/Database/InBetween.test.js +0 -72
  574. package/build/dist/Tests/Types/Database/InBetween.test.js.map +0 -1
  575. package/build/dist/Tests/Types/Database/LimitMax.test.js +0 -18
  576. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +0 -1
  577. package/build/dist/Tests/Types/Database/NotEqual.test.js +0 -19
  578. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +0 -1
  579. package/build/dist/Tests/Types/Database/Search.test.js +0 -10
  580. package/build/dist/Tests/Types/Database/Search.test.js.map +0 -1
  581. package/build/dist/Tests/Types/DatabaseType.test.js +0 -7
  582. package/build/dist/Tests/Types/DatabaseType.test.js.map +0 -1
  583. package/build/dist/Tests/Types/Date.test.js +0 -194
  584. package/build/dist/Tests/Types/Date.test.js.map +0 -1
  585. package/build/dist/Tests/Types/Dictionary.test.js +0 -25
  586. package/build/dist/Tests/Types/Dictionary.test.js.map +0 -1
  587. package/build/dist/Tests/Types/Domain.test.js +0 -54
  588. package/build/dist/Tests/Types/Domain.test.js.map +0 -1
  589. package/build/dist/Tests/Types/Email/Email.test.js +0 -51
  590. package/build/dist/Tests/Types/Email/Email.test.js.map +0 -1
  591. package/build/dist/Tests/Types/EmailWithName.test.js +0 -36
  592. package/build/dist/Tests/Types/EmailWithName.test.js.map +0 -1
  593. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +0 -7
  594. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +0 -1
  595. package/build/dist/Tests/Types/Exception/ApiException.test.js +0 -10
  596. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +0 -1
  597. package/build/dist/Tests/Types/Exception/BadDataException.test.js +0 -12
  598. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +0 -1
  599. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +0 -10
  600. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +0 -1
  601. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +0 -12
  602. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +0 -1
  603. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +0 -10
  604. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +0 -1
  605. package/build/dist/Tests/Types/Exception/Exception.test.js +0 -15
  606. package/build/dist/Tests/Types/Exception/Exception.test.js.map +0 -1
  607. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +0 -12
  608. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +0 -1
  609. package/build/dist/Tests/Types/File.test.js +0 -22
  610. package/build/dist/Tests/Types/File.test.js.map +0 -1
  611. package/build/dist/Tests/Types/HashedString.test.js +0 -51
  612. package/build/dist/Tests/Types/HashedString.test.js.map +0 -1
  613. package/build/dist/Tests/Types/Html.test.js +0 -8
  614. package/build/dist/Tests/Types/Html.test.js.map +0 -1
  615. package/build/dist/Tests/Types/IP/IP.test.js +0 -65
  616. package/build/dist/Tests/Types/IP/IP.test.js.map +0 -1
  617. package/build/dist/Tests/Types/IP/IPType.test.js +0 -10
  618. package/build/dist/Tests/Types/IP/IPType.test.js.map +0 -1
  619. package/build/dist/Tests/Types/IP/IPv4.test.js +0 -17
  620. package/build/dist/Tests/Types/IP/IPv4.test.js.map +0 -1
  621. package/build/dist/Tests/Types/IP/IPv6.test.js +0 -17
  622. package/build/dist/Tests/Types/IP/IPv6.test.js.map +0 -1
  623. package/build/dist/Tests/Types/JSON.test.js +0 -37
  624. package/build/dist/Tests/Types/JSON.test.js.map +0 -1
  625. package/build/dist/Tests/Types/JSONFunctions.test.js +0 -38
  626. package/build/dist/Tests/Types/JSONFunctions.test.js.map +0 -1
  627. package/build/dist/Tests/Types/ListData.test.js +0 -34
  628. package/build/dist/Tests/Types/ListData.test.js.map +0 -1
  629. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js +0 -121
  630. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js.map +0 -1
  631. package/build/dist/Tests/Types/Name.test.js +0 -26
  632. package/build/dist/Tests/Types/Name.test.js.map +0 -1
  633. package/build/dist/Tests/Types/ObjectID.test.js +0 -12
  634. package/build/dist/Tests/Types/ObjectID.test.js.map +0 -1
  635. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js +0 -530
  636. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js.map +0 -1
  637. package/build/dist/Tests/Types/Permission.test.js +0 -99
  638. package/build/dist/Tests/Types/Permission.test.js.map +0 -1
  639. package/build/dist/Tests/Types/Phone.test.js +0 -37
  640. package/build/dist/Tests/Types/Phone.test.js.map +0 -1
  641. package/build/dist/Tests/Types/Port.test.js +0 -35
  642. package/build/dist/Tests/Types/Port.test.js.map +0 -1
  643. package/build/dist/Tests/Types/PositiveNumber.test.js +0 -101
  644. package/build/dist/Tests/Types/PositiveNumber.test.js.map +0 -1
  645. package/build/dist/Tests/Types/SecuritySeverity.test.js +0 -16
  646. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +0 -1
  647. package/build/dist/Tests/Types/SerializableObject.test.js +0 -37
  648. package/build/dist/Tests/Types/SerializableObject.test.js.map +0 -1
  649. package/build/dist/Tests/Types/Sleep.test.js +0 -14
  650. package/build/dist/Tests/Types/Sleep.test.js.map +0 -1
  651. package/build/dist/Tests/Types/Text.test.js +0 -8
  652. package/build/dist/Tests/Types/Text.test.js.map +0 -1
  653. package/build/dist/Tests/Types/Timezone.test.js +0 -596
  654. package/build/dist/Tests/Types/Timezone.test.js.map +0 -1
  655. package/build/dist/Tests/Types/Typeof.test.js +0 -16
  656. package/build/dist/Tests/Types/Typeof.test.js.map +0 -1
  657. package/build/dist/Tests/Types/UserType.test.js +0 -16
  658. package/build/dist/Tests/Types/UserType.test.js.map +0 -1
  659. package/build/dist/Tests/Types/Version.test.js +0 -35
  660. package/build/dist/Tests/Types/Version.test.js.map +0 -1
  661. package/build/dist/Tests/Types/XML.test.js +0 -35
  662. package/build/dist/Tests/Types/XML.test.js.map +0 -1
  663. package/build/dist/Tests/UI/Components/404.test.js +0 -59
  664. package/build/dist/Tests/UI/Components/404.test.js.map +0 -1
  665. package/build/dist/Tests/UI/Components/Alert.test.js +0 -83
  666. package/build/dist/Tests/UI/Components/Alert.test.js.map +0 -1
  667. package/build/dist/Tests/UI/Components/Badge.test.js +0 -59
  668. package/build/dist/Tests/UI/Components/Badge.test.js.map +0 -1
  669. package/build/dist/Tests/UI/Components/BasicForm.test.js +0 -92
  670. package/build/dist/Tests/UI/Components/BasicForm.test.js.map +0 -1
  671. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js +0 -69
  672. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js.map +0 -1
  673. package/build/dist/Tests/UI/Components/Button.test.js +0 -104
  674. package/build/dist/Tests/UI/Components/Button.test.js.map +0 -1
  675. package/build/dist/Tests/UI/Components/Card.test.js +0 -81
  676. package/build/dist/Tests/UI/Components/Card.test.js.map +0 -1
  677. package/build/dist/Tests/UI/Components/ColorViewer.test.js +0 -42
  678. package/build/dist/Tests/UI/Components/ColorViewer.test.js.map +0 -1
  679. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +0 -233
  680. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +0 -1
  681. package/build/dist/Tests/UI/Components/ConfirmModal.test.js +0 -57
  682. package/build/dist/Tests/UI/Components/ConfirmModal.test.js.map +0 -1
  683. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js +0 -84
  684. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js.map +0 -1
  685. package/build/dist/Tests/UI/Components/Dropdown.test.js +0 -146
  686. package/build/dist/Tests/UI/Components/Dropdown.test.js.map +0 -1
  687. package/build/dist/Tests/UI/Components/DuplicateModel.test.js +0 -229
  688. package/build/dist/Tests/UI/Components/DuplicateModel.test.js.map +0 -1
  689. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js +0 -26
  690. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js.map +0 -1
  691. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js +0 -32
  692. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js.map +0 -1
  693. package/build/dist/Tests/UI/Components/FilePicker.test.js +0 -342
  694. package/build/dist/Tests/UI/Components/FilePicker.test.js.map +0 -1
  695. package/build/dist/Tests/UI/Components/HiddenText.test.js +0 -50
  696. package/build/dist/Tests/UI/Components/HiddenText.test.js.map +0 -1
  697. package/build/dist/Tests/UI/Components/Input.test.js +0 -223
  698. package/build/dist/Tests/UI/Components/Input.test.js.map +0 -1
  699. package/build/dist/Tests/UI/Components/Item.test.js +0 -58
  700. package/build/dist/Tests/UI/Components/Item.test.js.map +0 -1
  701. package/build/dist/Tests/UI/Components/List.test.js +0 -83
  702. package/build/dist/Tests/UI/Components/List.test.js.map +0 -1
  703. package/build/dist/Tests/UI/Components/Loader.test.js +0 -19
  704. package/build/dist/Tests/UI/Components/Loader.test.js.map +0 -1
  705. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js +0 -85
  706. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js.map +0 -1
  707. package/build/dist/Tests/UI/Components/MasterPage.test.js +0 -46
  708. package/build/dist/Tests/UI/Components/MasterPage.test.js.map +0 -1
  709. package/build/dist/Tests/UI/Components/Modal.test.js +0 -127
  710. package/build/dist/Tests/UI/Components/Modal.test.js.map +0 -1
  711. package/build/dist/Tests/UI/Components/NavBar.test.js +0 -52
  712. package/build/dist/Tests/UI/Components/NavBar.test.js.map +0 -1
  713. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js +0 -86
  714. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js.map +0 -1
  715. package/build/dist/Tests/UI/Components/Pagination.test.js +0 -137
  716. package/build/dist/Tests/UI/Components/Pagination.test.js.map +0 -1
  717. package/build/dist/Tests/UI/Components/Pill.test.js +0 -55
  718. package/build/dist/Tests/UI/Components/Pill.test.js.map +0 -1
  719. package/build/dist/Tests/UI/Components/Probe.test.js +0 -52
  720. package/build/dist/Tests/UI/Components/Probe.test.js.map +0 -1
  721. package/build/dist/Tests/UI/Components/ProgressBar.test.js +0 -41
  722. package/build/dist/Tests/UI/Components/ProgressBar.test.js.map +0 -1
  723. package/build/dist/Tests/UI/Components/RadioButtons.test.js +0 -66
  724. package/build/dist/Tests/UI/Components/RadioButtons.test.js.map +0 -1
  725. package/build/dist/Tests/UI/Components/SideMenuItem.test.js +0 -99
  726. package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +0 -1
  727. package/build/dist/Tests/UI/Components/SideOver.test.js +0 -77
  728. package/build/dist/Tests/UI/Components/SideOver.test.js.map +0 -1
  729. package/build/dist/Tests/UI/Components/Tabs.test.js +0 -56
  730. package/build/dist/Tests/UI/Components/Tabs.test.js.map +0 -1
  731. package/build/dist/Tests/UI/Components/Template/Template.test.js +0 -15
  732. package/build/dist/Tests/UI/Components/Template/Template.test.js.map +0 -1
  733. package/build/dist/Tests/UI/Components/TextArea.test.js +0 -112
  734. package/build/dist/Tests/UI/Components/TextArea.test.js.map +0 -1
  735. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js +0 -352
  736. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js.map +0 -1
  737. package/build/dist/Tests/UI/Components/Toast.test.js +0 -48
  738. package/build/dist/Tests/UI/Components/Toast.test.js.map +0 -1
  739. package/build/dist/Tests/UI/Components/Toggle.test.js +0 -95
  740. package/build/dist/Tests/UI/Components/Toggle.test.js.map +0 -1
  741. package/build/dist/Tests/UI/Components/TopSection.test.js +0 -33
  742. package/build/dist/Tests/UI/Components/TopSection.test.js.map +0 -1
  743. package/build/dist/Tests/UI/Components/XAxis.test.js +0 -21
  744. package/build/dist/Tests/UI/Components/XAxis.test.js.map +0 -1
  745. package/build/dist/Tests/UI/Index.js +0 -2
  746. package/build/dist/Tests/UI/Index.js.map +0 -1
  747. package/build/dist/Tests/UI/Mocks/FileMock.js +0 -3
  748. package/build/dist/Tests/UI/Mocks/FileMock.js.map +0 -1
  749. package/build/dist/Tests/Utils/API.test.js +0 -399
  750. package/build/dist/Tests/Utils/API.test.js.map +0 -1
  751. package/build/dist/Tests/Utils/Analytics.test.js +0 -67
  752. package/build/dist/Tests/Utils/Analytics.test.js.map +0 -1
  753. package/build/dist/Tests/Utils/CronTime.test.js +0 -22
  754. package/build/dist/Tests/Utils/CronTime.test.js.map +0 -1
  755. package/build/dist/Tests/Utils/Faker.test.js +0 -27
  756. package/build/dist/Tests/Utils/Faker.test.js.map +0 -1
  757. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +0 -187
  758. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +0 -1
  759. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +0 -224
  760. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +0 -1
  761. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +0 -180
  762. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +0 -1
  763. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +0 -142
  764. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +0 -1
  765. package/build/dist/Tests/Utils/Slug.test.js +0 -20
  766. package/build/dist/Tests/Utils/Slug.test.js.map +0 -1
  767. package/build/dist/Tests/Utils/UUID.test.js +0 -48
  768. package/build/dist/Tests/Utils/UUID.test.js.map +0 -1
  769. package/build/dist/Tests/jest.setup.js +0 -30
  770. package/build/dist/Tests/jest.setup.js.map +0 -1
  771. package/build/dist/Types/Profile/ProfileMetricType.js +0 -17
  772. 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 [];
@@ -7627,7 +7627,8 @@ export class PermissionHelper {
7627
7627
  {
7628
7628
  permission: Permission.EditRumApplication,
7629
7629
  title: "Edit RUM Application",
7630
- description: "This permission can edit RUM Application of this project.",
7630
+ description:
7631
+ "This permission can edit RUM Application of this project.",
7631
7632
  isAssignableToTenant: true,
7632
7633
  isAccessControlPermission: true,
7633
7634
  isRolePermission: false,
@@ -7636,7 +7637,8 @@ export class PermissionHelper {
7636
7637
  {
7637
7638
  permission: Permission.ReadRumApplication,
7638
7639
  title: "Read RUM Application",
7639
- description: "This permission can read RUM Application of this project.",
7640
+ description:
7641
+ "This permission can read RUM Application of this project.",
7640
7642
  isAssignableToTenant: true,
7641
7643
  isAccessControlPermission: true,
7642
7644
  isRolePermission: false,
@@ -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",