@oneuptime/common 10.8.2 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. package/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts +16 -18
  2. package/Models/AnalyticsModels/AuditLog.ts +3 -1
  3. package/Models/AnalyticsModels/ExceptionInstance.ts +200 -82
  4. package/Models/AnalyticsModels/Index.ts +7 -2
  5. package/Models/AnalyticsModels/Log.ts +197 -81
  6. package/Models/AnalyticsModels/Metric.ts +199 -86
  7. package/Models/AnalyticsModels/MetricBaselineHourly.ts +44 -25
  8. package/Models/AnalyticsModels/MetricItemAggMV1m.ts +23 -20
  9. package/Models/AnalyticsModels/{MetricItemAggMV1mByHost.ts → MetricItemAggMV1mByHostV2.ts} +58 -47
  10. package/Models/AnalyticsModels/MonitorLog.ts +5 -1
  11. package/Models/AnalyticsModels/Profile.ts +206 -85
  12. package/Models/AnalyticsModels/ProfileSample.ts +196 -83
  13. package/Models/AnalyticsModels/Span.ts +218 -85
  14. package/Models/DatabaseModels/Index.ts +4 -0
  15. package/Models/DatabaseModels/Service.ts +29 -0
  16. package/Models/DatabaseModels/TelemetryEntity.ts +393 -0
  17. package/Models/DatabaseModels/TelemetryEntityRelationship.ts +294 -0
  18. package/Models/DatabaseModels/TelemetryException.ts +10 -10
  19. package/Models/DatabaseModels/TelemetryUsageBilling.ts +5 -5
  20. package/Server/API/AIAgentDataAPI.ts +13 -12
  21. package/Server/API/DashboardAPI.ts +2 -2
  22. package/Server/API/TelemetryAPI.ts +656 -141
  23. package/Server/API/TelemetryExceptionAPI.ts +2 -2
  24. package/Server/Infrastructure/ClickhouseConfig.ts +12 -0
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.ts +48 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.ts +70 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.ts +57 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.ts +207 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.ts +24 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.ts +25 -0
  31. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
  32. package/Server/Infrastructure/Queue.ts +36 -3
  33. package/Server/Middleware/TelemetryIngest.ts +27 -22
  34. package/Server/Services/AlertService.ts +9 -9
  35. package/Server/Services/AnalyticsDatabaseService.ts +204 -35
  36. package/Server/Services/ExceptionAggregationService.ts +41 -18
  37. package/Server/Services/HostService.ts +2 -1
  38. package/Server/Services/IncidentService.ts +19 -19
  39. package/Server/Services/Index.ts +6 -2
  40. package/Server/Services/LogAggregationService.ts +116 -43
  41. package/Server/Services/MetricAggregationService.ts +29 -14
  42. package/Server/Services/MetricBaselineService.ts +34 -34
  43. package/Server/Services/MetricItemAggMV1mByHostV2Service.ts +30 -0
  44. package/Server/Services/MetricService.ts +119 -31
  45. package/Server/Services/OpenTelemetryIngestService.ts +186 -50
  46. package/Server/Services/ProfileAggregationService.ts +904 -126
  47. package/Server/Services/ServiceService.ts +6 -0
  48. package/Server/Services/SpanService.ts +274 -14
  49. package/Server/Services/TelemetryEntityRelationshipService.ts +71 -0
  50. package/Server/Services/TelemetryEntityService.ts +246 -0
  51. package/Server/Services/TelemetryExceptionService.ts +27 -23
  52. package/Server/Services/TelemetryUsageBillingService.ts +38 -31
  53. package/Server/Services/TraceAggregationService.ts +875 -43
  54. package/Server/Types/AnalyticsDatabase/ModelPermission.ts +43 -2
  55. package/Server/Types/Database/Permissions/AccessControlPermission.ts +47 -2
  56. package/Server/Types/Database/Permissions/BasePermission.ts +37 -1
  57. package/Server/Types/Database/Permissions/OwnedScopePermission.ts +21 -3
  58. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +1 -0
  59. package/Server/Types/Database/QueryHelper.ts +41 -0
  60. package/Server/Utils/Alert/AlertPrivacyFilter.ts +9 -2
  61. package/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.ts +9 -2
  62. package/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.ts +95 -0
  63. package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +133 -0
  64. package/Server/Utils/Incident/IncidentPrivacyFilter.ts +9 -2
  65. package/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.ts +9 -2
  66. package/Server/Utils/Monitor/Criteria/EvaluateOverTime.ts +1 -1
  67. package/Server/Utils/Monitor/MonitorLogUtil.ts +1 -2
  68. package/Server/Utils/Monitor/MonitorMetricUtil.ts +3 -4
  69. package/Server/Utils/PrivacyFilterUtil.ts +72 -0
  70. package/Server/Utils/Profile/PprofEncoder.ts +135 -11
  71. package/Server/Utils/Telemetry/EntityRegistry.ts +316 -0
  72. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +5 -0
  73. package/Server/Utils/Telemetry/TelemetryEntity.ts +783 -0
  74. package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +79 -4
  75. package/Tests/Server/Services/LogAggregationService.test.ts +7 -2
  76. package/Tests/Server/Services/ProfileAggregationService.test.ts +280 -0
  77. package/Tests/Server/Services/ProfileBreakdown.test.ts +161 -0
  78. package/Tests/Server/Services/ProfileFunctionFocus.test.ts +349 -0
  79. package/Tests/Server/Services/TelemetryAttributeService.test.ts +1 -1
  80. package/Tests/Server/Services/TraceAggregationService.test.ts +403 -0
  81. package/Tests/Server/Types/AnalyticsDatabase/ModelPermissionOwnedScope.test.ts +114 -0
  82. package/Tests/Server/Types/Database/Permissions/AccessControlPermission.test.ts +189 -0
  83. package/Tests/Server/Types/Database/Permissions/BasePermission.test.ts +118 -0
  84. package/Tests/Server/Types/Database/Permissions/OwnedScopePermission.test.ts +159 -0
  85. package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +275 -8
  86. package/Tests/Server/Utils/PrivacyFilterUtil.test.ts +177 -0
  87. package/Tests/Server/Utils/Profile/PprofEncoder.test.ts +276 -0
  88. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +761 -0
  89. package/Tests/Types/Monitor/MonitorStepEntityScope.test.ts +275 -0
  90. package/Tests/Types/Text.test.ts +52 -0
  91. package/Tests/Utils/ModelImportExport.test.ts +366 -0
  92. package/Tests/Utils/Telemetry/EntityKey.test.ts +150 -0
  93. package/Tests/Utils/Telemetry/EntityKeySqlParity.test.ts +40 -0
  94. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +150 -0
  95. package/Tests/Utils/UUID.test.ts +47 -0
  96. package/Types/AnalyticsDatabase/AnalyticsTableName.ts +14 -9
  97. package/Types/AnalyticsDatabase/TableColumnType.ts +1 -0
  98. package/Types/Dashboard/DashboardComponentType.ts +1 -0
  99. package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +37 -0
  100. package/Types/Dashboard/DashboardTemplates.ts +4 -5
  101. package/Types/Log/LogQueryParser.ts +2 -2
  102. package/Types/Log/LogQueryToFilter.ts +2 -2
  103. package/Types/Monitor/MonitorStepExceptionMonitor.ts +19 -1
  104. package/Types/Monitor/MonitorStepLogMonitor.ts +20 -1
  105. package/Types/Monitor/MonitorStepMetricMonitor.ts +27 -0
  106. package/Types/Monitor/MonitorStepProfileMonitor.ts +19 -1
  107. package/Types/Monitor/MonitorStepTraceMonitor.ts +18 -1
  108. package/Types/Monitor/MonitorType.ts +8 -1
  109. package/Types/ObjectID.ts +10 -0
  110. package/Types/Telemetry/EntityRelationshipType.ts +31 -0
  111. package/Types/Telemetry/EntityType.ts +33 -0
  112. package/Types/Telemetry/TelemetrySavedViewState.ts +2 -0
  113. package/Types/Text.ts +34 -0
  114. package/Types/Trace/TraceAggregationType.ts +1 -0
  115. package/Types/Trace/TraceRecordingRuleDefinition.ts +74 -0
  116. package/UI/Components/ImportExport/ExportModelCard.tsx +90 -0
  117. package/UI/Components/ImportExport/ImportModelsModal.tsx +239 -0
  118. package/UI/Components/LogsViewer/LogsViewer.tsx +12 -9
  119. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +10 -9
  120. package/UI/Components/LogsViewer/components/LogSearchBar.tsx +1 -1
  121. package/UI/Components/LogsViewer/components/LogsAnalyticsView.tsx +2 -2
  122. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +4 -4
  123. package/UI/Components/LogsViewer/components/LogsTable.tsx +5 -3
  124. package/UI/Components/ModelTable/ModelTable.tsx +294 -143
  125. package/UI/Components/Navbar/NavBarMenuModal.tsx +81 -44
  126. package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +33 -10
  127. package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +18 -3
  128. package/UI/Components/TelemetryViewer/components/TelemetryHistogram.tsx +91 -68
  129. package/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.tsx +9 -2
  130. package/UI/Utils/LogExport.ts +2 -2
  131. package/UI/Utils/ModelImportExport.ts +207 -0
  132. package/UI/Utils/TelemetryService.ts +20 -20
  133. package/Utils/Dashboard/Components/DashboardTraceChartComponent.ts +134 -0
  134. package/Utils/Dashboard/Components/Index.ts +7 -0
  135. package/Utils/ModelImportExport.ts +369 -0
  136. package/Utils/Telemetry/EntityKey.ts +151 -0
  137. package/Utils/Telemetry/EntityRelationship.ts +113 -0
  138. package/Utils/Traces/CriticalPath.ts +7 -7
  139. package/Utils/UUID.ts +57 -0
  140. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js +14 -13
  141. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -1
  142. package/build/dist/Models/AnalyticsModels/AuditLog.js +2 -1
  143. package/build/dist/Models/AnalyticsModels/AuditLog.js.map +1 -1
  144. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js +125 -22
  145. package/build/dist/Models/AnalyticsModels/ExceptionInstance.js.map +1 -1
  146. package/build/dist/Models/AnalyticsModels/Index.js +7 -2
  147. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
  148. package/build/dist/Models/AnalyticsModels/Log.js +123 -22
  149. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -1
  150. package/build/dist/Models/AnalyticsModels/Metric.js +125 -27
  151. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -1
  152. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js +38 -21
  153. package/build/dist/Models/AnalyticsModels/MetricBaselineHourly.js.map +1 -1
  154. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js +17 -16
  155. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1m.js.map +1 -1
  156. package/build/dist/Models/AnalyticsModels/{MetricItemAggMV1mByHost.js → MetricItemAggMV1mByHostV2.js} +54 -42
  157. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHostV2.js.map +1 -0
  158. package/build/dist/Models/AnalyticsModels/MonitorLog.js +4 -1
  159. package/build/dist/Models/AnalyticsModels/MonitorLog.js.map +1 -1
  160. package/build/dist/Models/AnalyticsModels/Profile.js +132 -26
  161. package/build/dist/Models/AnalyticsModels/Profile.js.map +1 -1
  162. package/build/dist/Models/AnalyticsModels/ProfileSample.js +121 -23
  163. package/build/dist/Models/AnalyticsModels/ProfileSample.js.map +1 -1
  164. package/build/dist/Models/AnalyticsModels/Span.js +144 -26
  165. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
  166. package/build/dist/Models/DatabaseModels/Index.js +4 -0
  167. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  168. package/build/dist/Models/DatabaseModels/Service.js +30 -0
  169. package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
  170. package/build/dist/Models/DatabaseModels/TelemetryEntity.js +419 -0
  171. package/build/dist/Models/DatabaseModels/TelemetryEntity.js.map +1 -0
  172. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js +317 -0
  173. package/build/dist/Models/DatabaseModels/TelemetryEntityRelationship.js.map +1 -0
  174. package/build/dist/Models/DatabaseModels/TelemetryException.js +12 -12
  175. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  176. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +7 -7
  177. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -1
  178. package/build/dist/Server/API/AIAgentDataAPI.js +14 -13
  179. package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
  180. package/build/dist/Server/API/DashboardAPI.js +2 -2
  181. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  182. package/build/dist/Server/API/TelemetryAPI.js +425 -129
  183. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  184. package/build/dist/Server/API/TelemetryExceptionAPI.js +2 -2
  185. package/build/dist/Server/API/TelemetryExceptionAPI.js.map +1 -1
  186. package/build/dist/Server/Infrastructure/ClickhouseConfig.js +12 -0
  187. package/build/dist/Server/Infrastructure/ClickhouseConfig.js.map +1 -1
  188. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js +29 -0
  189. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781100000001-RenameTelemetryServiceIdToPrimaryEntityId.js.map +1 -0
  190. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js +38 -0
  191. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000000-AddTelemetryEntityTable.js.map +1 -0
  192. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js +33 -0
  193. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781200000001-AddTelemetryEntityRelationshipTable.js.map +1 -0
  194. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js +78 -0
  195. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781250074195-MigrationName.js.map +1 -0
  196. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js +19 -0
  197. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781300000000-AddTelemetryEntityLabels.js.map +1 -0
  198. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js +18 -0
  199. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781400000000-AddServiceTelemetrySdkLanguage.js.map +1 -0
  200. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
  201. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  202. package/build/dist/Server/Infrastructure/Queue.js +14 -3
  203. package/build/dist/Server/Infrastructure/Queue.js.map +1 -1
  204. package/build/dist/Server/Middleware/TelemetryIngest.js +16 -18
  205. package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
  206. package/build/dist/Server/Services/AlertService.js +9 -9
  207. package/build/dist/Server/Services/AlertService.js.map +1 -1
  208. package/build/dist/Server/Services/AnalyticsDatabaseService.js +115 -40
  209. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  210. package/build/dist/Server/Services/ExceptionAggregationService.js +38 -18
  211. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  212. package/build/dist/Server/Services/HostService.js +2 -1
  213. package/build/dist/Server/Services/HostService.js.map +1 -1
  214. package/build/dist/Server/Services/IncidentService.js +19 -19
  215. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  216. package/build/dist/Server/Services/Index.js +6 -2
  217. package/build/dist/Server/Services/Index.js.map +1 -1
  218. package/build/dist/Server/Services/LogAggregationService.js +100 -42
  219. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  220. package/build/dist/Server/Services/MetricAggregationService.js +27 -14
  221. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  222. package/build/dist/Server/Services/MetricBaselineService.js +28 -28
  223. package/build/dist/Server/Services/MetricBaselineService.js.map +1 -1
  224. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js +28 -0
  225. package/build/dist/Server/Services/MetricItemAggMV1mByHostV2Service.js.map +1 -0
  226. package/build/dist/Server/Services/MetricService.js +116 -31
  227. package/build/dist/Server/Services/MetricService.js.map +1 -1
  228. package/build/dist/Server/Services/OpenTelemetryIngestService.js +103 -36
  229. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  230. package/build/dist/Server/Services/ProfileAggregationService.js +613 -105
  231. package/build/dist/Server/Services/ProfileAggregationService.js.map +1 -1
  232. package/build/dist/Server/Services/ServiceService.js +9 -5
  233. package/build/dist/Server/Services/ServiceService.js.map +1 -1
  234. package/build/dist/Server/Services/SpanService.js +217 -15
  235. package/build/dist/Server/Services/SpanService.js.map +1 -1
  236. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js +72 -0
  237. package/build/dist/Server/Services/TelemetryEntityRelationshipService.js.map +1 -0
  238. package/build/dist/Server/Services/TelemetryEntityService.js +201 -0
  239. package/build/dist/Server/Services/TelemetryEntityService.js.map +1 -0
  240. package/build/dist/Server/Services/TelemetryExceptionService.js +18 -18
  241. package/build/dist/Server/Services/TelemetryExceptionService.js.map +1 -1
  242. package/build/dist/Server/Services/TelemetryUsageBillingService.js +27 -21
  243. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  244. package/build/dist/Server/Services/TraceAggregationService.js +568 -43
  245. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  246. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js +38 -2
  247. package/build/dist/Server/Types/AnalyticsDatabase/ModelPermission.js.map +1 -1
  248. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js +36 -2
  249. package/build/dist/Server/Types/Database/Permissions/AccessControlPermission.js.map +1 -1
  250. package/build/dist/Server/Types/Database/Permissions/BasePermission.js +25 -1
  251. package/build/dist/Server/Types/Database/Permissions/BasePermission.js.map +1 -1
  252. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js +17 -3
  253. package/build/dist/Server/Types/Database/Permissions/OwnedScopePermission.js.map +1 -1
  254. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +1 -0
  255. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  256. package/build/dist/Server/Types/Database/QueryHelper.js +31 -0
  257. package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
  258. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js +3 -2
  259. package/build/dist/Server/Utils/Alert/AlertPrivacyFilter.js.map +1 -1
  260. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js +3 -2
  261. package/build/dist/Server/Utils/AlertEpisode/AlertEpisodePrivacyFilter.js.map +1 -1
  262. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js +46 -0
  263. package/build/dist/Server/Utils/AnalyticsDatabase/QuerySettingsHelper.js.map +1 -0
  264. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +97 -3
  265. package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
  266. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js +3 -2
  267. package/build/dist/Server/Utils/Incident/IncidentPrivacyFilter.js.map +1 -1
  268. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js +3 -2
  269. package/build/dist/Server/Utils/IncidentEpisode/IncidentEpisodePrivacyFilter.js.map +1 -1
  270. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js +1 -1
  271. package/build/dist/Server/Utils/Monitor/Criteria/EvaluateOverTime.js.map +1 -1
  272. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js +1 -2
  273. package/build/dist/Server/Utils/Monitor/MonitorLogUtil.js.map +1 -1
  274. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +3 -4
  275. package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
  276. package/build/dist/Server/Utils/PrivacyFilterUtil.js +47 -0
  277. package/build/dist/Server/Utils/PrivacyFilterUtil.js.map +1 -0
  278. package/build/dist/Server/Utils/Profile/PprofEncoder.js +132 -4
  279. package/build/dist/Server/Utils/Profile/PprofEncoder.js.map +1 -1
  280. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +228 -0
  281. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -0
  282. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +5 -0
  283. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  284. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +569 -0
  285. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -0
  286. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +14 -9
  287. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
  288. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +1 -0
  289. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  290. package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
  291. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  292. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js +2 -0
  293. package/build/dist/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.js.map +1 -0
  294. package/build/dist/Types/Dashboard/DashboardTemplates.js +4 -5
  295. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  296. package/build/dist/Types/Log/LogQueryParser.js +2 -2
  297. package/build/dist/Types/Log/LogQueryParser.js.map +1 -1
  298. package/build/dist/Types/Log/LogQueryToFilter.js +1 -1
  299. package/build/dist/Types/Log/LogQueryToFilter.js.map +1 -1
  300. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js +9 -1
  301. package/build/dist/Types/Monitor/MonitorStepExceptionMonitor.js.map +1 -1
  302. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +9 -1
  303. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -1
  304. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js +13 -0
  305. package/build/dist/Types/Monitor/MonitorStepMetricMonitor.js.map +1 -1
  306. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js +9 -1
  307. package/build/dist/Types/Monitor/MonitorStepProfileMonitor.js.map +1 -1
  308. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js +9 -1
  309. package/build/dist/Types/Monitor/MonitorStepTraceMonitor.js.map +1 -1
  310. package/build/dist/Types/Monitor/MonitorType.js +8 -1
  311. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  312. package/build/dist/Types/ObjectID.js +9 -0
  313. package/build/dist/Types/ObjectID.js.map +1 -1
  314. package/build/dist/Types/Telemetry/EntityRelationshipType.js +32 -0
  315. package/build/dist/Types/Telemetry/EntityRelationshipType.js.map +1 -0
  316. package/build/dist/Types/Telemetry/EntityType.js +34 -0
  317. package/build/dist/Types/Telemetry/EntityType.js.map +1 -0
  318. package/build/dist/Types/Text.js +32 -1
  319. package/build/dist/Types/Text.js.map +1 -1
  320. package/build/dist/Types/Trace/TraceAggregationType.js +1 -0
  321. package/build/dist/Types/Trace/TraceAggregationType.js.map +1 -1
  322. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js +50 -1
  323. package/build/dist/Types/Trace/TraceRecordingRuleDefinition.js.map +1 -1
  324. package/build/dist/UI/Components/ImportExport/ExportModelCard.js +50 -0
  325. package/build/dist/UI/Components/ImportExport/ExportModelCard.js.map +1 -0
  326. package/build/dist/UI/Components/ImportExport/ImportModelsModal.js +115 -0
  327. package/build/dist/UI/Components/ImportExport/ImportModelsModal.js.map +1 -0
  328. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +10 -9
  329. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  330. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +8 -8
  331. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -1
  332. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js +1 -1
  333. package/build/dist/UI/Components/LogsViewer/components/LogSearchBar.js.map +1 -1
  334. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js +2 -2
  335. package/build/dist/UI/Components/LogsViewer/components/LogsAnalyticsView.js.map +1 -1
  336. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +4 -4
  337. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  338. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +3 -3
  339. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -1
  340. package/build/dist/UI/Components/ModelTable/ModelTable.js +166 -74
  341. package/build/dist/UI/Components/ModelTable/ModelTable.js.map +1 -1
  342. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +43 -30
  343. package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
  344. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +6 -2
  345. package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
  346. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -3
  347. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
  348. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js +18 -10
  349. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogram.js.map +1 -1
  350. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js +4 -2
  351. package/build/dist/UI/Components/TelemetryViewer/components/TelemetryHistogramTooltip.js.map +1 -1
  352. package/build/dist/UI/Utils/LogExport.js +2 -2
  353. package/build/dist/UI/Utils/LogExport.js.map +1 -1
  354. package/build/dist/UI/Utils/ModelImportExport.js +142 -0
  355. package/build/dist/UI/Utils/ModelImportExport.js.map +1 -0
  356. package/build/dist/UI/Utils/TelemetryService.js +16 -16
  357. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  358. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js +110 -0
  359. package/build/dist/Utils/Dashboard/Components/DashboardTraceChartComponent.js.map +1 -0
  360. package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
  361. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  362. package/build/dist/Utils/ModelImportExport.js +257 -0
  363. package/build/dist/Utils/ModelImportExport.js.map +1 -0
  364. package/build/dist/Utils/Telemetry/EntityKey.js +115 -0
  365. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -0
  366. package/build/dist/Utils/Telemetry/EntityRelationship.js +71 -0
  367. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -0
  368. package/build/dist/Utils/Traces/CriticalPath.js +5 -5
  369. package/build/dist/Utils/Traces/CriticalPath.js.map +1 -1
  370. package/build/dist/Utils/UUID.js +50 -0
  371. package/build/dist/Utils/UUID.js.map +1 -1
  372. package/package.json +2 -1
  373. package/tsconfig.json +10 -1
  374. package/Server/Services/MetricItemAggMV1mByHostService.ts +0 -30
  375. package/Types/Profile/ProfileMetricType.ts +0 -16
  376. package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByHost.js.map +0 -1
  377. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js +0 -28
  378. package/build/dist/Server/Services/MetricItemAggMV1mByHostService.js.map +0 -1
  379. package/build/dist/Tests/MockType.js +0 -5
  380. package/build/dist/Tests/MockType.js.map +0 -1
  381. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js +0 -12
  382. package/build/dist/Tests/Models/AnalyticsModels/Log.test.js.map +0 -1
  383. package/build/dist/Tests/Models/File.test.js +0 -10
  384. package/build/dist/Tests/Models/File.test.js.map +0 -1
  385. package/build/dist/Tests/Server/API/BaseAPI.test.js +0 -590
  386. package/build/dist/Tests/Server/API/BaseAPI.test.js.map +0 -1
  387. package/build/dist/Tests/Server/API/Helpers.js +0 -27
  388. package/build/dist/Tests/Server/API/Helpers.js.map +0 -1
  389. package/build/dist/Tests/Server/API/ProbeAPI.test.js +0 -84
  390. package/build/dist/Tests/Server/API/ProbeAPI.test.js.map +0 -1
  391. package/build/dist/Tests/Server/API/ProjectAPI.test.js +0 -170
  392. package/build/dist/Tests/Server/API/ProjectAPI.test.js.map +0 -1
  393. package/build/dist/Tests/Server/API/UserSmsApi.test.js +0 -177
  394. package/build/dist/Tests/Server/API/UserSmsApi.test.js.map +0 -1
  395. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js +0 -63
  396. package/build/dist/Tests/Server/Middleware/BearerTokenAuthorization.test.js.map +0 -1
  397. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js +0 -58
  398. package/build/dist/Tests/Server/Middleware/ClusterKeyAuthorization.test.js.map +0 -1
  399. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js +0 -101
  400. package/build/dist/Tests/Server/Middleware/NotificationMiddleware.test.js.map +0 -1
  401. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js +0 -160
  402. package/build/dist/Tests/Server/Middleware/ProjectAuthorization.test.js.map +0 -1
  403. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js +0 -410
  404. package/build/dist/Tests/Server/Middleware/UserAuthorization.test.js.map +0 -1
  405. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js +0 -165
  406. package/build/dist/Tests/Server/Services/AlertEpisodeMemberService.test.js.map +0 -1
  407. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js +0 -193
  408. package/build/dist/Tests/Server/Services/AlertEpisodeService.test.js.map +0 -1
  409. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js +0 -435
  410. package/build/dist/Tests/Server/Services/AlertGroupingEngineService.test.js.map +0 -1
  411. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js +0 -320
  412. package/build/dist/Tests/Server/Services/AlertGroupingRuleService.test.js.map +0 -1
  413. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js +0 -266
  414. package/build/dist/Tests/Server/Services/AnalyticsDatabaseService.test.js.map +0 -1
  415. package/build/dist/Tests/Server/Services/BillingService.test.js +0 -910
  416. package/build/dist/Tests/Server/Services/BillingService.test.js.map +0 -1
  417. package/build/dist/Tests/Server/Services/LogAggregationService.test.js +0 -75
  418. package/build/dist/Tests/Server/Services/LogAggregationService.test.js.map +0 -1
  419. package/build/dist/Tests/Server/Services/ProbeService.test.js +0 -127
  420. package/build/dist/Tests/Server/Services/ProbeService.test.js.map +0 -1
  421. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js +0 -114
  422. package/build/dist/Tests/Server/Services/ScheduledMaintenanceService.test.js.map +0 -1
  423. package/build/dist/Tests/Server/Services/TeamMemberService.test.js +0 -106
  424. package/build/dist/Tests/Server/Services/TeamMemberService.test.js.map +0 -1
  425. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js +0 -50
  426. package/build/dist/Tests/Server/Services/TelemetryAttributeService.test.js.map +0 -1
  427. package/build/dist/Tests/Server/TestingUtils/Init.js +0 -4
  428. package/build/dist/Tests/Server/TestingUtils/Init.js.map +0 -1
  429. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js +0 -9
  430. package/build/dist/Tests/Server/TestingUtils/Postgres/TestDataSourceOptions.js.map +0 -1
  431. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js +0 -16
  432. package/build/dist/Tests/Server/TestingUtils/Redis/TestRedisOptions.js.map +0 -1
  433. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js +0 -125
  434. package/build/dist/Tests/Server/TestingUtils/Services/BillingServiceHelper.js.map +0 -1
  435. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js +0 -39
  436. package/build/dist/Tests/Server/TestingUtils/Services/ProjectServiceHelper.js.map +0 -1
  437. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js +0 -20
  438. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceServiceHelper.js.map +0 -1
  439. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js +0 -31
  440. package/build/dist/Tests/Server/TestingUtils/Services/ScheduledMaintenanceStateServiceHelper.js.map +0 -1
  441. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js +0 -14
  442. package/build/dist/Tests/Server/TestingUtils/Services/TeamMemberServiceHelper.js.map +0 -1
  443. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js +0 -21
  444. package/build/dist/Tests/Server/TestingUtils/Services/TeamServiceHelper.js.map +0 -1
  445. package/build/dist/Tests/Server/TestingUtils/Services/Types.js +0 -2
  446. package/build/dist/Tests/Server/TestingUtils/Services/Types.js.map +0 -1
  447. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js +0 -37
  448. package/build/dist/Tests/Server/TestingUtils/Services/UserServiceHelper.js.map +0 -1
  449. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js +0 -13
  450. package/build/dist/Tests/Server/TestingUtils/__mocks__/Stripe.mock.js.map +0 -1
  451. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js +0 -22
  452. package/build/dist/Tests/Server/TestingUtils/__mocks__/TestDatabase.mock.js.map +0 -1
  453. package/build/dist/Tests/Server/Types/Domain.test.js +0 -78
  454. package/build/dist/Tests/Server/Types/Domain.test.js.map +0 -1
  455. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js +0 -94
  456. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/Statement.test.js.map +0 -1
  457. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js +0 -459
  458. package/build/dist/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.js.map +0 -1
  459. package/build/dist/Tests/Server/Utils/Cookie.test.js +0 -83
  460. package/build/dist/Tests/Server/Utils/Cookie.test.js.map +0 -1
  461. package/build/dist/Tests/Server/Utils/CronTab.test.js +0 -29
  462. package/build/dist/Tests/Server/Utils/CronTab.test.js.map +0 -1
  463. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js +0 -114
  464. package/build/dist/Tests/Server/Utils/JsonToCsv.test.js.map +0 -1
  465. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js +0 -606
  466. package/build/dist/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.js.map +0 -1
  467. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js +0 -255
  468. package/build/dist/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.js.map +0 -1
  469. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js +0 -142
  470. package/build/dist/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.js.map +0 -1
  471. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js +0 -122
  472. package/build/dist/Tests/Server/Utils/StatusPageResource.test.js.map +0 -1
  473. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js +0 -0
  474. package/build/dist/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.js.map +0 -1
  475. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js +0 -205
  476. package/build/dist/Tests/Server/Utils/VM/VMAPI.test.js.map +0 -1
  477. package/build/dist/Tests/Spy.js +0 -4
  478. package/build/dist/Tests/Spy.js.map +0 -1
  479. package/build/dist/Tests/Types/API/ErrorResponse.test.js +0 -13
  480. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +0 -1
  481. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +0 -33
  482. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +0 -1
  483. package/build/dist/Tests/Types/API/HTTPMethod.test.js +0 -16
  484. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +0 -1
  485. package/build/dist/Tests/Types/API/Headers.test.js +0 -14
  486. package/build/dist/Tests/Types/API/Headers.test.js.map +0 -1
  487. package/build/dist/Tests/Types/API/Hostname.test.js +0 -22
  488. package/build/dist/Tests/Types/API/Hostname.test.js.map +0 -1
  489. package/build/dist/Tests/Types/API/Protocal.test.js +0 -19
  490. package/build/dist/Tests/Types/API/Protocal.test.js.map +0 -1
  491. package/build/dist/Tests/Types/API/Response.test.js +0 -14
  492. package/build/dist/Tests/Types/API/Response.test.js.map +0 -1
  493. package/build/dist/Tests/Types/API/ResponseType.test.js +0 -13
  494. package/build/dist/Tests/Types/API/ResponseType.test.js.map +0 -1
  495. package/build/dist/Tests/Types/API/Route.test.js +0 -30
  496. package/build/dist/Tests/Types/API/Route.test.js.map +0 -1
  497. package/build/dist/Tests/Types/API/StatusCode.test.js +0 -26
  498. package/build/dist/Tests/Types/API/StatusCode.test.js.map +0 -1
  499. package/build/dist/Tests/Types/API/URL.test.js +0 -33
  500. package/build/dist/Tests/Types/API/URL.test.js.map +0 -1
  501. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +0 -34
  502. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +0 -1
  503. package/build/dist/Tests/Types/Alerts/AlertType.test.js +0 -19
  504. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +0 -1
  505. package/build/dist/Tests/Types/AppEnvironment.test.js +0 -13
  506. package/build/dist/Tests/Types/AppEnvironment.test.js.map +0 -1
  507. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +0 -13
  508. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +0 -1
  509. package/build/dist/Tests/Types/ArrayUtil.test.js +0 -71
  510. package/build/dist/Tests/Types/ArrayUtil.test.js.map +0 -1
  511. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +0 -181
  512. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +0 -1
  513. package/build/dist/Tests/Types/BrandColors.test.js +0 -124
  514. package/build/dist/Tests/Types/BrandColors.test.js.map +0 -1
  515. package/build/dist/Tests/Types/Char.test.js +0 -82
  516. package/build/dist/Tests/Types/Char.test.js.map +0 -1
  517. package/build/dist/Tests/Types/Code/CodeType.test.js +0 -13
  518. package/build/dist/Tests/Types/Code/CodeType.test.js.map +0 -1
  519. package/build/dist/Tests/Types/Color.test.js +0 -44
  520. package/build/dist/Tests/Types/Color.test.js.map +0 -1
  521. package/build/dist/Tests/Types/Company/CompanySize.test.js +0 -20
  522. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +0 -1
  523. package/build/dist/Tests/Types/Company/JobRole.test.js +0 -22
  524. package/build/dist/Tests/Types/Company/JobRole.test.js.map +0 -1
  525. package/build/dist/Tests/Types/Countries.test.js +0 -249
  526. package/build/dist/Tests/Types/Countries.test.js.map +0 -1
  527. package/build/dist/Tests/Types/Database/ColumnLength.test.js +0 -43
  528. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +0 -1
  529. package/build/dist/Tests/Types/Database/ColumnType.test.js +0 -79
  530. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +0 -1
  531. package/build/dist/Tests/Types/Database/Columns.test.js +0 -20
  532. package/build/dist/Tests/Types/Database/Columns.test.js.map +0 -1
  533. package/build/dist/Tests/Types/Database/CompareBase.test.js +0 -37
  534. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +0 -1
  535. package/build/dist/Tests/Types/Database/Date.test.js +0 -62
  536. package/build/dist/Tests/Types/Database/Date.test.js.map +0 -1
  537. package/build/dist/Tests/Types/Database/EqualTo.test.js +0 -65
  538. package/build/dist/Tests/Types/Database/EqualTo.test.js.map +0 -1
  539. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +0 -62
  540. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +0 -1
  541. package/build/dist/Tests/Types/Database/InBetween.test.js +0 -72
  542. package/build/dist/Tests/Types/Database/InBetween.test.js.map +0 -1
  543. package/build/dist/Tests/Types/Database/LimitMax.test.js +0 -18
  544. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +0 -1
  545. package/build/dist/Tests/Types/Database/NotEqual.test.js +0 -19
  546. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +0 -1
  547. package/build/dist/Tests/Types/Database/Search.test.js +0 -10
  548. package/build/dist/Tests/Types/Database/Search.test.js.map +0 -1
  549. package/build/dist/Tests/Types/DatabaseType.test.js +0 -7
  550. package/build/dist/Tests/Types/DatabaseType.test.js.map +0 -1
  551. package/build/dist/Tests/Types/Date.test.js +0 -194
  552. package/build/dist/Tests/Types/Date.test.js.map +0 -1
  553. package/build/dist/Tests/Types/Dictionary.test.js +0 -25
  554. package/build/dist/Tests/Types/Dictionary.test.js.map +0 -1
  555. package/build/dist/Tests/Types/Domain.test.js +0 -54
  556. package/build/dist/Tests/Types/Domain.test.js.map +0 -1
  557. package/build/dist/Tests/Types/Email/Email.test.js +0 -51
  558. package/build/dist/Tests/Types/Email/Email.test.js.map +0 -1
  559. package/build/dist/Tests/Types/EmailWithName.test.js +0 -36
  560. package/build/dist/Tests/Types/EmailWithName.test.js.map +0 -1
  561. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +0 -7
  562. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +0 -1
  563. package/build/dist/Tests/Types/Exception/ApiException.test.js +0 -10
  564. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +0 -1
  565. package/build/dist/Tests/Types/Exception/BadDataException.test.js +0 -12
  566. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +0 -1
  567. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +0 -10
  568. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +0 -1
  569. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +0 -12
  570. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +0 -1
  571. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +0 -10
  572. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +0 -1
  573. package/build/dist/Tests/Types/Exception/Exception.test.js +0 -15
  574. package/build/dist/Tests/Types/Exception/Exception.test.js.map +0 -1
  575. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +0 -12
  576. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +0 -1
  577. package/build/dist/Tests/Types/File.test.js +0 -22
  578. package/build/dist/Tests/Types/File.test.js.map +0 -1
  579. package/build/dist/Tests/Types/HashedString.test.js +0 -51
  580. package/build/dist/Tests/Types/HashedString.test.js.map +0 -1
  581. package/build/dist/Tests/Types/Html.test.js +0 -8
  582. package/build/dist/Tests/Types/Html.test.js.map +0 -1
  583. package/build/dist/Tests/Types/IP/IP.test.js +0 -65
  584. package/build/dist/Tests/Types/IP/IP.test.js.map +0 -1
  585. package/build/dist/Tests/Types/IP/IPType.test.js +0 -10
  586. package/build/dist/Tests/Types/IP/IPType.test.js.map +0 -1
  587. package/build/dist/Tests/Types/IP/IPv4.test.js +0 -17
  588. package/build/dist/Tests/Types/IP/IPv4.test.js.map +0 -1
  589. package/build/dist/Tests/Types/IP/IPv6.test.js +0 -17
  590. package/build/dist/Tests/Types/IP/IPv6.test.js.map +0 -1
  591. package/build/dist/Tests/Types/JSON.test.js +0 -37
  592. package/build/dist/Tests/Types/JSON.test.js.map +0 -1
  593. package/build/dist/Tests/Types/JSONFunctions.test.js +0 -38
  594. package/build/dist/Tests/Types/JSONFunctions.test.js.map +0 -1
  595. package/build/dist/Tests/Types/ListData.test.js +0 -34
  596. package/build/dist/Tests/Types/ListData.test.js.map +0 -1
  597. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js +0 -121
  598. package/build/dist/Tests/Types/Monitor/KubernetesAlertTemplates.test.js.map +0 -1
  599. package/build/dist/Tests/Types/Name.test.js +0 -26
  600. package/build/dist/Tests/Types/Name.test.js.map +0 -1
  601. package/build/dist/Tests/Types/ObjectID.test.js +0 -12
  602. package/build/dist/Tests/Types/ObjectID.test.js.map +0 -1
  603. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js +0 -530
  604. package/build/dist/Tests/Types/OnCallDutyPolicy/LayerUtil.test.js.map +0 -1
  605. package/build/dist/Tests/Types/Permission.test.js +0 -99
  606. package/build/dist/Tests/Types/Permission.test.js.map +0 -1
  607. package/build/dist/Tests/Types/Phone.test.js +0 -37
  608. package/build/dist/Tests/Types/Phone.test.js.map +0 -1
  609. package/build/dist/Tests/Types/Port.test.js +0 -35
  610. package/build/dist/Tests/Types/Port.test.js.map +0 -1
  611. package/build/dist/Tests/Types/PositiveNumber.test.js +0 -101
  612. package/build/dist/Tests/Types/PositiveNumber.test.js.map +0 -1
  613. package/build/dist/Tests/Types/SecuritySeverity.test.js +0 -16
  614. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +0 -1
  615. package/build/dist/Tests/Types/SerializableObject.test.js +0 -37
  616. package/build/dist/Tests/Types/SerializableObject.test.js.map +0 -1
  617. package/build/dist/Tests/Types/Sleep.test.js +0 -14
  618. package/build/dist/Tests/Types/Sleep.test.js.map +0 -1
  619. package/build/dist/Tests/Types/Text.test.js +0 -8
  620. package/build/dist/Tests/Types/Text.test.js.map +0 -1
  621. package/build/dist/Tests/Types/Timezone.test.js +0 -596
  622. package/build/dist/Tests/Types/Timezone.test.js.map +0 -1
  623. package/build/dist/Tests/Types/Typeof.test.js +0 -16
  624. package/build/dist/Tests/Types/Typeof.test.js.map +0 -1
  625. package/build/dist/Tests/Types/UserType.test.js +0 -16
  626. package/build/dist/Tests/Types/UserType.test.js.map +0 -1
  627. package/build/dist/Tests/Types/Version.test.js +0 -35
  628. package/build/dist/Tests/Types/Version.test.js.map +0 -1
  629. package/build/dist/Tests/Types/XML.test.js +0 -35
  630. package/build/dist/Tests/Types/XML.test.js.map +0 -1
  631. package/build/dist/Tests/UI/Components/404.test.js +0 -59
  632. package/build/dist/Tests/UI/Components/404.test.js.map +0 -1
  633. package/build/dist/Tests/UI/Components/Alert.test.js +0 -83
  634. package/build/dist/Tests/UI/Components/Alert.test.js.map +0 -1
  635. package/build/dist/Tests/UI/Components/Badge.test.js +0 -59
  636. package/build/dist/Tests/UI/Components/Badge.test.js.map +0 -1
  637. package/build/dist/Tests/UI/Components/BasicForm.test.js +0 -92
  638. package/build/dist/Tests/UI/Components/BasicForm.test.js.map +0 -1
  639. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js +0 -69
  640. package/build/dist/Tests/UI/Components/Breadcrumbs.test.js.map +0 -1
  641. package/build/dist/Tests/UI/Components/Button.test.js +0 -104
  642. package/build/dist/Tests/UI/Components/Button.test.js.map +0 -1
  643. package/build/dist/Tests/UI/Components/Card.test.js +0 -81
  644. package/build/dist/Tests/UI/Components/Card.test.js.map +0 -1
  645. package/build/dist/Tests/UI/Components/ColorViewer.test.js +0 -42
  646. package/build/dist/Tests/UI/Components/ColorViewer.test.js.map +0 -1
  647. package/build/dist/Tests/UI/Components/ComponentsModal.test.js +0 -233
  648. package/build/dist/Tests/UI/Components/ComponentsModal.test.js.map +0 -1
  649. package/build/dist/Tests/UI/Components/ConfirmModal.test.js +0 -57
  650. package/build/dist/Tests/UI/Components/ConfirmModal.test.js.map +0 -1
  651. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js +0 -84
  652. package/build/dist/Tests/UI/Components/DictionaryOfStrings.test.js.map +0 -1
  653. package/build/dist/Tests/UI/Components/Dropdown.test.js +0 -146
  654. package/build/dist/Tests/UI/Components/Dropdown.test.js.map +0 -1
  655. package/build/dist/Tests/UI/Components/DuplicateModel.test.js +0 -229
  656. package/build/dist/Tests/UI/Components/DuplicateModel.test.js.map +0 -1
  657. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js +0 -26
  658. package/build/dist/Tests/UI/Components/EmptyState/EmptyState.test.js.map +0 -1
  659. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js +0 -32
  660. package/build/dist/Tests/UI/Components/ErrorBoundary.test.js.map +0 -1
  661. package/build/dist/Tests/UI/Components/FilePicker.test.js +0 -342
  662. package/build/dist/Tests/UI/Components/FilePicker.test.js.map +0 -1
  663. package/build/dist/Tests/UI/Components/HiddenText.test.js +0 -50
  664. package/build/dist/Tests/UI/Components/HiddenText.test.js.map +0 -1
  665. package/build/dist/Tests/UI/Components/Input.test.js +0 -223
  666. package/build/dist/Tests/UI/Components/Input.test.js.map +0 -1
  667. package/build/dist/Tests/UI/Components/Item.test.js +0 -58
  668. package/build/dist/Tests/UI/Components/Item.test.js.map +0 -1
  669. package/build/dist/Tests/UI/Components/List.test.js +0 -83
  670. package/build/dist/Tests/UI/Components/List.test.js.map +0 -1
  671. package/build/dist/Tests/UI/Components/Loader.test.js +0 -19
  672. package/build/dist/Tests/UI/Components/Loader.test.js.map +0 -1
  673. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js +0 -85
  674. package/build/dist/Tests/UI/Components/MarkdownEditor.test.js.map +0 -1
  675. package/build/dist/Tests/UI/Components/MasterPage.test.js +0 -46
  676. package/build/dist/Tests/UI/Components/MasterPage.test.js.map +0 -1
  677. package/build/dist/Tests/UI/Components/Modal.test.js +0 -127
  678. package/build/dist/Tests/UI/Components/Modal.test.js.map +0 -1
  679. package/build/dist/Tests/UI/Components/NavBar.test.js +0 -52
  680. package/build/dist/Tests/UI/Components/NavBar.test.js.map +0 -1
  681. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js +0 -86
  682. package/build/dist/Tests/UI/Components/OrderedStatesList.test.js.map +0 -1
  683. package/build/dist/Tests/UI/Components/Pagination.test.js +0 -137
  684. package/build/dist/Tests/UI/Components/Pagination.test.js.map +0 -1
  685. package/build/dist/Tests/UI/Components/Pill.test.js +0 -55
  686. package/build/dist/Tests/UI/Components/Pill.test.js.map +0 -1
  687. package/build/dist/Tests/UI/Components/Probe.test.js +0 -52
  688. package/build/dist/Tests/UI/Components/Probe.test.js.map +0 -1
  689. package/build/dist/Tests/UI/Components/ProgressBar.test.js +0 -41
  690. package/build/dist/Tests/UI/Components/ProgressBar.test.js.map +0 -1
  691. package/build/dist/Tests/UI/Components/RadioButtons.test.js +0 -66
  692. package/build/dist/Tests/UI/Components/RadioButtons.test.js.map +0 -1
  693. package/build/dist/Tests/UI/Components/SideMenuItem.test.js +0 -99
  694. package/build/dist/Tests/UI/Components/SideMenuItem.test.js.map +0 -1
  695. package/build/dist/Tests/UI/Components/SideOver.test.js +0 -77
  696. package/build/dist/Tests/UI/Components/SideOver.test.js.map +0 -1
  697. package/build/dist/Tests/UI/Components/Tabs.test.js +0 -56
  698. package/build/dist/Tests/UI/Components/Tabs.test.js.map +0 -1
  699. package/build/dist/Tests/UI/Components/Template/Template.test.js +0 -15
  700. package/build/dist/Tests/UI/Components/Template/Template.test.js.map +0 -1
  701. package/build/dist/Tests/UI/Components/TextArea.test.js +0 -112
  702. package/build/dist/Tests/UI/Components/TextArea.test.js.map +0 -1
  703. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js +0 -352
  704. package/build/dist/Tests/UI/Components/TimePicker/TimePicker.test.js.map +0 -1
  705. package/build/dist/Tests/UI/Components/Toast.test.js +0 -48
  706. package/build/dist/Tests/UI/Components/Toast.test.js.map +0 -1
  707. package/build/dist/Tests/UI/Components/Toggle.test.js +0 -95
  708. package/build/dist/Tests/UI/Components/Toggle.test.js.map +0 -1
  709. package/build/dist/Tests/UI/Components/TopSection.test.js +0 -33
  710. package/build/dist/Tests/UI/Components/TopSection.test.js.map +0 -1
  711. package/build/dist/Tests/UI/Components/XAxis.test.js +0 -21
  712. package/build/dist/Tests/UI/Components/XAxis.test.js.map +0 -1
  713. package/build/dist/Tests/UI/Index.js +0 -2
  714. package/build/dist/Tests/UI/Index.js.map +0 -1
  715. package/build/dist/Tests/UI/Mocks/FileMock.js +0 -3
  716. package/build/dist/Tests/UI/Mocks/FileMock.js.map +0 -1
  717. package/build/dist/Tests/Utils/API.test.js +0 -399
  718. package/build/dist/Tests/Utils/API.test.js.map +0 -1
  719. package/build/dist/Tests/Utils/Analytics.test.js +0 -67
  720. package/build/dist/Tests/Utils/Analytics.test.js.map +0 -1
  721. package/build/dist/Tests/Utils/CronTime.test.js +0 -22
  722. package/build/dist/Tests/Utils/CronTime.test.js.map +0 -1
  723. package/build/dist/Tests/Utils/Faker.test.js +0 -27
  724. package/build/dist/Tests/Utils/Faker.test.js.map +0 -1
  725. package/build/dist/Tests/Utils/MetricUnitUtil.test.js +0 -187
  726. package/build/dist/Tests/Utils/MetricUnitUtil.test.js.map +0 -1
  727. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js +0 -224
  728. package/build/dist/Tests/Utils/Metrics/MetricFormulaEvaluator.test.js.map +0 -1
  729. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js +0 -180
  730. package/build/dist/Tests/Utils/Metrics/MetricResultUnitConverter.test.js.map +0 -1
  731. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js +0 -142
  732. package/build/dist/Tests/Utils/RecordingRuleExpression.test.js.map +0 -1
  733. package/build/dist/Tests/Utils/Slug.test.js +0 -20
  734. package/build/dist/Tests/Utils/Slug.test.js.map +0 -1
  735. package/build/dist/Tests/Utils/UUID.test.js +0 -48
  736. package/build/dist/Tests/Utils/UUID.test.js.map +0 -1
  737. package/build/dist/Tests/jest.setup.js +0 -30
  738. package/build/dist/Tests/jest.setup.js.map +0 -1
  739. package/build/dist/Types/Profile/ProfileMetricType.js +0 -17
  740. package/build/dist/Types/Profile/ProfileMetricType.js.map +0 -1
