@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
@@ -0,0 +1,48 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ /**
4
+ * Renames the polymorphic primary-entity columns on the two Postgres
5
+ * telemetry tables from `serviceId`/`serviceType` to
6
+ * `primaryEntityId`/`primaryEntityType`, mirroring the analytics-model
7
+ * rename (see Internal/Docs/RenameServiceIdToPrimaryEntityId.md).
8
+ *
9
+ * Postgres `RENAME COLUMN` automatically updates dependent objects
10
+ * (the `TelemetryException` unique index on
11
+ * (projectId, serviceId, fingerprint) and the `TelemetryUsageBilling`
12
+ * FK/JoinColumn), so no index/constraint drop+recreate is required.
13
+ */
14
+ export class RenameTelemetryServiceIdToPrimaryEntityId1781100000001
15
+ implements MigrationInterface
16
+ {
17
+ public name = "RenameTelemetryServiceIdToPrimaryEntityId1781100000001";
18
+
19
+ public async up(queryRunner: QueryRunner): Promise<void> {
20
+ await queryRunner.query(
21
+ `ALTER TABLE "TelemetryException" RENAME COLUMN "serviceId" TO "primaryEntityId"`,
22
+ );
23
+ await queryRunner.query(
24
+ `ALTER TABLE "TelemetryException" RENAME COLUMN "serviceType" TO "primaryEntityType"`,
25
+ );
26
+ await queryRunner.query(
27
+ `ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "serviceId" TO "primaryEntityId"`,
28
+ );
29
+ await queryRunner.query(
30
+ `ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "serviceType" TO "primaryEntityType"`,
31
+ );
32
+ }
33
+
34
+ public async down(queryRunner: QueryRunner): Promise<void> {
35
+ await queryRunner.query(
36
+ `ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "primaryEntityType" TO "serviceType"`,
37
+ );
38
+ await queryRunner.query(
39
+ `ALTER TABLE "TelemetryUsageBilling" RENAME COLUMN "primaryEntityId" TO "serviceId"`,
40
+ );
41
+ await queryRunner.query(
42
+ `ALTER TABLE "TelemetryException" RENAME COLUMN "primaryEntityType" TO "serviceType"`,
43
+ );
44
+ await queryRunner.query(
45
+ `ALTER TABLE "TelemetryException" RENAME COLUMN "primaryEntityId" TO "serviceId"`,
46
+ );
47
+ }
48
+ }
@@ -0,0 +1,70 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ /*
4
+ * Phase 2 of the OpenTelemetry entity model
5
+ * (Internal/Docs/OpenTelemetryEntities.md): the generalized, polymorphic
6
+ * `TelemetryEntity` registry. One row per (projectId, entityType,
7
+ * entityKey) — a service / host / k8s.pod / container / ... discovered from
8
+ * telemetry resource attributes and reconciled forward-only (no backfill)
9
+ * at ingest. The unique (projectId, entityType, entityKey) index is the
10
+ * upsert conflict target for the throttled ingest reconciler.
11
+ */
12
+ export class AddTelemetryEntityTable1781200000000
13
+ implements MigrationInterface
14
+ {
15
+ public name = "AddTelemetryEntityTable1781200000000";
16
+
17
+ public async up(queryRunner: QueryRunner): Promise<void> {
18
+ await queryRunner.query(
19
+ `CREATE TABLE "TelemetryEntity" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "entityType" character varying(100) NOT NULL, "entityKey" character varying(100) NOT NULL, "displayName" character varying(100), "identifyingAttributes" jsonb, "descriptiveAttributes" jsonb, "resourceType" character varying(100), "resourceId" uuid, "firstSeenAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_TelemetryEntity" PRIMARY KEY ("_id"))`,
20
+ );
21
+ await queryRunner.query(
22
+ `CREATE INDEX "IDX_TelemetryEntity_projectId" ON "TelemetryEntity" ("projectId") `,
23
+ );
24
+ await queryRunner.query(
25
+ `CREATE INDEX "IDX_TelemetryEntity_proj_type" ON "TelemetryEntity" ("projectId", "entityType") `,
26
+ );
27
+ await queryRunner.query(
28
+ `CREATE INDEX "IDX_TelemetryEntity_proj_resource" ON "TelemetryEntity" ("projectId", "resourceType", "resourceId") `,
29
+ );
30
+ await queryRunner.query(
31
+ `CREATE INDEX "IDX_TelemetryEntity_lastSeenAt" ON "TelemetryEntity" ("lastSeenAt") `,
32
+ );
33
+ await queryRunner.query(
34
+ `CREATE UNIQUE INDEX "UQ_TelemetryEntity_proj_type_key" ON "TelemetryEntity" ("projectId", "entityType", "entityKey") `,
35
+ );
36
+
37
+ /*
38
+ * resourceId is polymorphic (discriminated by resourceType), so it
39
+ * intentionally has no FK.
40
+ */
41
+ await queryRunner.query(
42
+ `ALTER TABLE "TelemetryEntity" ADD CONSTRAINT "FK_TelemetryEntity_project" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
43
+ );
44
+ await queryRunner.query(
45
+ `ALTER TABLE "TelemetryEntity" ADD CONSTRAINT "FK_TelemetryEntity_createdBy" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
46
+ );
47
+ await queryRunner.query(
48
+ `ALTER TABLE "TelemetryEntity" ADD CONSTRAINT "FK_TelemetryEntity_deletedBy" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
49
+ );
50
+ }
51
+
52
+ public async down(queryRunner: QueryRunner): Promise<void> {
53
+ await queryRunner.query(
54
+ `DROP INDEX "public"."UQ_TelemetryEntity_proj_type_key"`,
55
+ );
56
+ await queryRunner.query(
57
+ `DROP INDEX "public"."IDX_TelemetryEntity_lastSeenAt"`,
58
+ );
59
+ await queryRunner.query(
60
+ `DROP INDEX "public"."IDX_TelemetryEntity_proj_resource"`,
61
+ );
62
+ await queryRunner.query(
63
+ `DROP INDEX "public"."IDX_TelemetryEntity_proj_type"`,
64
+ );
65
+ await queryRunner.query(
66
+ `DROP INDEX "public"."IDX_TelemetryEntity_projectId"`,
67
+ );
68
+ await queryRunner.query(`DROP TABLE "TelemetryEntity"`);
69
+ }
70
+ }
@@ -0,0 +1,57 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ /*
4
+ * Phase 5 of the OpenTelemetry entity model
5
+ * (Internal/Docs/OpenTelemetryEntities.md §4): the `TelemetryEntityRelationship`
6
+ * topology graph. One row per directed co-occurrence edge
7
+ * (projectId, fromEntityKey, toEntityKey, relationshipType) — "pod runs-on
8
+ * node", "service hosted-on host", etc. Reconciled forward-only (no backfill)
9
+ * at ingest; the unique index is the upsert conflict target.
10
+ */
11
+ export class AddTelemetryEntityRelationshipTable1781200000001
12
+ implements MigrationInterface
13
+ {
14
+ public name = "AddTelemetryEntityRelationshipTable1781200000001";
15
+
16
+ public async up(queryRunner: QueryRunner): Promise<void> {
17
+ await queryRunner.query(
18
+ `CREATE TABLE "TelemetryEntityRelationship" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "fromEntityKey" character varying(100) NOT NULL, "toEntityKey" character varying(100) NOT NULL, "relationshipType" character varying(100) NOT NULL, "firstSeenAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_TelemetryEntityRelationship" PRIMARY KEY ("_id"))`,
19
+ );
20
+ await queryRunner.query(
21
+ `CREATE INDEX "IDX_TelEntityRel_projectId" ON "TelemetryEntityRelationship" ("projectId") `,
22
+ );
23
+ await queryRunner.query(
24
+ `CREATE INDEX "IDX_TelEntityRel_proj_from" ON "TelemetryEntityRelationship" ("projectId", "fromEntityKey") `,
25
+ );
26
+ await queryRunner.query(
27
+ `CREATE INDEX "IDX_TelEntityRel_proj_to" ON "TelemetryEntityRelationship" ("projectId", "toEntityKey") `,
28
+ );
29
+ await queryRunner.query(
30
+ `CREATE INDEX "IDX_TelEntityRel_lastSeenAt" ON "TelemetryEntityRelationship" ("lastSeenAt") `,
31
+ );
32
+ await queryRunner.query(
33
+ `CREATE UNIQUE INDEX "UQ_TelEntityRel_edge" ON "TelemetryEntityRelationship" ("projectId", "fromEntityKey", "toEntityKey", "relationshipType") `,
34
+ );
35
+
36
+ await queryRunner.query(
37
+ `ALTER TABLE "TelemetryEntityRelationship" ADD CONSTRAINT "FK_TelEntityRel_project" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
38
+ );
39
+ await queryRunner.query(
40
+ `ALTER TABLE "TelemetryEntityRelationship" ADD CONSTRAINT "FK_TelEntityRel_createdBy" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
41
+ );
42
+ await queryRunner.query(
43
+ `ALTER TABLE "TelemetryEntityRelationship" ADD CONSTRAINT "FK_TelEntityRel_deletedBy" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
44
+ );
45
+ }
46
+
47
+ public async down(queryRunner: QueryRunner): Promise<void> {
48
+ await queryRunner.query(`DROP INDEX "public"."UQ_TelEntityRel_edge"`);
49
+ await queryRunner.query(
50
+ `DROP INDEX "public"."IDX_TelEntityRel_lastSeenAt"`,
51
+ );
52
+ await queryRunner.query(`DROP INDEX "public"."IDX_TelEntityRel_proj_to"`);
53
+ await queryRunner.query(`DROP INDEX "public"."IDX_TelEntityRel_proj_from"`);
54
+ await queryRunner.query(`DROP INDEX "public"."IDX_TelEntityRel_projectId"`);
55
+ await queryRunner.query(`DROP TABLE "TelemetryEntityRelationship"`);
56
+ }
57
+ }
@@ -0,0 +1,207 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ export class MigrationName1781250074195 implements MigrationInterface {
4
+ public name = "MigrationName1781250074195";
5
+
6
+ public async up(queryRunner: QueryRunner): Promise<void> {
7
+ await queryRunner.query(
8
+ `DROP INDEX "public"."IDX_08a0cfa9f184257b1e57da4cf5"`,
9
+ );
10
+ await queryRunner.query(
11
+ `DROP INDEX "public"."IDX_1f55d43a0b73e883bb226158c7"`,
12
+ );
13
+ await queryRunner.query(
14
+ `DROP INDEX "public"."IDX_b9f49cd8318a35757fc843ee90"`,
15
+ );
16
+ await queryRunner.query(
17
+ `DROP INDEX "public"."IDX_TelemetryEntity_projectId"`,
18
+ );
19
+ await queryRunner.query(
20
+ `DROP INDEX "public"."IDX_TelemetryEntity_proj_type"`,
21
+ );
22
+ await queryRunner.query(
23
+ `DROP INDEX "public"."IDX_TelemetryEntity_proj_resource"`,
24
+ );
25
+ await queryRunner.query(
26
+ `DROP INDEX "public"."IDX_TelemetryEntity_lastSeenAt"`,
27
+ );
28
+ await queryRunner.query(
29
+ `DROP INDEX "public"."UQ_TelemetryEntity_proj_type_key"`,
30
+ );
31
+ await queryRunner.query(`DROP INDEX "public"."IDX_TelEntityRel_projectId"`);
32
+ await queryRunner.query(`DROP INDEX "public"."IDX_TelEntityRel_proj_from"`);
33
+ await queryRunner.query(`DROP INDEX "public"."IDX_TelEntityRel_proj_to"`);
34
+ await queryRunner.query(
35
+ `DROP INDEX "public"."IDX_TelEntityRel_lastSeenAt"`,
36
+ );
37
+ await queryRunner.query(`DROP INDEX "public"."UQ_TelEntityRel_edge"`);
38
+ await queryRunner.query(
39
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type":"Recurring","value":{"intervalType":"Day","intervalCount":{"_type":"PositiveNumber","value":1}}}'`,
40
+ );
41
+ await queryRunner.query(
42
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type":"RestrictionTimes","value":{"restictionType":"None","dayRestrictionTimes":null,"weeklyRestrictionTimes":[]}}'`,
43
+ );
44
+ await queryRunner.query(
45
+ `CREATE INDEX "IDX_bdfcf0032c1141eaeeafccd418" ON "TelemetryException" ("primaryEntityId") `,
46
+ );
47
+ await queryRunner.query(
48
+ `CREATE UNIQUE INDEX "IDX_812052e3d9ff70b549b2cd40e7" ON "TelemetryException" ("projectId", "primaryEntityId", "fingerprint") `,
49
+ );
50
+ await queryRunner.query(
51
+ `CREATE INDEX "IDX_c57a34423f8ee379eaea4779fc" ON "TelemetryUsageBilling" ("primaryEntityId") `,
52
+ );
53
+ await queryRunner.query(
54
+ `CREATE INDEX "IDX_4e1ef427f431558a59263d6463" ON "TelemetryEntity" ("projectId") `,
55
+ );
56
+ await queryRunner.query(
57
+ `CREATE INDEX "IDX_6f5b6d2bb634b2396f2dee6ab1" ON "TelemetryEntity" ("lastSeenAt") `,
58
+ );
59
+ await queryRunner.query(
60
+ `CREATE INDEX "IDX_64e28273ad4bc2543316ef82d2" ON "TelemetryEntity" ("projectId", "resourceType", "resourceId") `,
61
+ );
62
+ await queryRunner.query(
63
+ `CREATE INDEX "IDX_e2ad53c6527cd8d74a63d2fda7" ON "TelemetryEntity" ("projectId", "entityType") `,
64
+ );
65
+ await queryRunner.query(
66
+ `CREATE UNIQUE INDEX "IDX_cd0b36552d8224cbb200eedc4e" ON "TelemetryEntity" ("projectId", "entityType", "entityKey") `,
67
+ );
68
+ await queryRunner.query(
69
+ `CREATE INDEX "IDX_69e77606b8cd6b0a340b561ee8" ON "TelemetryEntityRelationship" ("projectId") `,
70
+ );
71
+ await queryRunner.query(
72
+ `CREATE INDEX "IDX_ff3c08f70cd90cd30909ab4508" ON "TelemetryEntityRelationship" ("lastSeenAt") `,
73
+ );
74
+ await queryRunner.query(
75
+ `CREATE INDEX "IDX_0207b1a581cc3b588835a526f5" ON "TelemetryEntityRelationship" ("projectId", "toEntityKey") `,
76
+ );
77
+ await queryRunner.query(
78
+ `CREATE INDEX "IDX_cf1de4c74c6034f957103e6434" ON "TelemetryEntityRelationship" ("projectId", "fromEntityKey") `,
79
+ );
80
+ await queryRunner.query(
81
+ `CREATE UNIQUE INDEX "IDX_1b26aa0f1dc0856218b446b82e" ON "TelemetryEntityRelationship" ("projectId", "fromEntityKey", "toEntityKey", "relationshipType") `,
82
+ );
83
+ await queryRunner.query(
84
+ `ALTER TABLE "TelemetryEntity" ADD CONSTRAINT "FK_4e1ef427f431558a59263d6463d" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
85
+ );
86
+ await queryRunner.query(
87
+ `ALTER TABLE "TelemetryEntity" ADD CONSTRAINT "FK_5c79b80b19265b19b2f40b3f6bb" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
88
+ );
89
+ await queryRunner.query(
90
+ `ALTER TABLE "TelemetryEntity" ADD CONSTRAINT "FK_28d95749a9f6f712448c371eb7d" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
91
+ );
92
+ await queryRunner.query(
93
+ `ALTER TABLE "TelemetryEntityRelationship" ADD CONSTRAINT "FK_69e77606b8cd6b0a340b561ee88" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`,
94
+ );
95
+ await queryRunner.query(
96
+ `ALTER TABLE "TelemetryEntityRelationship" ADD CONSTRAINT "FK_e3bcf3792c0290f28e0c151ff61" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
97
+ );
98
+ await queryRunner.query(
99
+ `ALTER TABLE "TelemetryEntityRelationship" ADD CONSTRAINT "FK_358f60285a6b280da4b7ce1703d" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`,
100
+ );
101
+ }
102
+
103
+ public async down(queryRunner: QueryRunner): Promise<void> {
104
+ await queryRunner.query(
105
+ `ALTER TABLE "TelemetryEntityRelationship" DROP CONSTRAINT "FK_358f60285a6b280da4b7ce1703d"`,
106
+ );
107
+ await queryRunner.query(
108
+ `ALTER TABLE "TelemetryEntityRelationship" DROP CONSTRAINT "FK_e3bcf3792c0290f28e0c151ff61"`,
109
+ );
110
+ await queryRunner.query(
111
+ `ALTER TABLE "TelemetryEntityRelationship" DROP CONSTRAINT "FK_69e77606b8cd6b0a340b561ee88"`,
112
+ );
113
+ await queryRunner.query(
114
+ `ALTER TABLE "TelemetryEntity" DROP CONSTRAINT "FK_28d95749a9f6f712448c371eb7d"`,
115
+ );
116
+ await queryRunner.query(
117
+ `ALTER TABLE "TelemetryEntity" DROP CONSTRAINT "FK_5c79b80b19265b19b2f40b3f6bb"`,
118
+ );
119
+ await queryRunner.query(
120
+ `ALTER TABLE "TelemetryEntity" DROP CONSTRAINT "FK_4e1ef427f431558a59263d6463d"`,
121
+ );
122
+ await queryRunner.query(
123
+ `DROP INDEX "public"."IDX_1b26aa0f1dc0856218b446b82e"`,
124
+ );
125
+ await queryRunner.query(
126
+ `DROP INDEX "public"."IDX_cf1de4c74c6034f957103e6434"`,
127
+ );
128
+ await queryRunner.query(
129
+ `DROP INDEX "public"."IDX_0207b1a581cc3b588835a526f5"`,
130
+ );
131
+ await queryRunner.query(
132
+ `DROP INDEX "public"."IDX_ff3c08f70cd90cd30909ab4508"`,
133
+ );
134
+ await queryRunner.query(
135
+ `DROP INDEX "public"."IDX_69e77606b8cd6b0a340b561ee8"`,
136
+ );
137
+ await queryRunner.query(
138
+ `DROP INDEX "public"."IDX_cd0b36552d8224cbb200eedc4e"`,
139
+ );
140
+ await queryRunner.query(
141
+ `DROP INDEX "public"."IDX_e2ad53c6527cd8d74a63d2fda7"`,
142
+ );
143
+ await queryRunner.query(
144
+ `DROP INDEX "public"."IDX_64e28273ad4bc2543316ef82d2"`,
145
+ );
146
+ await queryRunner.query(
147
+ `DROP INDEX "public"."IDX_6f5b6d2bb634b2396f2dee6ab1"`,
148
+ );
149
+ await queryRunner.query(
150
+ `DROP INDEX "public"."IDX_4e1ef427f431558a59263d6463"`,
151
+ );
152
+ await queryRunner.query(
153
+ `DROP INDEX "public"."IDX_c57a34423f8ee379eaea4779fc"`,
154
+ );
155
+ await queryRunner.query(
156
+ `DROP INDEX "public"."IDX_812052e3d9ff70b549b2cd40e7"`,
157
+ );
158
+ await queryRunner.query(
159
+ `DROP INDEX "public"."IDX_bdfcf0032c1141eaeeafccd418"`,
160
+ );
161
+ await queryRunner.query(
162
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "restrictionTimes" SET DEFAULT '{"_type": "RestrictionTimes", "value": {"restictionType": "None", "dayRestrictionTimes": null, "weeklyRestrictionTimes": []}}'`,
163
+ );
164
+ await queryRunner.query(
165
+ `ALTER TABLE "OnCallDutyPolicyScheduleLayer" ALTER COLUMN "rotation" SET DEFAULT '{"_type": "Recurring", "value": {"intervalType": "Day", "intervalCount": {"_type": "PositiveNumber", "value": 1}}}'`,
166
+ );
167
+ await queryRunner.query(
168
+ `CREATE UNIQUE INDEX "UQ_TelEntityRel_edge" ON "TelemetryEntityRelationship" ("projectId", "fromEntityKey", "toEntityKey", "relationshipType") `,
169
+ );
170
+ await queryRunner.query(
171
+ `CREATE INDEX "IDX_TelEntityRel_lastSeenAt" ON "TelemetryEntityRelationship" ("lastSeenAt") `,
172
+ );
173
+ await queryRunner.query(
174
+ `CREATE INDEX "IDX_TelEntityRel_proj_to" ON "TelemetryEntityRelationship" ("projectId", "toEntityKey") `,
175
+ );
176
+ await queryRunner.query(
177
+ `CREATE INDEX "IDX_TelEntityRel_proj_from" ON "TelemetryEntityRelationship" ("projectId", "fromEntityKey") `,
178
+ );
179
+ await queryRunner.query(
180
+ `CREATE INDEX "IDX_TelEntityRel_projectId" ON "TelemetryEntityRelationship" ("projectId") `,
181
+ );
182
+ await queryRunner.query(
183
+ `CREATE UNIQUE INDEX "UQ_TelemetryEntity_proj_type_key" ON "TelemetryEntity" ("projectId", "entityType", "entityKey") `,
184
+ );
185
+ await queryRunner.query(
186
+ `CREATE INDEX "IDX_TelemetryEntity_lastSeenAt" ON "TelemetryEntity" ("lastSeenAt") `,
187
+ );
188
+ await queryRunner.query(
189
+ `CREATE INDEX "IDX_TelemetryEntity_proj_resource" ON "TelemetryEntity" ("projectId", "resourceType", "resourceId") `,
190
+ );
191
+ await queryRunner.query(
192
+ `CREATE INDEX "IDX_TelemetryEntity_proj_type" ON "TelemetryEntity" ("projectId", "entityType") `,
193
+ );
194
+ await queryRunner.query(
195
+ `CREATE INDEX "IDX_TelemetryEntity_projectId" ON "TelemetryEntity" ("projectId") `,
196
+ );
197
+ await queryRunner.query(
198
+ `CREATE INDEX "IDX_b9f49cd8318a35757fc843ee90" ON "TelemetryUsageBilling" ("primaryEntityId") `,
199
+ );
200
+ await queryRunner.query(
201
+ `CREATE UNIQUE INDEX "IDX_1f55d43a0b73e883bb226158c7" ON "TelemetryException" ("projectId", "primaryEntityId", "fingerprint") `,
202
+ );
203
+ await queryRunner.query(
204
+ `CREATE INDEX "IDX_08a0cfa9f184257b1e57da4cf5" ON "TelemetryException" ("primaryEntityId") `,
205
+ );
206
+ }
207
+ }
@@ -0,0 +1,24 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ /*
4
+ * Entity model phase 2 follow-up (Internal/Docs/OpenTelemetryEntities.md):
5
+ * `TelemetryEntity.labels` — labels observed on the entity's telemetry
6
+ * (e.g. promoted from `oneuptime.label.*` resource attributes), merged as
7
+ * a set union by the ingest reconciler. Simple jsonb string array in v1;
8
+ * a relation to the Label table is a follow-up.
9
+ */
10
+ export class AddTelemetryEntityLabels1781300000000
11
+ implements MigrationInterface
12
+ {
13
+ public name = "AddTelemetryEntityLabels1781300000000";
14
+
15
+ public async up(queryRunner: QueryRunner): Promise<void> {
16
+ await queryRunner.query(`ALTER TABLE "TelemetryEntity" ADD "labels" jsonb`);
17
+ }
18
+
19
+ public async down(queryRunner: QueryRunner): Promise<void> {
20
+ await queryRunner.query(
21
+ `ALTER TABLE "TelemetryEntity" DROP COLUMN "labels"`,
22
+ );
23
+ }
24
+ }
@@ -0,0 +1,25 @@
1
+ import { MigrationInterface, QueryRunner } from "typeorm";
2
+
3
+ /*
4
+ * Adds Service.telemetrySdkLanguage (the telemetry.sdk.language resource
5
+ * attribute, e.g. java / dotnet / nodejs / python / go). Stamped at ingest
6
+ * alongside the other system-managed resource-attribute columns and used
7
+ * to pick technology-specific golden metrics on the service overview page.
8
+ */
9
+ export class AddServiceTelemetrySdkLanguage1781400000000
10
+ implements MigrationInterface
11
+ {
12
+ public name = "AddServiceTelemetrySdkLanguage1781400000000";
13
+
14
+ public async up(queryRunner: QueryRunner): Promise<void> {
15
+ await queryRunner.query(
16
+ `ALTER TABLE "Service" ADD "telemetrySdkLanguage" character varying(100)`,
17
+ );
18
+ }
19
+
20
+ public async down(queryRunner: QueryRunner): Promise<void> {
21
+ await queryRunner.query(
22
+ `ALTER TABLE "Service" DROP COLUMN "telemetrySdkLanguage"`,
23
+ );
24
+ }
25
+ }
@@ -378,6 +378,13 @@ import { AddRumApplicationRuleTables1780940998002 } from "./1780940998002-AddRum
378
378
  import { AddTelemetryResourceInventoryTables1780941762204 } from "./1780941762204-AddTelemetryResourceInventoryTables";
379
379
  import { AddRumApplicationSdkLanguage1780985763463 } from "./1780985763463-AddRumApplicationSdkLanguage";
380
380
  import { RecastCloudResourcesByEnvironment1780987192743 } from "./1780987192743-RecastCloudResourcesByEnvironment";
381
+ import { MigrationName1781011482945 } from "./1781011482945-MigrationName";
382
+ import { RenameTelemetryServiceIdToPrimaryEntityId1781100000001 } from "./1781100000001-RenameTelemetryServiceIdToPrimaryEntityId";
383
+ import { AddTelemetryEntityTable1781200000000 } from "./1781200000000-AddTelemetryEntityTable";
384
+ import { AddTelemetryEntityRelationshipTable1781200000001 } from "./1781200000001-AddTelemetryEntityRelationshipTable";
385
+ import { MigrationName1781250074195 } from "./1781250074195-MigrationName";
386
+ import { AddTelemetryEntityLabels1781300000000 } from "./1781300000000-AddTelemetryEntityLabels";
387
+ import { AddServiceTelemetrySdkLanguage1781400000000 } from "./1781400000000-AddServiceTelemetrySdkLanguage";
381
388
 
382
389
  export default [
383
390
  InitialMigration,
@@ -760,4 +767,11 @@ export default [
760
767
  AddTelemetryResourceInventoryTables1780941762204,
761
768
  AddRumApplicationSdkLanguage1780985763463,
762
769
  RecastCloudResourcesByEnvironment1780987192743,
770
+ MigrationName1781011482945,
771
+ RenameTelemetryServiceIdToPrimaryEntityId1781100000001,
772
+ AddTelemetryEntityTable1781200000000,
773
+ AddTelemetryEntityRelationshipTable1781200000001,
774
+ AddTelemetryEntityLabels1781300000000,
775
+ AddServiceTelemetrySdkLanguage1781400000000,
776
+ MigrationName1781250074195,
763
777
  ];
@@ -199,6 +199,26 @@ export default class Queue {
199
199
  * Sleep component's durable resume).
200
200
  */
201
201
  delayInMs?: number | undefined;
202
+ /**
203
+ * Total number of times BullMQ runs the job before marking it
204
+ * failed (1 = no retries). Defaults to 3 for the Telemetry queue
205
+ * (consumers there are idempotent via insert dedup tokens) and 1
206
+ * everywhere else, preserving prior behavior.
207
+ */
208
+ attempts?: number | undefined;
209
+ /**
210
+ * Base delay in milliseconds for exponential backoff between
211
+ * attempts (delay * 2^attempt). Only used when attempts > 1.
212
+ */
213
+ backoffDelayInMs?: number | undefined;
214
+ /**
215
+ * Skip the getJob()+remove() round trips that guard against
216
+ * duplicate job ids. Safe (and two Redis calls cheaper per
217
+ * enqueue) when the caller's job ids are globally unique, e.g.
218
+ * the telemetry enqueue path which suffixes ids with a unix-nano
219
+ * timestamp.
220
+ */
221
+ skipExistenceCheck?: boolean | undefined;
202
222
  },
203
223
  ): Promise<Job> {
204
224
  const sanitizedJobId: string = this.sanitizeJobId(jobId.toString());
@@ -211,6 +231,17 @@ export default class Queue {
211
231
  optionsObject.delay = options.delayInMs;
212
232
  }
213
233
 
234
+ const attempts: number =
235
+ options?.attempts ?? (queueName === QueueName.Telemetry ? 3 : 1);
236
+
237
+ if (attempts > 1) {
238
+ optionsObject.attempts = attempts;
239
+ optionsObject.backoff = {
240
+ type: "exponential",
241
+ delay: options?.backoffDelayInMs ?? 5000,
242
+ };
243
+ }
244
+
214
245
  const queue: BullQueue = this.getQueue(queueName);
215
246
 
216
247
  if (options && options.scheduleAt) {
@@ -233,10 +264,12 @@ export default class Queue {
233
264
  }
234
265
  }
235
266
 
236
- const job: Job | undefined = await queue.getJob(sanitizedJobId);
267
+ if (!options?.skipExistenceCheck) {
268
+ const job: Job | undefined = await queue.getJob(sanitizedJobId);
237
269
 
238
- if (job) {
239
- await job.remove();
270
+ if (job) {
271
+ await job.remove();
272
+ }
240
273
  }
241
274
 
242
275
  if (options?.repeatableKey) {
@@ -1,4 +1,4 @@
1
- import BadRequestException from "../../Types/Exception/BadRequestException";
1
+ import NotAuthenticatedException from "../../Types/Exception/NotAuthenticatedException";
2
2
  import ProductType from "../../Types/MeteredPlan/ProductType";
3
3
  import ObjectID from "../../Types/ObjectID";
4
4
  import {
@@ -27,8 +27,6 @@ export default class TelemetryIngest {
27
27
  try {
28
28
  // check header.
29
29
 
30
- const isOpenTelemetryAPI: boolean = req.path.includes("/otlp/v1");
31
-
32
30
  let oneuptimeToken: string | undefined = req.headers[
33
31
  "x-oneuptime-token"
34
32
  ] as string | undefined;
@@ -53,15 +51,20 @@ export default class TelemetryIngest {
53
51
  getLogAttributesFromRequest(req as any),
54
52
  );
55
53
 
56
- if (isOpenTelemetryAPI) {
57
- /*
58
- * then accept the response and return success.
59
- * do not return error because it causes Otel to retry the request.
60
- */
61
- return Response.sendEmptySuccessResponse(req, res);
62
- }
63
-
64
- throw new BadRequestException("Missing header: x-oneuptime-token");
54
+ /*
55
+ * 401 is deliberate: the OTLP spec classifies it as
56
+ * non-retryable, so compliant SDKs / collectors surface the
57
+ * error in their own logs instead of retry-storming. A silent
58
+ * 200 here would make the client believe the data landed and
59
+ * leave the user staring at empty dashboards with no clue why.
60
+ */
61
+ return Response.sendErrorResponse(
62
+ req,
63
+ res,
64
+ new NotAuthenticatedException(
65
+ "Missing ingestion token. Send your OneUptime telemetry ingestion key in the x-oneuptime-token header.",
66
+ ),
67
+ );
65
68
  }
66
69
 
67
70
  const projectId: ObjectID | null =
@@ -75,16 +78,18 @@ export default class TelemetryIngest {
75
78
  getLogAttributesFromRequest(req as any),
76
79
  );
77
80
 
78
- if (isOpenTelemetryAPI) {
79
- /*
80
- * then accept the response and return success.
81
- * do not return error because it causes Otel to retry the request.
82
- */
83
- return Response.sendEmptySuccessResponse(req, res);
84
- }
85
-
86
- throw new BadRequestException(
87
- "Invalid service token: " + oneuptimeToken,
81
+ /*
82
+ * 401 is deliberate (see the missing-token branch above): a
83
+ * silent 200 drops the payload while the client believes the
84
+ * export succeeded. The token value is logged server-side but
85
+ * intentionally not echoed back in the response body.
86
+ */
87
+ return Response.sendErrorResponse(
88
+ req,
89
+ res,
90
+ new NotAuthenticatedException(
91
+ "Invalid ingestion token. Send a valid OneUptime telemetry ingestion key in the x-oneuptime-token header.",
92
+ ),
88
93
  );
89
94
  }
90
95
 
@@ -1317,7 +1317,7 @@ ${alertSeverity.name}
1317
1317
  // delete all the alert metrics with this alert id because it's a refresh
1318
1318
  await MetricService.deleteBy({
1319
1319
  query: {
1320
- serviceId: data.alertId,
1320
+ primaryEntityId: data.alertId,
1321
1321
  },
1322
1322
  props: {
1323
1323
  isRoot: true,
@@ -1342,8 +1342,8 @@ ${alertSeverity.name}
1342
1342
  const alertCountMetric: Metric = new Metric();
1343
1343
 
1344
1344
  alertCountMetric.projectId = alert.projectId;
1345
- alertCountMetric.serviceId = alert.id!;
1346
- alertCountMetric.serviceType = ServiceType.Alert;
1345
+ alertCountMetric.primaryEntityId = alert.id!;
1346
+ alertCountMetric.primaryEntityType = ServiceType.Alert;
1347
1347
  alertCountMetric.name = AlertMetricType.AlertCount;
1348
1348
  alertCountMetric.value = 1;
1349
1349
  alertCountMetric.attributes = {
@@ -1391,8 +1391,8 @@ ${alertSeverity.name}
1391
1391
  const timeToAcknowledgeMetric: Metric = new Metric();
1392
1392
 
1393
1393
  timeToAcknowledgeMetric.projectId = alert.projectId;
1394
- timeToAcknowledgeMetric.serviceId = alert.id!;
1395
- timeToAcknowledgeMetric.serviceType = ServiceType.Alert;
1394
+ timeToAcknowledgeMetric.primaryEntityId = alert.id!;
1395
+ timeToAcknowledgeMetric.primaryEntityType = ServiceType.Alert;
1396
1396
  timeToAcknowledgeMetric.name = AlertMetricType.TimeToAcknowledge;
1397
1397
  timeToAcknowledgeMetric.value = OneUptimeDate.getDifferenceInSeconds(
1398
1398
  ackAlertStateTimeline?.startsAt || OneUptimeDate.getCurrentDate(),
@@ -1447,8 +1447,8 @@ ${alertSeverity.name}
1447
1447
  const timeToResolveMetric: Metric = new Metric();
1448
1448
 
1449
1449
  timeToResolveMetric.projectId = alert.projectId;
1450
- timeToResolveMetric.serviceId = alert.id!;
1451
- timeToResolveMetric.serviceType = ServiceType.Alert;
1450
+ timeToResolveMetric.primaryEntityId = alert.id!;
1451
+ timeToResolveMetric.primaryEntityType = ServiceType.Alert;
1452
1452
  timeToResolveMetric.name = AlertMetricType.TimeToResolve;
1453
1453
  timeToResolveMetric.value = OneUptimeDate.getDifferenceInSeconds(
1454
1454
  resolvedAlertStateTimeline?.startsAt ||
@@ -1498,8 +1498,8 @@ ${alertSeverity.name}
1498
1498
  lastAlertStateTimeline.startsAt || OneUptimeDate.getCurrentDate();
1499
1499
 
1500
1500
  alertDurationMetric.projectId = alert.projectId;
1501
- alertDurationMetric.serviceId = alert.id!;
1502
- alertDurationMetric.serviceType = ServiceType.Alert;
1501
+ alertDurationMetric.primaryEntityId = alert.id!;
1502
+ alertDurationMetric.primaryEntityType = ServiceType.Alert;
1503
1503
  alertDurationMetric.name = AlertMetricType.AlertDuration;
1504
1504
  alertDurationMetric.value = OneUptimeDate.getDifferenceInSeconds(
1505
1505
  alertEndsAt,