@@ -31,23 +31,91 @@ import ServerlessFunctionService from "./ServerlessFunctionService";
31
31
  import CloudResourceService from "./CloudResourceService";
32
32
  import RumApplicationService from "./RumApplicationService";
33
33
  import GlobalCache from "../Infrastructure/GlobalCache";
34
+ import ColumnLength from "../../Types/Database/ColumnLength";
35
+ import EntityType from "../../Types/Telemetry/EntityType";
36
+ import { ExtractedEntity } from "../Utils/Telemetry/TelemetryEntity";
37
+ import { reconcileEntityRegistryThrottled } from "../Utils/Telemetry/EntityRegistry";
38
+ import {
39
+ keyForService,
40
+ canonicalizeEntityValue,
41
+ } from "../../Utils/Telemetry/EntityKey";
34
42
 
35
43
  export enum OtelAggregationTemporality {
36
44
  Cumulative = "AGGREGATION_TEMPORALITY_CUMULATIVE",
37
45
  Delta = "AGGREGATION_TEMPORALITY_DELTA",
38
46
  }
39
47
 
48
+ /*
49
+ * Per-type scalar entity-key columns stamped on every analytics signal
50
+ * row (Log, Span, Metric, ExceptionInstance, Profile, ProfileSample —
51
+ * the storage side declares each as String DEFAULT ''). '' means "that
52
+ * entity type is absent from this batch's resource". Unlike the
53
+ * `entityKeys` Array(String) membership column these are scalar, so a
54
+ * per-type filter (`hostEntityKey = :key`) or rollup key skips the
55
+ * has() array scan.
56
+ */
57
+ export interface ScalarEntityKeys {
58
+ serviceEntityKey: string;
59
+ hostEntityKey: string;
60
+ k8sPodEntityKey: string;
61
+ k8sNodeEntityKey: string;
62
+ k8sClusterEntityKey: string;
63
+ containerEntityKey: string;
64
+ }
65
+
66
+ export function emptyScalarEntityKeys(): ScalarEntityKeys {
67
+ return {
68
+ serviceEntityKey: "",
69
+ hostEntityKey: "",
70
+ k8sPodEntityKey: "",
71
+ k8sNodeEntityKey: "",
72
+ k8sClusterEntityKey: "",
73
+ containerEntityKey: "",
74
+ };
75
+ }
76
+
77
+ /**
78
+ * The six scalar entity-key columns for a signal row, defaulting every
79
+ * field to '' when the metadata carries no scalar map (e.g. a resolver
80
+ * path that never saw resource attributes). Spread the result into the
81
+ * row object so every signal row always carries all six columns.
82
+ */
83
+ export function getScalarEntityKeyColumns(
84
+ metadata: TelemetryServiceMetadata | null | undefined,
85
+ ): ScalarEntityKeys {
86
+ return metadata?.scalarEntityKeys ?? emptyScalarEntityKeys();
87
+ }
88
+
40
89
  export interface TelemetryServiceMetadata {
41
90
  serviceName: string;
42
- serviceId: ObjectID;
91
+ primaryEntityId: ObjectID;
43
92
  /*
44
93
  * Discriminator stamped on every analytics row so the read side
45
- * knows which Postgres table the `serviceId` actually points at
94
+ * knows which Postgres table the `primaryEntityId` actually points at
46
95
  * (real Service, Host, DockerHost, KubernetesCluster, Monitor, …).
47
96
  * Defaults to OpenTelemetry for legacy ingest paths that go through
48
97
  * `telemetryServiceFromName`.
49
98
  */
50
- serviceType: ServiceType;
99
+ primaryEntityType: ServiceType;
100
+ /*
101
+ * Stable keys of every OpenTelemetry entity (service, host, k8s.pod,
102
+ * container, ...) derived from this batch's resource attributes — the
103
+ * membership set stamped into each row's `entityKeys` column. A
104
+ * superset that includes the primary entity's key for OTel-resource
105
+ * entity types (service / host / k8s.*). Populated with the full
106
+ * extracted set by `OtelIngestBaseService.resolveTelemetryResource`;
107
+ * lower-fidelity name-only sources (syslog / fluent) that resolve
108
+ * metadata directly via `telemetryServiceFromName` get the single
109
+ * service key.
110
+ */
111
+ entityKeys?: Array<string> | undefined;
112
+ /*
113
+ * Scalar per-type companion of `entityKeys` (see ScalarEntityKeys).
114
+ * Populated from the same single extraction in
115
+ * `OtelIngestBaseService.resolveTelemetryResource`; name-only sources
116
+ * (syslog / fluent) get just their service key with '' for the rest.
117
+ */
118
+ scalarEntityKeys?: ScalarEntityKeys | undefined;
51
119
  dataRententionInDays: number;
52
120
  serviceRetentionConfig: TelemetryRetentionConfig | null;
53
121
  serviceRetentionInDays: number | null;
@@ -119,6 +187,21 @@ export default class OTelIngestService {
119
187
  return null;
120
188
  }
121
189
 
190
+ /*
191
+ * Truncate to the Service column width (ColumnLength.ShortText) so a
192
+ * pathological over-long resource attribute can't fail the UPDATE — a
193
+ * throw there would leave the throttle fingerprint cached and freeze
194
+ * lastSeenAt refreshes for the rest of the throttle window.
195
+ */
196
+ private static clampServiceMetadataValue(
197
+ value: string | null | undefined,
198
+ ): string | undefined {
199
+ if (!value) {
200
+ return undefined;
201
+ }
202
+ return value.slice(0, ColumnLength.ShortText);
203
+ }
204
+
122
205
  /*
123
206
  * Build the metadata captured onto the Service row from OTel resource
124
207
  * attributes (service.version, deployment.environment, cloud.*, runtime.*).
@@ -134,6 +217,7 @@ export default class OTelIngestService {
134
217
  serviceNamespace?: string | undefined;
135
218
  runtimeName?: string | undefined;
136
219
  runtimeVersion?: string | undefined;
220
+ telemetrySdkLanguage?: string | undefined;
137
221
  cloudProvider?: string | undefined;
138
222
  cloudPlatform?: string | undefined;
139
223
  cloudRegion?: string | undefined;
@@ -144,39 +228,43 @@ export default class OTelIngestService {
144
228
  return undefined;
145
229
  }
146
230
  return {
147
- serviceVersion:
148
- this.getResourceStringAttribute(attributes, "service.version") ||
149
- undefined,
150
- deploymentEnvironment:
231
+ serviceVersion: this.clampServiceMetadataValue(
232
+ this.getResourceStringAttribute(attributes, "service.version"),
233
+ ),
234
+ deploymentEnvironment: this.clampServiceMetadataValue(
151
235
  this.getResourceStringAttribute(
152
236
  attributes,
153
237
  "deployment.environment.name",
154
238
  ) ||
155
- this.getResourceStringAttribute(attributes, "deployment.environment") ||
156
- undefined,
157
- serviceNamespace:
158
- this.getResourceStringAttribute(attributes, "service.namespace") ||
159
- undefined,
160
- runtimeName:
161
- this.getResourceStringAttribute(attributes, "process.runtime.name") ||
162
- undefined,
163
- runtimeVersion:
239
+ this.getResourceStringAttribute(attributes, "deployment.environment"),
240
+ ),
241
+ serviceNamespace: this.clampServiceMetadataValue(
242
+ this.getResourceStringAttribute(attributes, "service.namespace"),
243
+ ),
244
+ runtimeName: this.clampServiceMetadataValue(
245
+ this.getResourceStringAttribute(attributes, "process.runtime.name"),
246
+ ),
247
+ runtimeVersion: this.clampServiceMetadataValue(
248
+ this.getResourceStringAttribute(attributes, "process.runtime.version"),
249
+ ),
250
+ telemetrySdkLanguage: this.clampServiceMetadataValue(
164
251
  this.getResourceStringAttribute(
165
252
  attributes,
166
- "process.runtime.version",
167
- ) || undefined,
168
- cloudProvider:
169
- this.getResourceStringAttribute(attributes, "cloud.provider") ||
170
- undefined,
171
- cloudPlatform:
172
- this.getResourceStringAttribute(attributes, "cloud.platform") ||
173
- undefined,
174
- cloudRegion:
175
- this.getResourceStringAttribute(attributes, "cloud.region") ||
176
- undefined,
177
- cloudAccountId:
178
- this.getResourceStringAttribute(attributes, "cloud.account.id") ||
179
- undefined,
253
+ "telemetry.sdk.language",
254
+ )?.toLowerCase(),
255
+ ),
256
+ cloudProvider: this.clampServiceMetadataValue(
257
+ this.getResourceStringAttribute(attributes, "cloud.provider"),
258
+ ),
259
+ cloudPlatform: this.clampServiceMetadataValue(
260
+ this.getResourceStringAttribute(attributes, "cloud.platform"),
261
+ ),
262
+ cloudRegion: this.clampServiceMetadataValue(
263
+ this.getResourceStringAttribute(attributes, "cloud.region"),
264
+ ),
265
+ cloudAccountId: this.clampServiceMetadataValue(
266
+ this.getResourceStringAttribute(attributes, "cloud.account.id"),
267
+ ),
180
268
  };
181
269
  }
182
270
 
@@ -283,6 +371,30 @@ export default class OTelIngestService {
283
371
  projectId: data.projectId,
284
372
  });
285
373
 
374
+ /*
375
+ * Name-only sources (syslog / fluent) never go through
376
+ * `resolveTelemetryResource`, so its extractor never registers this
377
+ * service. Reconcile the single Service entity here, under the same
378
+ * fence/throttle machinery. OTLP batches (resourceAttributes present)
379
+ * reconcile their full entity set — including the service.namespace
380
+ * identity this name-only path cannot see — in
381
+ * `resolveTelemetryResource` instead. Fire-and-forget: all errors are
382
+ * swallowed inside, so the registry can never break ingest.
383
+ */
384
+ if (!data.resourceAttributes) {
385
+ const serviceEntity: ExtractedEntity = {
386
+ entityType: EntityType.Service,
387
+ entityKey: keyForService(data.projectId.toString(), data.serviceName),
388
+ identifyingAttributes: {
389
+ "service.name": canonicalizeEntityValue(data.serviceName),
390
+ },
391
+ };
392
+ void reconcileEntityRegistryThrottled({
393
+ projectId: data.projectId,
394
+ entities: [serviceEntity],
395
+ });
396
+ }
397
+
286
398
  /*
287
399
  * Touch `lastSeenAt` on the service. Throttled per-service inside
288
400
  * ServiceService.updateLastSeen so the steady-state firehose costs
@@ -290,7 +402,7 @@ export default class OTelIngestService {
290
402
  */
291
403
  try {
292
404
  await ServiceService.updateLastSeen(
293
- result.serviceId,
405
+ result.primaryEntityId,
294
406
  this.buildServiceMetadataFromAttributes(data.resourceAttributes),
295
407
  );
296
408
  } catch (err) {
@@ -320,7 +432,7 @@ export default class OTelIngestService {
320
432
  });
321
433
  if (labelIds.length > 0) {
322
434
  await ServiceService.attachLabels({
323
- serviceId: result.serviceId,
435
+ serviceId: result.primaryEntityId,
324
436
  labelIds,
325
437
  });
326
438
  }
@@ -357,7 +469,7 @@ export default class OTelIngestService {
357
469
  * case or surrounding whitespace misses here, gets rejected on create
358
470
  * ("Service with the same name already exists"), and wedges ingest.
359
471
  * Stored casing is preserved: service-detail pages key telemetry by the
360
- * stable serviceId, and the name is user-facing.
472
+ * stable primaryEntityId, and the name is user-facing.
361
473
  */
362
474
  const service: Service | null = await ServiceService.findOneBy({
363
475
  query: {
@@ -380,6 +492,17 @@ export default class OTelIngestService {
380
492
  const projectContext: ProjectRetentionContext =
381
493
  await this.getProjectRetentionContext(data.projectId);
382
494
 
495
+ /*
496
+ * The service's own membership key (pure hash, no DB round trip), so
497
+ * name-only sources (syslog / fluent) stamp a queryable `entityKeys`
498
+ * instead of []. The OTLP path overwrites this with the full extracted
499
+ * entity set in `resolveTelemetryResource`.
500
+ */
501
+ const serviceEntityKey: string = keyForService(
502
+ data.projectId.toString(),
503
+ data.serviceName,
504
+ );
505
+
383
506
  const buildMetadata: (svc: Service) => TelemetryServiceMetadata = (
384
507
  svc: Service,
385
508
  ): TelemetryServiceMetadata => {
@@ -387,8 +510,18 @@ export default class OTelIngestService {
387
510
  svc.retainTelemetryDataForDays ?? null;
388
511
  return {
389
512
  serviceName: data.serviceName,
390
- serviceId: svc.id!,
391
- serviceType: ServiceType.OpenTelemetry,
513
+ primaryEntityId: svc.id!,
514
+ primaryEntityType: ServiceType.OpenTelemetry,
515
+ entityKeys: [serviceEntityKey],
516
+ /*
517
+ * Name-only sources can only ever see the service entity; the
518
+ * OTLP path overwrites this with the full per-type map in
519
+ * `resolveTelemetryResource`.
520
+ */
521
+ scalarEntityKeys: {
522
+ ...emptyScalarEntityKeys(),
523
+ serviceEntityKey: serviceEntityKey,
524
+ },
392
525
  dataRententionInDays:
393
526
  serviceLevelRetention || projectContext.projectRetentionInDays,
394
527
  serviceRetentionConfig: svc.telemetryRetentionConfig ?? null,
@@ -453,7 +586,7 @@ export default class OTelIngestService {
453
586
  * Builds a TelemetryServiceMetadata for a non-Service resource —
454
587
  * Host, DockerHost, KubernetesCluster, Monitor. These resources
455
588
  * own telemetry directly via their own Postgres id (stamped into
456
- * the analytics row's `serviceId` column) and do not have a paired
589
+ * the analytics row's `primaryEntityId` column) and do not have a paired
457
590
  * Service row. Per-resource retention overrides (when set on the
458
591
  * Host / DockerHost / KubernetesCluster row) are honoured here so
459
592
  * the resource owner can keep host telemetry longer/shorter than
@@ -464,7 +597,7 @@ export default class OTelIngestService {
464
597
  public static async buildResourceMetadataForNonService(data: {
465
598
  serviceName: string;
466
599
  resourceId: ObjectID;
467
- serviceType: ServiceType;
600
+ primaryEntityType: ServiceType;
468
601
  projectId: ObjectID;
469
602
  }): Promise<TelemetryServiceMetadata> {
470
603
  const projectContext: ProjectRetentionContext =
@@ -473,12 +606,15 @@ export default class OTelIngestService {
473
606
  const resourceRetention: {
474
607
  retainTelemetryDataForDays: number | null;
475
608
  telemetryRetentionConfig: TelemetryRetentionConfig | null;
476
- } = await this.getResourceRetention(data.resourceId, data.serviceType);
609
+ } = await this.getResourceRetention(
610
+ data.resourceId,
611
+ data.primaryEntityType,
612
+ );
477
613
 
478
614
  return {
479
615
  serviceName: data.serviceName,
480
- serviceId: data.resourceId,
481
- serviceType: data.serviceType,
616
+ primaryEntityId: data.resourceId,
617
+ primaryEntityType: data.primaryEntityType,
482
618
  dataRententionInDays:
483
619
  resourceRetention.retainTelemetryDataForDays ||
484
620
  projectContext.projectRetentionInDays,
@@ -498,13 +634,13 @@ export default class OTelIngestService {
498
634
  @CaptureSpan()
499
635
  private static async getResourceRetention(
500
636
  resourceId: ObjectID,
501
- serviceType: ServiceType,
637
+ primaryEntityType: ServiceType,
502
638
  ): Promise<{
503
639
  retainTelemetryDataForDays: number | null;
504
640
  telemetryRetentionConfig: TelemetryRetentionConfig | null;
505
641
  }> {
506
642
  try {
507
- if (serviceType === ServiceType.Host) {
643
+ if (primaryEntityType === ServiceType.Host) {
508
644
  const host: Host | null = await HostService.findOneById({
509
645
  id: resourceId,
510
646
  select: {
@@ -518,7 +654,7 @@ export default class OTelIngestService {
518
654
  telemetryRetentionConfig: host?.telemetryRetentionConfig ?? null,
519
655
  };
520
656
  }
521
- if (serviceType === ServiceType.DockerHost) {
657
+ if (primaryEntityType === ServiceType.DockerHost) {
522
658
  const dockerHost: DockerHost | null =
523
659
  await DockerHostService.findOneById({
524
660
  id: resourceId,
@@ -535,7 +671,7 @@ export default class OTelIngestService {
535
671
  dockerHost?.telemetryRetentionConfig ?? null,
536
672
  };
537
673
  }
538
- if (serviceType === ServiceType.KubernetesCluster) {
674
+ if (primaryEntityType === ServiceType.KubernetesCluster) {
539
675
  const cluster: KubernetesCluster | null =
540
676
  await KubernetesClusterService.findOneById({
541
677
  id: resourceId,
@@ -551,7 +687,7 @@ export default class OTelIngestService {
551
687
  telemetryRetentionConfig: cluster?.telemetryRetentionConfig ?? null,
552
688
  };
553
689
  }
554
- if (serviceType === ServiceType.ServerlessFunction) {
690
+ if (primaryEntityType === ServiceType.ServerlessFunction) {
555
691
  const serverlessFunction: ServerlessFunction | null =
556
692
  await ServerlessFunctionService.findOneById({
557
693
  id: resourceId,
@@ -568,7 +704,7 @@ export default class OTelIngestService {
568
704
  serverlessFunction?.telemetryRetentionConfig ?? null,
569
705
  };
570
706
  }
571
- if (serviceType === ServiceType.CloudResource) {
707
+ if (primaryEntityType === ServiceType.CloudResource) {
572
708
  const cloudResource: CloudResource | null =
573
709
  await CloudResourceService.findOneById({
574
710
  id: resourceId,
@@ -585,7 +721,7 @@ export default class OTelIngestService {
585
721
  cloudResource?.telemetryRetentionConfig ?? null,
586
722
  };
587
723
  }
588
- if (serviceType === ServiceType.RealUserMonitor) {
724
+ if (primaryEntityType === ServiceType.RealUserMonitor) {
589
725
  const rumApplication: RumApplication | null =
590
726
  await RumApplicationService.findOneById({
591
727
  id: resourceId,
@@ -604,7 +740,7 @@ export default class OTelIngestService {
604
740
  }
605
741
  } catch (err) {
606
742
  logger.warn(
607
- `Per-resource retention lookup failed for ${serviceType} ${resourceId.toString()}: ${
743
+ `Per-resource retention lookup failed for ${primaryEntityType} ${resourceId.toString()}: ${
608
744
  err instanceof Error ? err.message : String(err)
609
745
  }`,
610
746
  );
@@ -621,7 +757,7 @@ export default class OTelIngestService {
621
757
  datapoint: JSONObject;
622
758
  aggregationTemporality: OtelAggregationTemporality;
623
759
  isMonotonic: boolean | undefined;
624
- serviceId: ObjectID;
760
+ primaryEntityId: ObjectID;
625
761
  serviceName: string;
626
762
  }): Metric {
627
763
  const { dbMetric, datapoint, aggregationTemporality, isMonotonic } = data;
@@ -705,7 +841,7 @@ export default class OTelIngestService {
705
841
 
706
842
  newDbMetric.attributes = {
707
843
  ...TelemetryUtil.getAttributesForServiceIdAndServiceName({
708
- serviceId: data.serviceId,
844
+ serviceId: data.primaryEntityId,
709
845
  serviceName: data.serviceName,
710
846
  }),
711
847
  ...TelemetryUtil.getAttributes({