@oneuptime/common 14.0.10 → 14.0.11
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.
- package/Models/DatabaseModels/AIConversation.ts +127 -1
- package/Models/DatabaseModels/CephCluster.ts +12 -0
- package/Models/DatabaseModels/CloudResource.ts +12 -0
- package/Models/DatabaseModels/DatabaseServer.ts +12 -0
- package/Models/DatabaseModels/DockerHost.ts +12 -0
- package/Models/DatabaseModels/DockerSwarmCluster.ts +12 -0
- package/Models/DatabaseModels/GlobalOidc.ts +0 -4
- package/Models/DatabaseModels/GlobalOidcProject.ts +0 -4
- package/Models/DatabaseModels/GlobalSso.ts +0 -4
- package/Models/DatabaseModels/GlobalSsoProject.ts +0 -4
- package/Models/DatabaseModels/Host.ts +12 -0
- package/Models/DatabaseModels/IncidentForm.ts +594 -0
- package/Models/DatabaseModels/IncidentFormSubmission.ts +283 -0
- package/Models/DatabaseModels/IncidentTemplate.ts +59 -0
- package/Models/DatabaseModels/Index.ts +14 -0
- package/Models/DatabaseModels/IoTFleet.ts +12 -0
- package/Models/DatabaseModels/KubernetesCluster.ts +12 -0
- package/Models/DatabaseModels/MessageQueue.ts +1102 -0
- package/Models/DatabaseModels/MessageQueueLabelRule.ts +553 -0
- package/Models/DatabaseModels/MessageQueueOwnerRule.ts +633 -0
- package/Models/DatabaseModels/MessageQueueOwnerTeam.ts +491 -0
- package/Models/DatabaseModels/MessageQueueOwnerUser.ts +490 -0
- package/Models/DatabaseModels/PodmanHost.ts +12 -0
- package/Models/DatabaseModels/Project.ts +59 -0
- package/Models/DatabaseModels/ProjectOidc.ts +0 -4
- package/Models/DatabaseModels/ProjectSso.ts +0 -4
- package/Models/DatabaseModels/ProxmoxCluster.ts +12 -0
- package/Models/DatabaseModels/RumApplication.ts +12 -0
- package/Models/DatabaseModels/ServerlessFunction.ts +12 -0
- package/Models/DatabaseModels/Service.ts +12 -0
- package/Models/DatabaseModels/StatusPageOidc.ts +0 -4
- package/Models/DatabaseModels/StatusPageSso.ts +0 -4
- package/Models/DatabaseModels/TeamComplianceSetting.ts +47 -2
- package/Models/DatabaseModels/VMwareVCenter.ts +12 -0
- package/Server/API/AIChatAPI.ts +13 -114
- package/Server/API/AIInvestigationAPI.ts +3 -3
- package/Server/API/AIInvestigationConversationAPI.ts +266 -0
- package/Server/API/IncidentFormAPI.ts +376 -0
- package/Server/API/ProjectOIDC.ts +16 -25
- package/Server/API/ProjectSSO.ts +16 -24
- package/Server/API/StatusPageAPI.ts +42 -77
- package/Server/Enterprise/EnterpriseEdition.ts +93 -28
- package/Server/Enterprise/EnterpriseFeature.ts +25 -3
- package/Server/Enterprise/EnterpriseLicenseSnapshot.ts +1 -1
- package/Server/Enterprise/EnterpriseServerModule.ts +4 -1
- package/Server/EnvironmentConfig.ts +1 -1
- package/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.ts +129 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.ts +52 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.ts +75 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.ts +477 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
- package/Server/Middleware/IncidentFormRateLimit.ts +847 -0
- package/Server/Middleware/UserAuthorization.ts +16 -38
- package/Server/Services/AIService.ts +10 -13
- package/Server/Services/IncidentCustomFieldService.ts +112 -2
- package/Server/Services/IncidentEpisodeMemberService.ts +24 -4
- package/Server/Services/IncidentEpisodeService.ts +10 -1
- package/Server/Services/IncidentFormService.ts +1566 -0
- package/Server/Services/IncidentFormSubmissionService.ts +97 -0
- package/Server/Services/IncidentGroupingEngineService.ts +45 -8
- package/Server/Services/IncidentService.ts +123 -5
- package/Server/Services/IncidentTemplateService.ts +22 -0
- package/Server/Services/Index.ts +14 -0
- package/Server/Services/MessageQueueLabelRuleEngineService.ts +321 -0
- package/Server/Services/MessageQueueLabelRuleService.ts +14 -0
- package/Server/Services/MessageQueueOwnerRuleEngineService.ts +412 -0
- package/Server/Services/MessageQueueOwnerRuleService.ts +14 -0
- package/Server/Services/MessageQueueOwnerTeamService.ts +62 -0
- package/Server/Services/MessageQueueOwnerUserService.ts +62 -0
- package/Server/Services/MessageQueueService.ts +1463 -0
- package/Server/Services/OpenTelemetryIngestService.ts +37 -4
- package/Server/Services/ProjectService.ts +0 -59
- package/Server/Services/StatusPagePrivateUserService.ts +1 -4
- package/Server/Services/StatusPageService.ts +1 -51
- package/Server/Services/TeamComplianceSettingService.ts +163 -42
- package/Server/Services/UserNotificationRuleService.ts +8 -1
- package/Server/Services/WorkspaceNotificationSummaryService.ts +12 -3
- package/Server/Types/Database/Permissions/CreatePermission.ts +17 -3
- package/Server/Types/Database/Permissions/EditionPermission.ts +140 -38
- package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +16 -0
- package/Server/Types/Database/Permissions/TablePermission.ts +3 -3
- package/Server/Types/Database/Permissions/UpdatePermission.ts +20 -6
- package/Server/Utils/AI/Chat/AgentContextCompactor.ts +200 -0
- package/Server/Utils/AI/Chat/ChatAgentRunner.ts +307 -48
- package/Server/Utils/AI/Chat/ChatRunCancellation.ts +156 -0
- package/Server/Utils/AI/Chat/ObservabilityAssistant.ts +78 -18
- package/Server/Utils/AI/Chat/ObservabilityChatPrompt.ts +1 -1
- package/Server/Utils/AI/Chat/ToolOutputPager.ts +322 -0
- package/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.ts +88 -30
- package/Server/Utils/AI/ClusterAccess/KubectlJobRunner.ts +13 -1
- package/Server/Utils/AI/CodeFix/CodeFixReadiness.ts +0 -32
- package/Server/Utils/AI/CodeFix/FixRunBudget.ts +27 -25
- package/Server/Utils/AI/Remediation/RemediationCommandTools.ts +7 -1
- package/Server/Utils/AI/Remediation/RemediationExecutionRunner.ts +34 -14
- package/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.ts +69 -24
- package/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.ts +9 -0
- package/Server/Utils/AI/SRE/AIInvestigationEngine.ts +53 -10
- package/Server/Utils/AI/SRE/AlertInvestigationRunner.ts +27 -10
- package/Server/Utils/AI/SRE/IncidentInvestigationRunner.ts +27 -10
- package/Server/Utils/AI/SRE/InvestigationQueue.ts +16 -19
- package/Server/Utils/AI/SRE/InvestigationThread.ts +646 -0
- package/Server/Utils/AI/SRE/InvestigationThreadService.ts +715 -0
- package/Server/Utils/AI/Toolbox/Serializer.ts +10 -3
- package/Server/Utils/EditionEnforcement.ts +19 -202
- package/Server/Utils/LLM/LLMService.ts +259 -63
- package/Server/Utils/RelaxedScimTeamLocksReport.ts +245 -0
- package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +25 -0
- package/Server/Utils/SameOriginRequest.ts +203 -0
- package/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.ts +2 -0
- package/Server/Utils/Telemetry/EntityRegistry.ts +4 -1
- package/Server/Utils/Telemetry/MessageQueueDiscovery.ts +1402 -0
- package/Server/Utils/Telemetry/ResourceEntityFilter.ts +4 -1
- package/Server/Utils/VendorAssets.ts +3 -3
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.ts +3 -1
- package/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.ts +3 -1
- package/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.ts +10 -1
- package/Tests/App/Accounts/IncidentFormPage.test.tsx +2036 -0
- package/Tests/App/Accounts/IncidentFormServerMessages.test.ts +119 -0
- package/Tests/App/Accounts/IncidentFormUtils.test.ts +1157 -0
- package/Tests/App/Accounts/LoginPasskey.test.tsx +6 -4
- package/Tests/App/Accounts/LoginSso.test.tsx +724 -0
- package/Tests/App/AdminDashboard/AdminAuthenticationRequireSso.test.tsx +338 -0
- package/Tests/App/AdminDashboard/AdminAuthenticationSsoCardLocales.test.tsx +331 -0
- package/Tests/App/AdminDashboard/AdminEnterprisePluginPage.test.tsx +47 -33
- package/Tests/App/AdminDashboard/GlobalSsoOidcPages.test.tsx +1021 -0
- package/Tests/App/Dashboard/AffectedResourcesDisplay.test.tsx +876 -78
- package/Tests/App/Dashboard/AffectedResourcesSlo.test.tsx +20 -3
- package/Tests/App/Dashboard/CephProxmoxVMwareDocumentationCards.test.tsx +359 -0
- package/Tests/App/Dashboard/CephSetupGuide.test.ts +961 -0
- package/Tests/App/Dashboard/CloudDocumentationCard.test.tsx +381 -95
- package/Tests/App/Dashboard/CloudSetupGuide.test.ts +1463 -0
- package/Tests/App/Dashboard/ClusterAccessNotice.test.tsx +174 -12
- package/Tests/App/Dashboard/ContainerSetupGuideCards.test.tsx +345 -0
- package/Tests/App/Dashboard/CoreListEmptyStates.test.tsx +501 -0
- package/Tests/App/Dashboard/DashboardLazyPages.test.tsx +0 -1
- package/Tests/App/Dashboard/DatabaseDocumentationCard.test.tsx +400 -0
- package/Tests/App/Dashboard/DatabaseDocumentationMarkdown.test.ts +5 -0
- package/Tests/App/Dashboard/DatabaseSetupGuide.test.ts +1869 -0
- package/Tests/App/Dashboard/DatabaseTelemetryScope.test.ts +44 -0
- package/Tests/App/Dashboard/DatabaseTelemetryTabs.test.tsx +50 -9
- package/Tests/App/Dashboard/DockerSetupGuide.test.ts +899 -0
- package/Tests/App/Dashboard/DockerSwarmSetupGuide.test.ts +964 -0
- package/Tests/App/Dashboard/EnterpriseFeatureUpgrade.test.tsx +141 -7
- package/Tests/App/Dashboard/EnterprisePluginPage.test.tsx +52 -39
- package/Tests/App/Dashboard/EventOverviewPages.test.tsx +7 -1
- package/Tests/App/Dashboard/GettingStartedTaskRoutes.test.tsx +331 -0
- package/Tests/App/Dashboard/HomeOverviewStatsFirstRun.test.tsx +925 -0
- package/Tests/App/Dashboard/HostDocumentationCard.test.tsx +225 -0
- package/Tests/App/Dashboard/HostSetupGuide.test.ts +1183 -0
- package/Tests/App/Dashboard/IdentityEnterpriseShells.test.tsx +69 -45
- package/Tests/App/Dashboard/IncidentCreateTemplateCustomFieldSettings.test.tsx +745 -0
- package/Tests/App/Dashboard/IncidentCreateTemplateOwners.test.tsx +414 -0
- package/Tests/App/Dashboard/IncidentCustomFieldCreateSettingsForm.test.ts +1042 -0
- package/Tests/App/Dashboard/IncidentCustomFieldSettingsCard.test.tsx +1816 -0
- package/Tests/App/Dashboard/IncidentFormPlan.test.ts +89 -0
- package/Tests/App/Dashboard/IncidentFormShareLinkCard.test.tsx +846 -0
- package/Tests/App/Dashboard/IncidentFormsPages.test.tsx +1324 -0
- package/Tests/App/Dashboard/IncidentTemplateCustomFieldSettings.test.tsx +630 -0
- package/Tests/App/Dashboard/IncidentsSideMenu.test.tsx +13 -0
- package/Tests/App/Dashboard/IncomingEmailMonitorLinkVerifyHint.test.tsx +104 -0
- package/Tests/App/Dashboard/InvestigationConversation.test.tsx +1107 -0
- package/Tests/App/Dashboard/InvestigationConversationData.test.ts +546 -0
- package/Tests/App/Dashboard/InvestigationEvidenceList.test.tsx +170 -5
- package/Tests/App/Dashboard/InvestigationNotStarted.test.tsx +207 -2
- package/Tests/App/Dashboard/InvestigationPanel.test.tsx +729 -34
- package/Tests/App/Dashboard/InvestigationPanelStatus.test.tsx +9 -21
- package/Tests/App/Dashboard/InvestigationReportView.test.tsx +274 -37
- package/Tests/App/Dashboard/InvestigationStatusBadge.test.tsx +130 -0
- package/Tests/App/Dashboard/IoTDocumentationCard.test.tsx +218 -0
- package/Tests/App/Dashboard/IoTSetupGuide.test.ts +1124 -0
- package/Tests/App/Dashboard/KubernetesClusterAiAccessSettings.test.ts +20 -6
- package/Tests/App/Dashboard/KubernetesClusterAiDocumentationMarkdown.test.ts +107 -83
- package/Tests/App/Dashboard/KubernetesSetupGuide.test.ts +787 -0
- package/Tests/App/Dashboard/MessageQueueBreadcrumbs.test.tsx +228 -0
- package/Tests/App/Dashboard/MessageQueueBrokerHealth.test.tsx +1538 -0
- package/Tests/App/Dashboard/MessageQueueBrokerHealthMetricChart.test.tsx +969 -0
- package/Tests/App/Dashboard/MessageQueueBrokerHealthReads.test.ts +889 -0
- package/Tests/App/Dashboard/MessageQueueBrokerMetricsReach.test.ts +236 -0
- package/Tests/App/Dashboard/MessageQueueDocumentationCard.test.tsx +479 -0
- package/Tests/App/Dashboard/MessageQueueListPages.test.tsx +1232 -0
- package/Tests/App/Dashboard/MessageQueueMetricDescriptions.test.ts +244 -0
- package/Tests/App/Dashboard/MessageQueueMonitorLink.test.ts +952 -0
- package/Tests/App/Dashboard/MessageQueueMonitorLinkMonitorCreate.test.tsx +859 -0
- package/Tests/App/Dashboard/MessageQueueOverview.test.tsx +1773 -0
- package/Tests/App/Dashboard/MessageQueueOverviewPresentation.test.ts +196 -0
- package/Tests/App/Dashboard/MessageQueuePresentation.test.ts +799 -0
- package/Tests/App/Dashboard/MessageQueueProducersConsumers.test.tsx +680 -0
- package/Tests/App/Dashboard/MessageQueueRoutes.test.tsx +383 -0
- package/Tests/App/Dashboard/MessageQueueRulePages.test.tsx +278 -0
- package/Tests/App/Dashboard/MessageQueueSetupGuide.test.ts +2778 -0
- package/Tests/App/Dashboard/MessageQueueSideMenus.test.tsx +273 -0
- package/Tests/App/Dashboard/MessageQueueSpanPopulations.test.ts +930 -0
- package/Tests/App/Dashboard/MessageQueueSpanStore.ts +351 -0
- package/Tests/App/Dashboard/MessageQueueTelemetryScope.test.ts +375 -0
- package/Tests/App/Dashboard/MessageQueueTelemetryScopeTabs.test.tsx +668 -0
- package/Tests/App/Dashboard/MessageQueueViewPages.test.tsx +685 -0
- package/Tests/App/Dashboard/MonitorAndHomeNotOperationalMenus.test.tsx +342 -0
- package/Tests/App/Dashboard/MonitorCreateFirstRunDefaults.test.tsx +623 -0
- package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +442 -0
- package/Tests/App/Dashboard/MonitorLogsPageViewSummary.test.tsx +814 -0
- package/Tests/App/Dashboard/MonitorSetupCardBodies.test.tsx +246 -0
- package/Tests/App/Dashboard/NavigationSearchKeywords.test.tsx +8 -0
- package/Tests/App/Dashboard/OnboardingSsoEmptyState.test.tsx +27 -12
- package/Tests/App/Dashboard/PlanGatedPage.test.tsx +292 -0
- package/Tests/App/Dashboard/PodmanSetupGuide.test.ts +948 -0
- package/Tests/App/Dashboard/ProductOrientation.test.tsx +5 -4
- package/Tests/App/Dashboard/ProductSettingsSectionCollapsed.test.tsx +266 -0
- package/Tests/App/Dashboard/ProxmoxSetupGuide.test.ts +1318 -0
- package/Tests/App/Dashboard/ResourceAiAgentAttentionServerParity.test.ts +555 -0
- package/Tests/App/Dashboard/ResourceAiAgentPage.test.tsx +298 -9
- package/Tests/App/Dashboard/ResourceAiAgentStatus.test.ts +453 -0
- package/Tests/App/Dashboard/ResourceArchiveSettings.test.tsx +16 -0
- package/Tests/App/Dashboard/ResourceConnectionGuideCard.test.tsx +444 -0
- package/Tests/App/Dashboard/ResourceConnectionGuideOverviewsInfra.test.tsx +798 -0
- package/Tests/App/Dashboard/ResourceConnectionGuideOverviewsPlatforms.test.tsx +717 -0
- package/Tests/App/Dashboard/ResourceConnectionGuides.test.ts +981 -0
- package/Tests/App/Dashboard/ResourceConnectionState.test.ts +132 -0
- package/Tests/App/Dashboard/RumDocumentationCard.test.tsx +293 -0
- package/Tests/App/Dashboard/RumSessionReplayRetentionSettings.test.tsx +467 -0
- package/Tests/App/Dashboard/RumSetupGuide.test.ts +758 -0
- package/Tests/App/Dashboard/ScheduledMaintenanceOverviewPage.test.tsx +25 -0
- package/Tests/App/Dashboard/ServerlessDocumentationCard.test.tsx +254 -0
- package/Tests/App/Dashboard/ServerlessSetupGuide.test.ts +1074 -0
- package/Tests/App/Dashboard/SetupGuide.test.ts +246 -0
- package/Tests/App/Dashboard/SetupGuideCard.test.tsx +756 -0
- package/Tests/App/Dashboard/SloListSideMenu.test.tsx +120 -0
- package/Tests/App/Dashboard/SsoPages.test.tsx +833 -0
- package/Tests/App/Dashboard/TelemetryDocumentation.test.tsx +253 -0
- package/Tests/App/Dashboard/TelemetryRetentionShells.test.tsx +730 -0
- package/Tests/App/Dashboard/VMwareSetupGuide.test.ts +1033 -0
- package/Tests/App/StatusPage/StatusPageSsoEmptyState.test.tsx +87 -7
- package/Tests/Models/DatabaseModels/DatabaseServerModels.test.ts +28 -9
- package/Tests/Models/DatabaseModels/IncidentFormModel.test.ts +1250 -0
- package/Tests/Models/DatabaseModels/MessageQueueModels.test.ts +1983 -0
- package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +4 -2
- package/Tests/Models/DatabaseModels/TeamComplianceSettingModel.test.ts +190 -14
- package/Tests/Models/IncidentTemplateCustomFieldSettingsColumn.test.ts +291 -0
- package/Tests/Server/API/AIInvestigationConversationAPI.test.ts +412 -0
- package/Tests/Server/API/GlobalConfigLicense.test.ts +38 -9
- package/Tests/Server/API/IncidentFormAPI.test.ts +942 -0
- package/Tests/Server/API/IncidentFormPublicRoutes.test.ts +1653 -0
- package/Tests/Server/API/KubernetesClusterAiAccessAPI.test.ts +2 -1
- package/Tests/Server/API/{SsoProviderListingsEdition.test.ts → SsoProviderListings.test.ts} +164 -110
- package/Tests/Server/Enterprise/EnterpriseEdition.test.ts +76 -54
- package/Tests/Server/Enterprise/EnterpriseFeatureActive.test.ts +125 -42
- package/Tests/Server/Enterprise/EnterpriseLicenseSnapshot.test.ts +36 -10
- package/Tests/Server/Enterprise/EnterpriseModelFeatureMap.test.ts +51 -9
- package/Tests/Server/Enterprise/FakeEnterpriseModule.ts +13 -8
- package/Tests/Server/Enterprise/SsoInCommunityEdition.test.ts +540 -0
- package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +3 -0
- package/Tests/Server/Infrastructure/Postgres/AddIncidentFormsMigration.test.ts +438 -0
- package/Tests/Server/Infrastructure/Postgres/AddTeamComplianceRuleNotificationChannelsMigration.test.ts +255 -0
- package/Tests/Server/Infrastructure/Postgres/MessageQueueTablesMigration.test.ts +637 -0
- package/Tests/Server/Middleware/IncidentFormRateLimit.test.ts +1630 -0
- package/Tests/Server/Middleware/UserAuthorization.test.ts +16 -17
- package/Tests/Server/Middleware/UserAuthorizationSsoEnforcement.test.ts +544 -0
- package/Tests/Server/Services/AIServiceDailyBudget.test.ts +37 -8
- package/Tests/Server/Services/IncidentCreatedFeedTitle.test.ts +212 -0
- package/Tests/Server/Services/IncidentCustomFieldDeleteFormQuestions.test.ts +297 -0
- package/Tests/Server/Services/IncidentFormOwnersCreatedNotification.test.ts +497 -0
- package/Tests/Server/Services/IncidentFormPostgres.test.ts +958 -0
- package/Tests/Server/Services/IncidentFormPublicForm.test.ts +1260 -0
- package/Tests/Server/Services/IncidentFormPublicSubmission.test.ts +2520 -0
- package/Tests/Server/Services/IncidentFormRegistration.test.ts +159 -0
- package/Tests/Server/Services/IncidentFormService.test.ts +663 -0
- package/Tests/Server/Services/IncidentFormSubmissionService.test.ts +430 -0
- package/Tests/Server/Services/IncidentFormSubmissionTemplateBranch.test.ts +473 -0
- package/Tests/Server/Services/IncidentGroupingTemplateSubstitution.test.ts +81 -0
- package/Tests/Server/Services/IncidentTemplateCustomFieldSettings.test.ts +262 -0
- package/Tests/Server/Services/IncidentTemplateOwnersOnDeclare.test.ts +566 -0
- package/Tests/Server/Services/IncidentTitleMarkdownSinks.test.ts +640 -0
- package/Tests/Server/Services/LlmLogServiceTokenAggregateParams.test.ts +3 -3
- package/Tests/Server/Services/MessageQueueOwnerServices.test.ts +440 -0
- package/Tests/Server/Services/MessageQueueRegistries.test.ts +577 -0
- package/Tests/Server/Services/MessageQueueRuleEngines.test.ts +900 -0
- package/Tests/Server/Services/MessageQueueService.test.ts +2210 -0
- package/Tests/Server/Services/MessageQueueSqlPostgres.test.ts +1271 -0
- package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +28 -1
- package/Tests/Server/Services/OpenTelemetryRetentionOverrideEdition.test.ts +474 -0
- package/Tests/Server/Services/OpenTelemetryServiceResolutionCache.test.ts +21 -0
- package/Tests/Server/Services/OwnerRowUniqueness.test.ts +3 -0
- package/Tests/Server/Services/ProjectServiceAuditLogLicense.test.ts +0 -1
- package/Tests/Server/Services/RuleRun/LabelRuleEnginesGroupBRun.test.ts +56 -6
- package/Tests/Server/Services/RuleRun/OwnerRuleEnginesGroupBRun.test.ts +30 -1
- package/Tests/Server/Services/SsoRequirementReads.test.ts +454 -0
- package/Tests/Server/Services/SsoRequirementWrites.test.ts +529 -0
- package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +3 -3
- package/Tests/Server/Services/StatusPagePrivateUserInvitationPolicy.test.ts +107 -89
- package/Tests/Server/Services/TeamComplianceSettingPostgres.test.ts +1068 -176
- package/Tests/Server/Services/TeamComplianceSettingService.test.ts +1962 -200
- package/Tests/Server/Types/Database/Permissions/EditionPermission.test.ts +654 -297
- package/Tests/Server/Types/Database/Permissions/RetentionOverrideColumns.test.ts +784 -0
- package/Tests/Server/Types/Database/Permissions/SsoScalePlanGate.test.ts +418 -0
- package/Tests/Server/Utils/AI/AIAlertGating.test.ts +0 -1
- package/Tests/Server/Utils/AI/AIInvestigationEngineRunLimits.test.ts +136 -0
- package/Tests/Server/Utils/AI/AIInvestigationQueue.test.ts +15 -14
- package/Tests/Server/Utils/AI/AgentContextCompactor.test.ts +351 -0
- package/Tests/Server/Utils/AI/ChatAgentRunnerSharedThread.test.ts +842 -0
- package/Tests/Server/Utils/AI/ChatRunCancellation.test.ts +195 -0
- package/Tests/Server/Utils/AI/CodeFixReadiness.test.ts +10 -57
- package/Tests/Server/Utils/AI/FixRunBudget.test.ts +20 -24
- package/Tests/Server/Utils/AI/Insights/InvestigationQueueInsightSubject.test.ts +7 -30
- package/Tests/Server/Utils/AI/InvestigationClusterAccessWiring.test.ts +225 -29
- package/Tests/Server/Utils/AI/InvestigationInfrastructureAccessWiring.test.ts +266 -25
- package/Tests/Server/Utils/AI/InvestigationThread.test.ts +580 -0
- package/Tests/Server/Utils/AI/InvestigationThreadService.test.ts +801 -0
- package/Tests/Server/Utils/AI/KubectlInvestigationToolkit.test.ts +525 -43
- package/Tests/Server/Utils/AI/KubectlJobRunner.test.ts +4 -2
- package/Tests/Server/Utils/AI/LLMServiceUnreachableProvider.test.ts +435 -0
- package/Tests/Server/Utils/AI/ObservabilityAssistantLimits.test.ts +462 -0
- package/Tests/Server/Utils/AI/RemediationExecutionRunner.test.ts +14 -25
- package/Tests/Server/Utils/AI/RemediationExecutionRunnerResourceMode.test.ts +2 -0
- package/Tests/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.test.ts +297 -15
- package/Tests/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.test.ts +10 -6
- package/Tests/Server/Utils/AI/ToolOutputPager.test.ts +382 -0
- package/Tests/Server/Utils/AI/ToolResultSerializer.test.ts +23 -4
- package/Tests/Server/Utils/AI/Toolbox/LogTools.test.ts +25 -6
- package/Tests/Server/Utils/AI/Toolbox/Serializer.test.ts +14 -3
- package/Tests/Server/Utils/EditionEnforcement.test.ts +107 -147
- package/Tests/Server/Utils/{CommunityEditionSsoReport.test.ts → RelaxedScimTeamLocksReport.test.ts} +212 -208
- package/Tests/Server/Utils/SameOriginRequest.test.ts +372 -0
- package/Tests/Server/Utils/Telemetry/EntityRegistry.test.ts +20 -0
- package/Tests/Server/Utils/Telemetry/MessageQueueDiscovery.test.ts +2590 -0
- package/Tests/Server/Utils/Telemetry/MessageQueueSpanQueryTwin.ts +246 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +23 -0
- package/Tests/Types/AI/AIAgentRunLimits.test.ts +255 -0
- package/Tests/Types/Code/JsonSyntax.test.ts +1300 -0
- package/Tests/Types/CustomField/CustomFieldCreateSettings.test.ts +1113 -0
- package/Tests/Types/CustomField/CustomFieldMappingCatalog.test.ts +91 -0
- package/Tests/Types/CustomField/CustomFieldValueValidator.test.ts +30 -0
- package/Tests/Types/Incident/IncidentFormIpAllowlist.test.ts +227 -0
- package/Tests/Types/Incident/IncidentFormPublic.test.ts +1916 -0
- package/Tests/Types/MessageQueue/MessageQueueEntityKey.test.ts +916 -0
- package/Tests/Types/MessageQueue/MessageQueueIdentity.test.ts +567 -0
- package/Tests/Types/MessageQueue/MessageQueueManualIdentity.test.ts +686 -0
- package/Tests/Types/MessageQueue/MessageQueueMetricCatalog.test.ts +1726 -0
- package/Tests/Types/MessageQueue/MessageQueueMetricResolution.test.ts +1758 -0
- package/Tests/Types/MessageQueue/MessagingInstrumentationFixtures.test.ts +4686 -0
- package/Tests/Types/MessageQueue/MessagingSystem.test.ts +840 -0
- package/Tests/Types/MessageQueue/MessagingTelemetryFixtures.ts +3287 -0
- package/Tests/Types/MessageQueue/MessagingTelemetryResolver.test.ts +2966 -0
- package/Tests/Types/Monitor/MessageQueueAlertTemplates.test.ts +5401 -0
- package/Tests/Types/Monitor/MetricEngineFold.ts +154 -0
- package/Tests/Types/ResourceAiAgent/ResourceAiAccess.test.ts +5 -3
- package/Tests/Types/Team/ComplianceRule.test.ts +588 -37
- package/Tests/Types/Team/TeamComplianceStatus.test.ts +64 -11
- package/Tests/Types/XML.test.ts +51 -0
- package/Tests/UI/Components/CodeEditor/CodeEditor.test.tsx +2362 -0
- package/Tests/UI/Components/CodeEditor/CodeEditorCommands.test.ts +810 -0
- package/Tests/UI/Components/CodeEditor/CodeEditorHighlight.test.ts +338 -0
- package/Tests/UI/Components/CodeEditor/CodeEditorLanguages.test.ts +222 -0
- package/Tests/UI/Components/CodeEditor/CodeEditorStyles.test.ts +807 -0
- package/Tests/UI/Components/CodeEditor/NoMonaco.test.ts +245 -0
- package/Tests/UI/Components/CodeEditor/YamlEditor.test.tsx +729 -0
- package/Tests/UI/Components/CopyTextButton.test.tsx +76 -0
- package/Tests/UI/Components/EditionLabelLapseCopy.ts +51 -14
- package/Tests/UI/Components/EditionLabelLicenseStatus.test.tsx +131 -23
- package/Tests/UI/Components/ErrorMessageAction.test.tsx +142 -0
- package/Tests/UI/Components/FacetSidebarInScope.test.tsx +459 -0
- package/Tests/UI/Components/FacetValuesInScope.test.ts +270 -0
- package/Tests/UI/Components/Forms/FormFieldCodeEditors.test.tsx +294 -0
- package/Tests/UI/Components/Forms/FormFieldMarkdown.test.tsx +126 -0
- package/Tests/UI/Components/Forms/FormFieldYaml.test.tsx +22 -75
- package/Tests/UI/Components/Forms/ModelFormOnBeforeCreateMiscData.test.tsx +254 -0
- package/Tests/UI/Components/Icon.test.tsx +32 -0
- package/Tests/UI/Components/Input.test.tsx +31 -0
- package/Tests/UI/Components/LockedFilterChipScope.test.tsx +501 -0
- package/Tests/UI/Components/MarkdownConverters.test.ts +253 -1
- package/Tests/UI/Components/MarkdownEditor.test.tsx +2785 -2
- package/Tests/UI/Components/MarkdownEditorHistory.test.ts +243 -0
- package/Tests/UI/Components/MarkdownListEditing.test.ts +1118 -0
- package/Tests/UI/Components/MarkdownPaste.test.ts +1180 -0
- package/Tests/UI/Components/MarkdownViewerCopy.test.tsx +466 -0
- package/Tests/UI/Components/MarkdownVisualEditing.test.ts +1089 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableEmptyStateAction.test.tsx +623 -0
- package/Tests/UI/Components/ResetObjectID.test.tsx +282 -0
- package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
- package/Tests/UI/Components/Table/EmptyTableMessage.test.ts +439 -0
- package/Tests/UI/Components/Table/TableEmptyState.test.tsx +352 -0
- package/Tests/UI/Components/TableRowMobileTitles.test.tsx +78 -0
- package/Tests/UI/Components/TextArea.test.tsx +19 -0
- package/Tests/UI/Components/Workflow/ModelColumnEditor.render.test.tsx +12 -29
- package/Tests/UI/Components/fixtures/MarkdownPasteFixtures.ts +460 -0
- package/Tests/UI/EsbuildConfig.test.ts +115 -39
- package/Tests/UI/EsbuildEnterpriseAlias.test.ts +4 -4
- package/Tests/UI/Monitor/MonitorLogSummaryRender.test.tsx +377 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +81 -1
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +17 -0
- package/Tests/Utils/LabelRuleImportExport.test.ts +5 -0
- package/Tests/Utils/Markdown/DashboardMarkdownRenderer.ts +81 -0
- package/Tests/Utils/Markdown/UntrustedMarkdown.test.ts +1339 -0
- package/Tests/Utils/Monitor/MonitorLogSummaryUtil.test.ts +862 -0
- package/Types/AI/AIAgentRunLimits.ts +146 -0
- package/Types/Code/CodeType.ts +2 -0
- package/Types/Code/JsonSyntax.ts +923 -0
- package/Types/CustomField/CustomFieldCreateSettings.ts +549 -0
- package/Types/CustomField/CustomFieldMappingCatalog.ts +77 -0
- package/Types/CustomField/CustomFieldValueValidator.ts +10 -7
- package/Types/EnterpriseLicense/EnterpriseLicensePeriods.ts +1 -1
- package/Types/Icon/IconProp.ts +2 -0
- package/Types/Incident/IncidentFormIpAllowlist.ts +206 -0
- package/Types/Incident/IncidentFormPublic.ts +1145 -0
- package/Types/Kubernetes/KubernetesClusterAiAccess.ts +10 -3
- package/Types/MessageQueue/MessageQueueIdentity.ts +256 -0
- package/Types/MessageQueue/MessageQueueManualIdentity.ts +325 -0
- package/Types/MessageQueue/MessageQueueMetricCatalog.ts +1357 -0
- package/Types/MessageQueue/MessagingSystem.ts +518 -0
- package/Types/MessageQueue/MessagingTelemetryResolver.ts +2311 -0
- package/Types/Monitor/MessageQueueAlertTemplates.ts +2128 -0
- package/Types/Permission.ts +310 -0
- package/Types/ResourceAiAgent/ResourceAiAccess.ts +10 -4
- package/Types/Rules/RuleCriteriaFieldRegistry.ts +12 -0
- package/Types/Rules/RuleRun.ts +4 -0
- package/Types/Team/ComplianceNotificationChannel.ts +4 -3
- package/Types/Team/ComplianceRule.ts +71 -18
- package/Types/Team/ComplianceRuleType.ts +2 -2
- package/Types/Team/TeamComplianceStatus.ts +6 -2
- package/Types/Telemetry/EntityType.ts +16 -0
- package/Types/Telemetry/LockedFilterDetail.ts +22 -0
- package/Types/XML.ts +26 -0
- package/UI/Components/CodeEditor/CodeEditor.css +379 -0
- package/UI/Components/CodeEditor/CodeEditor.tsx +1128 -294
- package/UI/Components/CodeEditor/CodeEditorCommands.ts +774 -0
- package/UI/Components/CodeEditor/CodeEditorHighlight.ts +106 -0
- package/UI/Components/CodeEditor/CodeEditorLanguages.ts +164 -0
- package/UI/Components/CodeEditor/YamlEditor.tsx +28 -326
- package/UI/Components/CopyTextButton/CopyTextButton.tsx +5 -1
- package/UI/Components/CustomFields/CustomFieldModelFormFields.tsx +6 -25
- package/UI/Components/EditionLabel/EditionLabel.tsx +14 -13
- package/UI/Components/ErrorMessage/ErrorMessage.tsx +11 -1
- package/UI/Components/Forms/Fields/FormField.tsx +8 -0
- package/UI/Components/Forms/Types/Field.ts +8 -0
- package/UI/Components/Icon/Icon.tsx +18 -0
- package/UI/Components/Input/Input.tsx +11 -4
- package/UI/Components/LogsViewer/LogsViewer.tsx +4 -0
- package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +21 -3
- package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
- package/UI/Components/Markdown.tsx/MarkdownEditor.tsx +877 -79
- package/UI/Components/Markdown.tsx/MarkdownEditorHistory.ts +284 -0
- package/UI/Components/Markdown.tsx/MarkdownListEditing.ts +1362 -0
- package/UI/Components/Markdown.tsx/MarkdownPaste.ts +1326 -0
- package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +106 -10
- package/UI/Components/Markdown.tsx/MarkdownVisualEditing.ts +1032 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +85 -7
- package/UI/Components/ResetObjectID/ResetObjectID.tsx +35 -9
- package/UI/Components/Table/EmptyTableMessage.ts +81 -0
- package/UI/Components/Table/Table.tsx +50 -21
- package/UI/Components/Table/TableRow.tsx +9 -1
- package/UI/Components/TelemetryViewer/FacetVisibility.ts +97 -2
- package/UI/Components/TelemetryViewer/TelemetryViewer.tsx +13 -0
- package/UI/Components/TelemetryViewer/components/LockedFilterChip.tsx +214 -7
- package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +21 -3
- package/UI/Components/TextArea/TextArea.tsx +9 -2
- package/UI/Components/Workflow/ModelFieldPicker.tsx +10 -12
- package/UI/Styles/Theme.css +8 -0
- package/UI/esbuild-config.js +2 -32
- package/Utils/LabelRuleImportExport.ts +2 -0
- package/Utils/Markdown/UntrustedMarkdown.ts +1513 -0
- package/Utils/Monitor/IncomingEmailMonitorRequestUtil.ts +41 -0
- package/Utils/Monitor/MonitorLogSummaryUtil.ts +212 -0
- package/Utils/Telemetry/EntityKey.ts +48 -0
- package/build/dist/Models/DatabaseModels/AIConversation.js +125 -1
- package/build/dist/Models/DatabaseModels/AIConversation.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CephCluster.js +12 -0
- package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CloudResource.js +12 -0
- package/build/dist/Models/DatabaseModels/CloudResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DatabaseServer.js +12 -0
- package/build/dist/Models/DatabaseModels/DatabaseServer.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerHost.js +12 -0
- package/build/dist/Models/DatabaseModels/DockerHost.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +12 -0
- package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalOidc.js +0 -4
- package/build/dist/Models/DatabaseModels/GlobalOidc.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js +0 -4
- package/build/dist/Models/DatabaseModels/GlobalOidcProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalSso.js +0 -4
- package/build/dist/Models/DatabaseModels/GlobalSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js +0 -4
- package/build/dist/Models/DatabaseModels/GlobalSsoProject.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Host.js +12 -0
- package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentForm.js +605 -0
- package/build/dist/Models/DatabaseModels/IncidentForm.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentFormSubmission.js +299 -0
- package/build/dist/Models/DatabaseModels/IncidentFormSubmission.js.map +1 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js +60 -0
- package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +14 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IoTFleet.js +12 -0
- package/build/dist/Models/DatabaseModels/IoTFleet.js.map +1 -1
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js +12 -0
- package/build/dist/Models/DatabaseModels/KubernetesCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MessageQueue.js +1106 -0
- package/build/dist/Models/DatabaseModels/MessageQueue.js.map +1 -0
- package/build/dist/Models/DatabaseModels/MessageQueueLabelRule.js +562 -0
- package/build/dist/Models/DatabaseModels/MessageQueueLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/MessageQueueOwnerRule.js +643 -0
- package/build/dist/Models/DatabaseModels/MessageQueueOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/MessageQueueOwnerTeam.js +506 -0
- package/build/dist/Models/DatabaseModels/MessageQueueOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/MessageQueueOwnerUser.js +505 -0
- package/build/dist/Models/DatabaseModels/MessageQueueOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/PodmanHost.js +12 -0
- package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +61 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectOidc.js +0 -4
- package/build/dist/Models/DatabaseModels/ProjectOidc.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProjectSso.js +0 -4
- package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +12 -0
- package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -1
- package/build/dist/Models/DatabaseModels/RumApplication.js +12 -0
- package/build/dist/Models/DatabaseModels/RumApplication.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ServerlessFunction.js +12 -0
- package/build/dist/Models/DatabaseModels/ServerlessFunction.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Service.js +12 -0
- package/build/dist/Models/DatabaseModels/Service.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageOidc.js +0 -4
- package/build/dist/Models/DatabaseModels/StatusPageOidc.js.map +1 -1
- package/build/dist/Models/DatabaseModels/StatusPageSso.js +0 -4
- package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js +49 -3
- package/build/dist/Models/DatabaseModels/TeamComplianceSetting.js.map +1 -1
- package/build/dist/Models/DatabaseModels/VMwareVCenter.js +12 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenter.js.map +1 -1
- package/build/dist/Server/API/AIChatAPI.js +9 -103
- package/build/dist/Server/API/AIChatAPI.js.map +1 -1
- package/build/dist/Server/API/AIInvestigationAPI.js +3 -3
- package/build/dist/Server/API/AIInvestigationAPI.js.map +1 -1
- package/build/dist/Server/API/AIInvestigationConversationAPI.js +162 -0
- package/build/dist/Server/API/AIInvestigationConversationAPI.js.map +1 -0
- package/build/dist/Server/API/IncidentFormAPI.js +245 -0
- package/build/dist/Server/API/IncidentFormAPI.js.map +1 -0
- package/build/dist/Server/API/ProjectOIDC.js +16 -24
- package/build/dist/Server/API/ProjectOIDC.js.map +1 -1
- package/build/dist/Server/API/ProjectSSO.js +16 -24
- package/build/dist/Server/API/ProjectSSO.js.map +1 -1
- package/build/dist/Server/API/StatusPageAPI.js +42 -75
- package/build/dist/Server/API/StatusPageAPI.js.map +1 -1
- package/build/dist/Server/Enterprise/EnterpriseEdition.js +79 -25
- package/build/dist/Server/Enterprise/EnterpriseEdition.js.map +1 -1
- package/build/dist/Server/Enterprise/EnterpriseFeature.js +24 -3
- package/build/dist/Server/Enterprise/EnterpriseFeature.js.map +1 -1
- package/build/dist/Server/Enterprise/EnterpriseLicenseSnapshot.js +1 -1
- package/build/dist/Server/Enterprise/EnterpriseServerModule.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.js +63 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796400000000-AddIncidentForms.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.js +41 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796500000000-AddTeamComplianceRuleNotificationChannels.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796600000000-AddAIInvestigationConversationAndTimeLimits.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.js +183 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1796700000000-AddMessageQueueTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/IncidentFormRateLimit.js +559 -0
- package/build/dist/Server/Middleware/IncidentFormRateLimit.js.map +1 -0
- package/build/dist/Server/Middleware/UserAuthorization.js +11 -30
- package/build/dist/Server/Middleware/UserAuthorization.js.map +1 -1
- package/build/dist/Server/Services/AIService.js +10 -13
- package/build/dist/Server/Services/AIService.js.map +1 -1
- package/build/dist/Server/Services/IncidentCustomFieldService.js +83 -0
- package/build/dist/Server/Services/IncidentCustomFieldService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeMemberService.js +8 -4
- package/build/dist/Server/Services/IncidentEpisodeMemberService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeService.js +10 -1
- package/build/dist/Server/Services/IncidentEpisodeService.js.map +1 -1
- package/build/dist/Server/Services/IncidentFormService.js +1202 -0
- package/build/dist/Server/Services/IncidentFormService.js.map +1 -0
- package/build/dist/Server/Services/IncidentFormSubmissionService.js +91 -0
- package/build/dist/Server/Services/IncidentFormSubmissionService.js.map +1 -0
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +20 -8
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +106 -4
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/IncidentTemplateService.js +18 -0
- package/build/dist/Server/Services/IncidentTemplateService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +14 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MessageQueueLabelRuleEngineService.js +262 -0
- package/build/dist/Server/Services/MessageQueueLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/MessageQueueLabelRuleService.js +13 -0
- package/build/dist/Server/Services/MessageQueueLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/MessageQueueOwnerRuleEngineService.js +334 -0
- package/build/dist/Server/Services/MessageQueueOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/MessageQueueOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/MessageQueueOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/MessageQueueOwnerTeamService.js +62 -0
- package/build/dist/Server/Services/MessageQueueOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/MessageQueueOwnerUserService.js +62 -0
- package/build/dist/Server/Services/MessageQueueOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/MessageQueueService.js +1140 -0
- package/build/dist/Server/Services/MessageQueueService.js.map +1 -0
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +25 -4
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +0 -54
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/StatusPagePrivateUserService.js +1 -4
- package/build/dist/Server/Services/StatusPagePrivateUserService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +0 -46
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/TeamComplianceSettingService.js +120 -31
- package/build/dist/Server/Services/TeamComplianceSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationRuleService.js +8 -1
- package/build/dist/Server/Services/UserNotificationRuleService.js.map +1 -1
- package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js +12 -3
- package/build/dist/Server/Services/WorkspaceNotificationSummaryService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/CreatePermission.js +6 -3
- package/build/dist/Server/Types/Database/Permissions/CreatePermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/EditionPermission.js +109 -37
- package/build/dist/Server/Types/Database/Permissions/EditionPermission.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +16 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/TablePermission.js +3 -3
- package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js +9 -6
- package/build/dist/Server/Types/Database/Permissions/UpdatePermission.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/AgentContextCompactor.js +128 -0
- package/build/dist/Server/Utils/AI/Chat/AgentContextCompactor.js.map +1 -0
- package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js +192 -50
- package/build/dist/Server/Utils/AI/Chat/ChatAgentRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ChatRunCancellation.js +133 -0
- package/build/dist/Server/Utils/AI/Chat/ChatRunCancellation.js.map +1 -0
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js +53 -13
- package/build/dist/Server/Utils/AI/Chat/ObservabilityAssistant.js.map +1 -1
- package/build/dist/Server/Utils/AI/Chat/ObservabilityChatPrompt.js +1 -1
- package/build/dist/Server/Utils/AI/Chat/ToolOutputPager.js +206 -0
- package/build/dist/Server/Utils/AI/Chat/ToolOutputPager.js.map +1 -0
- package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js +53 -26
- package/build/dist/Server/Utils/AI/ClusterAccess/KubectlInvestigationToolkit.js.map +1 -1
- package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js +4 -2
- package/build/dist/Server/Utils/AI/ClusterAccess/KubectlJobRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js +1 -29
- package/build/dist/Server/Utils/AI/CodeFix/CodeFixReadiness.js.map +1 -1
- package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js +24 -24
- package/build/dist/Server/Utils/AI/CodeFix/FixRunBudget.js.map +1 -1
- package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js +7 -2
- package/build/dist/Server/Utils/AI/Remediation/RemediationCommandTools.js.map +1 -1
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js +29 -14
- package/build/dist/Server/Utils/AI/Remediation/RemediationExecutionRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js +38 -14
- package/build/dist/Server/Utils/AI/ResourceAccess/InfrastructureInvestigationToolkit.js.map +1 -1
- package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js +2 -0
- package/build/dist/Server/Utils/AI/ResourceAccess/ResourceCommandJobRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js +40 -10
- package/build/dist/Server/Utils/AI/SRE/AIInvestigationEngine.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js +19 -7
- package/build/dist/Server/Utils/AI/SRE/AlertInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js +19 -7
- package/build/dist/Server/Utils/AI/SRE/IncidentInvestigationRunner.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js +15 -18
- package/build/dist/Server/Utils/AI/SRE/InvestigationQueue.js.map +1 -1
- package/build/dist/Server/Utils/AI/SRE/InvestigationThread.js +412 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationThread.js.map +1 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationThreadService.js +495 -0
- package/build/dist/Server/Utils/AI/SRE/InvestigationThreadService.js.map +1 -0
- package/build/dist/Server/Utils/AI/Toolbox/Serializer.js +10 -3
- package/build/dist/Server/Utils/AI/Toolbox/Serializer.js.map +1 -1
- package/build/dist/Server/Utils/EditionEnforcement.js +20 -158
- package/build/dist/Server/Utils/EditionEnforcement.js.map +1 -1
- package/build/dist/Server/Utils/LLM/LLMService.js +193 -54
- package/build/dist/Server/Utils/LLM/LLMService.js.map +1 -1
- package/build/dist/Server/Utils/RelaxedScimTeamLocksReport.js +160 -0
- package/build/dist/Server/Utils/RelaxedScimTeamLocksReport.js.map +1 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js +25 -0
- package/build/dist/Server/Utils/Rules/RuleRun/RuleRunRegistry.js.map +1 -1
- package/build/dist/Server/Utils/SameOriginRequest.js +151 -0
- package/build/dist/Server/Utils/SameOriginRequest.js.map +1 -0
- package/build/dist/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.js +2 -0
- package/build/dist/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +4 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/MessageQueueDiscovery.js +1015 -0
- package/build/dist/Server/Utils/Telemetry/MessageQueueDiscovery.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +4 -1
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -1
- package/build/dist/Server/Utils/VendorAssets.js +3 -3
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js +3 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/Incident.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js +3 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/Actions/IncidentEpisode.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js +10 -1
- package/build/dist/Server/Utils/Workspace/MicrosoftTeams/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/AI/AIAgentRunLimits.js +91 -0
- package/build/dist/Types/AI/AIAgentRunLimits.js.map +1 -0
- package/build/dist/Types/Code/CodeType.js +2 -0
- package/build/dist/Types/Code/CodeType.js.map +1 -1
- package/build/dist/Types/Code/JsonSyntax.js +604 -0
- package/build/dist/Types/Code/JsonSyntax.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldCreateSettings.js +310 -0
- package/build/dist/Types/CustomField/CustomFieldCreateSettings.js.map +1 -0
- package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js +38 -0
- package/build/dist/Types/CustomField/CustomFieldMappingCatalog.js.map +1 -1
- package/build/dist/Types/CustomField/CustomFieldValueValidator.js +10 -7
- package/build/dist/Types/CustomField/CustomFieldValueValidator.js.map +1 -1
- package/build/dist/Types/EnterpriseLicense/EnterpriseLicensePeriods.js +1 -1
- package/build/dist/Types/Icon/IconProp.js +2 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Incident/IncidentFormIpAllowlist.js +119 -0
- package/build/dist/Types/Incident/IncidentFormIpAllowlist.js.map +1 -0
- package/build/dist/Types/Incident/IncidentFormPublic.js +678 -0
- package/build/dist/Types/Incident/IncidentFormPublic.js.map +1 -0
- package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js +10 -3
- package/build/dist/Types/Kubernetes/KubernetesClusterAiAccess.js.map +1 -1
- package/build/dist/Types/MessageQueue/MessageQueueIdentity.js +184 -0
- package/build/dist/Types/MessageQueue/MessageQueueIdentity.js.map +1 -0
- package/build/dist/Types/MessageQueue/MessageQueueManualIdentity.js +190 -0
- package/build/dist/Types/MessageQueue/MessageQueueManualIdentity.js.map +1 -0
- package/build/dist/Types/MessageQueue/MessageQueueMetricCatalog.js +1057 -0
- package/build/dist/Types/MessageQueue/MessageQueueMetricCatalog.js.map +1 -0
- package/build/dist/Types/MessageQueue/MessagingSystem.js +394 -0
- package/build/dist/Types/MessageQueue/MessagingSystem.js.map +1 -0
- package/build/dist/Types/MessageQueue/MessagingTelemetryResolver.js +1768 -0
- package/build/dist/Types/MessageQueue/MessagingTelemetryResolver.js.map +1 -0
- package/build/dist/Types/Monitor/MessageQueueAlertTemplates.js +1207 -0
- package/build/dist/Types/Monitor/MessageQueueAlertTemplates.js.map +1 -0
- package/build/dist/Types/Permission.js +274 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js +10 -4
- package/build/dist/Types/ResourceAiAgent/ResourceAiAccess.js.map +1 -1
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +12 -0
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js.map +1 -1
- package/build/dist/Types/Rules/RuleRun.js +4 -0
- package/build/dist/Types/Rules/RuleRun.js.map +1 -1
- package/build/dist/Types/Team/ComplianceNotificationChannel.js +4 -3
- package/build/dist/Types/Team/ComplianceNotificationChannel.js.map +1 -1
- package/build/dist/Types/Team/ComplianceRule.js +48 -14
- package/build/dist/Types/Team/ComplianceRule.js.map +1 -1
- package/build/dist/Types/Team/ComplianceRuleType.js +2 -2
- package/build/dist/Types/Telemetry/EntityType.js +16 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/XML.js +23 -0
- package/build/dist/Types/XML.js.map +1 -1
- package/build/dist/UI/Components/CodeEditor/CodeEditor.js +641 -266
- package/build/dist/UI/Components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/dist/UI/Components/CodeEditor/CodeEditorCommands.js +464 -0
- package/build/dist/UI/Components/CodeEditor/CodeEditorCommands.js.map +1 -0
- package/build/dist/UI/Components/CodeEditor/CodeEditorHighlight.js +69 -0
- package/build/dist/UI/Components/CodeEditor/CodeEditorHighlight.js.map +1 -0
- package/build/dist/UI/Components/CodeEditor/CodeEditorLanguages.js +108 -0
- package/build/dist/UI/Components/CodeEditor/CodeEditorLanguages.js.map +1 -0
- package/build/dist/UI/Components/CodeEditor/YamlEditor.js +14 -186
- package/build/dist/UI/Components/CodeEditor/YamlEditor.js.map +1 -1
- package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js +5 -1
- package/build/dist/UI/Components/CopyTextButton/CopyTextButton.js.map +1 -1
- package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js +5 -14
- package/build/dist/UI/Components/CustomFields/CustomFieldModelFormFields.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +14 -13
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +1 -1
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +8 -3
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +8 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/Input/Input.js +11 -3
- package/build/dist/UI/Components/Input/Input.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js +2 -1
- package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +14 -4
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js +710 -65
- package/build/dist/UI/Components/Markdown.tsx/MarkdownEditor.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownEditorHistory.js +238 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownEditorHistory.js.map +1 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownListEditing.js +1028 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownListEditing.js.map +1 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownPaste.js +1088 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownPaste.js.map +1 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js +70 -10
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownVisualEditing.js +887 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownVisualEditing.js.map +1 -0
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +57 -6
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ResetObjectID/ResetObjectID.js +7 -5
- package/build/dist/UI/Components/ResetObjectID/ResetObjectID.js.map +1 -1
- package/build/dist/UI/Components/Table/EmptyTableMessage.js +51 -0
- package/build/dist/UI/Components/Table/EmptyTableMessage.js.map +1 -0
- package/build/dist/UI/Components/Table/Table.js +30 -11
- package/build/dist/UI/Components/Table/Table.js.map +1 -1
- package/build/dist/UI/Components/Table/TableRow.js +9 -2
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js +63 -1
- package/build/dist/UI/Components/TelemetryViewer/FacetVisibility.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js +4 -2
- package/build/dist/UI/Components/TelemetryViewer/TelemetryViewer.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js +91 -10
- package/build/dist/UI/Components/TelemetryViewer/components/LockedFilterChip.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +14 -4
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/TextArea/TextArea.js +9 -3
- package/build/dist/UI/Components/TextArea/TextArea.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ModelFieldPicker.js +1 -2
- package/build/dist/UI/Components/Workflow/ModelFieldPicker.js.map +1 -1
- package/build/dist/Utils/LabelRuleImportExport.js +2 -0
- package/build/dist/Utils/LabelRuleImportExport.js.map +1 -1
- package/build/dist/Utils/Markdown/UntrustedMarkdown.js +988 -0
- package/build/dist/Utils/Markdown/UntrustedMarkdown.js.map +1 -0
- package/build/dist/Utils/Monitor/IncomingEmailMonitorRequestUtil.js +34 -0
- package/build/dist/Utils/Monitor/IncomingEmailMonitorRequestUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorLogSummaryUtil.js +148 -0
- package/build/dist/Utils/Monitor/MonitorLogSummaryUtil.js.map +1 -0
- package/build/dist/Utils/Telemetry/EntityKey.js +36 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/package.json +1 -3
- package/Server/Utils/CommunityEditionSsoReport.ts +0 -361
- package/Tests/App/Accounts/LoginSsoEdition.test.tsx +0 -616
- package/Tests/App/AdminDashboard/AdminAuthenticationSsoEdition.test.tsx +0 -217
- package/Tests/App/AdminDashboard/GlobalSSOEnterpriseShells.test.tsx +0 -271
- package/Tests/App/Dashboard/CloudDocumentationMarkdown.test.ts +0 -215
- package/Tests/App/Dashboard/TelemetryResourceRetentionSettings.test.tsx +0 -784
- package/Tests/Server/Middleware/UserAuthorizationEditionEnforcement.test.ts +0 -518
- package/Tests/Server/Services/SsoRequirementReadMasking.test.ts +0 -419
- package/Tests/Server/Services/SsoRequirementWriteGuard.test.ts +0 -769
- package/Tests/UI/Components/CodeEditor.test.tsx +0 -638
- package/Tests/UI/Components/MonacoLoader.test.ts +0 -67
- package/Tests/UI/Components/MonacoRuntime.test.ts +0 -121
- package/Tests/UI/Components/Telemetry/TelemetryRetentionConfigForm.test.tsx +0 -329
- package/Tests/UI/Components/YamlEditor.test.tsx +0 -847
- package/UI/Components/CodeEditor/MonacoLoader.ts +0 -36
- package/UI/Components/Telemetry/TelemetryRetentionConfigForm.tsx +0 -319
- package/UI/Components/Telemetry/TelemetryRetentionConfigSummary.tsx +0 -223
- package/build/dist/Server/Utils/CommunityEditionSsoReport.js +0 -223
- package/build/dist/Server/Utils/CommunityEditionSsoReport.js.map +0 -1
- package/build/dist/UI/Components/CodeEditor/MonacoLoader.js +0 -34
- package/build/dist/UI/Components/CodeEditor/MonacoLoader.js.map +0 -1
- package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js +0 -171
- package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigForm.js.map +0 -1
- package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigSummary.js +0 -119
- package/build/dist/UI/Components/Telemetry/TelemetryRetentionConfigSummary.js.map +0 -1
|
@@ -0,0 +1,1057 @@
|
|
|
1
|
+
import AggregationType from "../BaseDatabase/AggregationType";
|
|
2
|
+
import { normalizeMessagingSystem } from "./MessagingSystem";
|
|
3
|
+
// ---- Apache Kafka — collector `kafka_metrics` receiver ------------------
|
|
4
|
+
/*
|
|
5
|
+
* Datapoint attributes `group`, `topic` (the topic NAME) and `partition`
|
|
6
|
+
* (an int), from receiver/kafkametricsreceiver generated_metrics.go
|
|
7
|
+
* @v0.161.0 and a live capture against Kafka 4.1.0. Lag and offsets are
|
|
8
|
+
* reported only for partitions a group has committed on.
|
|
9
|
+
*/
|
|
10
|
+
const KAFKA_RECEIVER = "kafka_metrics";
|
|
11
|
+
const KAFKA_TOPIC_KEYS = ["topic"];
|
|
12
|
+
// ---- RabbitMQ — collector `rabbitmq` receiver ----------------------------
|
|
13
|
+
/*
|
|
14
|
+
* One resource per queue: `rabbitmq.queue.name`, `rabbitmq.vhost.name`,
|
|
15
|
+
* `rabbitmq.node.name` (stored with the `resource.` prefix);
|
|
16
|
+
* rabbitmq.message.current splits by the datapoint attribute `state`
|
|
17
|
+
* (ready | unacknowledged). The message_stats counters are ABSENT, not 0,
|
|
18
|
+
* until the activity they count first happens.
|
|
19
|
+
*/
|
|
20
|
+
const RABBITMQ_RECEIVER = "rabbitmq";
|
|
21
|
+
const RABBITMQ_QUEUE_KEYS = [
|
|
22
|
+
"resource.rabbitmq.queue.name",
|
|
23
|
+
];
|
|
24
|
+
// ---- Apache ActiveMQ — the OpenTelemetry JMX Scraper ----------------------
|
|
25
|
+
/*
|
|
26
|
+
* Two naming generations of the scraper's bundled `activemq` rules:
|
|
27
|
+
* 1.53.0-alpha and later (and the Java agent from 2.23.0) name the
|
|
28
|
+
* destination `messaging.destination.name`, with `activemq.destination.type`
|
|
29
|
+
* and `activemq.broker.name`; 1.52.0 and earlier (or
|
|
30
|
+
* OTEL_JMX_TARGET_SOURCE=legacy) name it `destination`, with `broker`, and
|
|
31
|
+
* spell two metrics differently (activemq.message.current,
|
|
32
|
+
* activemq.message.wait_time.avg in ms). Both captured live against
|
|
33
|
+
* ActiveMQ Classic 6.2.0. Names shared by both generations list both keys.
|
|
34
|
+
*/
|
|
35
|
+
const JMX_SCRAPER = "OpenTelemetry JMX Scraper";
|
|
36
|
+
const ACTIVEMQ_DESTINATION_KEYS = [
|
|
37
|
+
"messaging.destination.name",
|
|
38
|
+
];
|
|
39
|
+
const ACTIVEMQ_LEGACY_DESTINATION_KEYS = ["destination"];
|
|
40
|
+
const ACTIVEMQ_ANY_DESTINATION_KEYS = [
|
|
41
|
+
"messaging.destination.name",
|
|
42
|
+
"destination",
|
|
43
|
+
];
|
|
44
|
+
// ---- Azure Service Bus / Event Hubs — collector `azure_monitor` receiver --
|
|
45
|
+
/*
|
|
46
|
+
* Metric names are `azure_<metric>_<aggregation>`, lowercased; every point
|
|
47
|
+
* is a double Gauge per PT1M bucket (a `_total` is that minute's sum, not a
|
|
48
|
+
* running total). Datapoint attributes: `type` (the resource type, whose
|
|
49
|
+
* casing varies — Microsoft.ServiceBus/Namespaces in ARM responses), `name`
|
|
50
|
+
* (the namespace) and `metadata_<dimension>` per split dimension. Azure
|
|
51
|
+
* returns dimension names lowercased (`metadata_entityname`), but that was
|
|
52
|
+
* inferred rather than captured, so the documented PascalCase spelling is
|
|
53
|
+
* accepted too. The EntityName value `-NamespaceOnlyMetric-` is not a queue
|
|
54
|
+
* (MessagingTelemetryResolver drops it).
|
|
55
|
+
*/
|
|
56
|
+
const AZURE_MONITOR = "azure_monitor";
|
|
57
|
+
const AZURE_ENTITY_KEYS = [
|
|
58
|
+
"metadata_entityname",
|
|
59
|
+
"metadata_EntityName",
|
|
60
|
+
];
|
|
61
|
+
const AZURE_NAMESPACE_KEYS = ["name"];
|
|
62
|
+
const SERVICE_BUS_NAMESPACE_TYPE = { type: ["microsoft.servicebus/namespaces"] };
|
|
63
|
+
const EVENT_HUBS_NAMESPACE_TYPE = { type: ["microsoft.eventhub/namespaces"] };
|
|
64
|
+
const AZURE_OPERATION_RESULT_KEYS = [
|
|
65
|
+
"metadata_operationresult",
|
|
66
|
+
"metadata_OperationResult",
|
|
67
|
+
];
|
|
68
|
+
const AZURE_THROTTLE_KEYS = [
|
|
69
|
+
...AZURE_OPERATION_RESULT_KEYS,
|
|
70
|
+
"metadata_messagingerrorsubcode",
|
|
71
|
+
"metadata_MessagingErrorSubCode",
|
|
72
|
+
];
|
|
73
|
+
// ---- Amazon SQS / SNS — collector `aws_cloudwatch` or `awsfirehose` --------
|
|
74
|
+
/*
|
|
75
|
+
* Two shapes of the same CloudWatch metric. The `aws_cloudwatch` receiver
|
|
76
|
+
* and a Metric Stream in OpenTelemetry 1.0 format name it
|
|
77
|
+
* `amazonaws.com/AWS/SQS/<Metric>` with the dimensions in a kvlist
|
|
78
|
+
* (`Dimensions.QueueName` once flattened); a Metric Stream in JSON format
|
|
79
|
+
* sends the bare `<Metric>` with a plain `QueueName` attribute, and says
|
|
80
|
+
* which service it is only through `resource.service.name` ("SQS"). Points
|
|
81
|
+
* are Summaries holding one CloudWatch period: Avg reads CloudWatch's
|
|
82
|
+
* Average, Sum its Sum. Configure the pull receiver without `stats`, which
|
|
83
|
+
* would split each metric into one series per statistic.
|
|
84
|
+
*/
|
|
85
|
+
const CLOUDWATCH_PULL = "aws_cloudwatch";
|
|
86
|
+
const CLOUDWATCH_STREAM = "awsfirehose";
|
|
87
|
+
const SQS_METRIC_PREFIX = "amazonaws.com/aws/sqs/";
|
|
88
|
+
const SNS_METRIC_PREFIX = "amazonaws.com/aws/sns/";
|
|
89
|
+
const SQS_JSON_SERVICE = {
|
|
90
|
+
"resource.service.name": ["sqs"],
|
|
91
|
+
};
|
|
92
|
+
const SNS_JSON_SERVICE = {
|
|
93
|
+
"resource.service.name": ["sns"],
|
|
94
|
+
};
|
|
95
|
+
const JSON_STREAM_TITLE_SUFFIX = " (JSON stream)";
|
|
96
|
+
// ---- Google Cloud Pub/Sub — collector `googlecloudmonitoring` receiver ----
|
|
97
|
+
/*
|
|
98
|
+
* The name is the Cloud Monitoring metric type verbatim; the monitored
|
|
99
|
+
* resource's labels (`subscription_id` / `topic_id`, `project_id`) are
|
|
100
|
+
* RESOURCE attributes, the metric's labels (`response_code`,
|
|
101
|
+
* `delivery_type`, …) datapoint attributes from collector v0.137.0 (resource
|
|
102
|
+
* attributes in v0.116.0–v0.136.x, hence both spellings as series keys).
|
|
103
|
+
* The receiver only reads the metric types listed in its `metrics_list`.
|
|
104
|
+
*/
|
|
105
|
+
const CLOUD_MONITORING = "googlecloudmonitoring";
|
|
106
|
+
const PUBSUB_SUBSCRIPTION_KEYS = [
|
|
107
|
+
"resource.subscription_id",
|
|
108
|
+
];
|
|
109
|
+
const PUBSUB_TOPIC_KEYS = ["resource.topic_id"];
|
|
110
|
+
// ---- Apache Pulsar / Apache RocketMQ — collector `prometheus` receiver ----
|
|
111
|
+
/*
|
|
112
|
+
* Prometheus labels arrive as datapoint attributes. Pulsar labels topic
|
|
113
|
+
* series `cluster`, `namespace`, `topic` (the full
|
|
114
|
+
* persistent://tenant/namespace/topic, `-partition-N` per partition) and
|
|
115
|
+
* subscription series add `subscription` — captured live from Pulsar 4.2.4.
|
|
116
|
+
* RocketMQ 5 brokers (metricsExporterType=PROM) label lag series `topic`,
|
|
117
|
+
* `consumer_group`, `is_retry`, `is_system`.
|
|
118
|
+
*/
|
|
119
|
+
const PROMETHEUS = "prometheus";
|
|
120
|
+
const PULSAR_TOPIC_KEYS = ["topic"];
|
|
121
|
+
const PULSAR_TOPIC_SERIES_KEYS = [
|
|
122
|
+
"cluster",
|
|
123
|
+
"topic",
|
|
124
|
+
"partition",
|
|
125
|
+
];
|
|
126
|
+
// The labels only Pulsar's consumer-level series carry.
|
|
127
|
+
const PULSAR_CONSUMER_KEYS = [
|
|
128
|
+
"consumer_name",
|
|
129
|
+
"consumer_id",
|
|
130
|
+
];
|
|
131
|
+
const ROCKETMQ_TOPIC_KEYS = ["topic"];
|
|
132
|
+
function sqsMetric(data) {
|
|
133
|
+
return awsMetricPair(Object.assign(Object.assign({}, data), { system: "aws_sqs", prefix: SQS_METRIC_PREFIX, dimension: "QueueName", jsonService: SQS_JSON_SERVICE }));
|
|
134
|
+
}
|
|
135
|
+
function snsMetric(data) {
|
|
136
|
+
return awsMetricPair(Object.assign(Object.assign({}, data), { system: "aws.sns", prefix: SNS_METRIC_PREFIX, dimension: "TopicName", jsonService: SNS_JSON_SERVICE }));
|
|
137
|
+
}
|
|
138
|
+
// The same CloudWatch metric in both shapes (see CLOUDWATCH_PULL above).
|
|
139
|
+
function awsMetricPair(data) {
|
|
140
|
+
const name = data.cloudWatchName.toLowerCase();
|
|
141
|
+
const common = {
|
|
142
|
+
system: data.system,
|
|
143
|
+
description: data.description,
|
|
144
|
+
unit: data.unit,
|
|
145
|
+
signal: data.signal,
|
|
146
|
+
kind: "gauge",
|
|
147
|
+
aggregation: data.aggregation,
|
|
148
|
+
// One series per queue; a second one is the same queue reported twice.
|
|
149
|
+
seriesCombine: "max",
|
|
150
|
+
enabledByDefault: true,
|
|
151
|
+
};
|
|
152
|
+
return [
|
|
153
|
+
Object.assign(Object.assign({}, common), { metricName: `${data.prefix}${name}`, title: data.title, destinationAttributes: [`Dimensions.${data.dimension}`], receiver: CLOUDWATCH_PULL }),
|
|
154
|
+
Object.assign(Object.assign({}, common), { metricName: name, title: `${data.title}${JSON_STREAM_TITLE_SUFFIX}`, destinationAttributes: [data.dimension], requiredAttributes: data.jsonService, receiver: CLOUDWATCH_STREAM }),
|
|
155
|
+
];
|
|
156
|
+
}
|
|
157
|
+
export const MESSAGE_QUEUE_METRICS = [
|
|
158
|
+
// Apache Kafka.
|
|
159
|
+
{
|
|
160
|
+
system: "kafka",
|
|
161
|
+
metricName: "kafka.consumer_group.lag_sum",
|
|
162
|
+
title: "Consumer lag",
|
|
163
|
+
description: "Messages a consumer group has not yet committed on this topic, added up across its partitions. With several consumer groups, the one furthest behind is shown; a group appears only once it has committed an offset on the topic.",
|
|
164
|
+
unit: "messages",
|
|
165
|
+
signal: "consumerLag",
|
|
166
|
+
kind: "gauge",
|
|
167
|
+
aggregation: AggregationType.Max,
|
|
168
|
+
seriesCombine: "max",
|
|
169
|
+
destinationAttributes: KAFKA_TOPIC_KEYS,
|
|
170
|
+
seriesKeys: ["group"],
|
|
171
|
+
receiver: KAFKA_RECEIVER,
|
|
172
|
+
enabledByDefault: true,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
system: "kafka",
|
|
176
|
+
metricName: "kafka.consumer_group.lag",
|
|
177
|
+
title: "Partition lag",
|
|
178
|
+
description: "Messages not yet committed on the single partition furthest behind, across every consumer group reading this topic. A high value next to a low consumer lag points at one stuck partition.",
|
|
179
|
+
unit: "messages",
|
|
180
|
+
signal: "consumerLag",
|
|
181
|
+
kind: "gauge",
|
|
182
|
+
aggregation: AggregationType.Max,
|
|
183
|
+
seriesCombine: "max",
|
|
184
|
+
destinationAttributes: KAFKA_TOPIC_KEYS,
|
|
185
|
+
seriesKeys: ["group", "partition"],
|
|
186
|
+
receiver: KAFKA_RECEIVER,
|
|
187
|
+
enabledByDefault: true,
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
system: "kafka",
|
|
191
|
+
metricName: "kafka.consumer_group.offset_sum",
|
|
192
|
+
title: "Consumed",
|
|
193
|
+
description: "Messages consumed per second: the growth of the offsets consumer groups commit on this topic, added up across partitions and consumer groups.",
|
|
194
|
+
unit: "messages",
|
|
195
|
+
signal: "consumed",
|
|
196
|
+
kind: "counter",
|
|
197
|
+
aggregation: AggregationType.Max,
|
|
198
|
+
seriesCombine: "sum",
|
|
199
|
+
destinationAttributes: KAFKA_TOPIC_KEYS,
|
|
200
|
+
receiver: KAFKA_RECEIVER,
|
|
201
|
+
enabledByDefault: true,
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
system: "kafka",
|
|
205
|
+
metricName: "kafka.partition.current_offset",
|
|
206
|
+
title: "Produced",
|
|
207
|
+
description: "Messages produced per second: the growth of each partition's log-end offset, added up across the topic's partitions.",
|
|
208
|
+
unit: "messages",
|
|
209
|
+
signal: "published",
|
|
210
|
+
kind: "counter",
|
|
211
|
+
aggregation: AggregationType.Max,
|
|
212
|
+
seriesCombine: "sum",
|
|
213
|
+
destinationAttributes: KAFKA_TOPIC_KEYS,
|
|
214
|
+
receiver: KAFKA_RECEIVER,
|
|
215
|
+
enabledByDefault: true,
|
|
216
|
+
},
|
|
217
|
+
// RabbitMQ.
|
|
218
|
+
{
|
|
219
|
+
system: "rabbitmq",
|
|
220
|
+
metricName: "rabbitmq.message.current",
|
|
221
|
+
title: "Queue depth",
|
|
222
|
+
description: "Messages in the queue: those ready for delivery plus those delivered but not yet acknowledged (the receiver's two `state` series, added up).",
|
|
223
|
+
unit: "messages",
|
|
224
|
+
signal: "backlog",
|
|
225
|
+
kind: "gauge",
|
|
226
|
+
aggregation: AggregationType.Avg,
|
|
227
|
+
seriesCombine: "sum",
|
|
228
|
+
destinationAttributes: RABBITMQ_QUEUE_KEYS,
|
|
229
|
+
seriesKeys: ["state"],
|
|
230
|
+
receiver: RABBITMQ_RECEIVER,
|
|
231
|
+
enabledByDefault: true,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
system: "rabbitmq",
|
|
235
|
+
metricName: "rabbitmq.message.published",
|
|
236
|
+
title: "Published",
|
|
237
|
+
description: "Messages published to the queue per second. The receiver reports it once the queue has seen its first publish.",
|
|
238
|
+
unit: "messages",
|
|
239
|
+
signal: "published",
|
|
240
|
+
kind: "counter",
|
|
241
|
+
aggregation: AggregationType.Max,
|
|
242
|
+
seriesCombine: "sum",
|
|
243
|
+
destinationAttributes: RABBITMQ_QUEUE_KEYS,
|
|
244
|
+
receiver: RABBITMQ_RECEIVER,
|
|
245
|
+
enabledByDefault: true,
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
system: "rabbitmq",
|
|
249
|
+
metricName: "rabbitmq.message.delivered",
|
|
250
|
+
title: "Delivered",
|
|
251
|
+
description: "Messages the broker pushed to consumers per second; messages fetched with `basic.get` are not counted.",
|
|
252
|
+
unit: "messages",
|
|
253
|
+
signal: "consumed",
|
|
254
|
+
kind: "counter",
|
|
255
|
+
aggregation: AggregationType.Max,
|
|
256
|
+
seriesCombine: "sum",
|
|
257
|
+
destinationAttributes: RABBITMQ_QUEUE_KEYS,
|
|
258
|
+
receiver: RABBITMQ_RECEIVER,
|
|
259
|
+
enabledByDefault: true,
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
system: "rabbitmq",
|
|
263
|
+
metricName: "rabbitmq.message.acknowledged",
|
|
264
|
+
title: "Acknowledged",
|
|
265
|
+
description: "Messages consumers acknowledged per second.",
|
|
266
|
+
unit: "messages",
|
|
267
|
+
signal: "consumed",
|
|
268
|
+
kind: "counter",
|
|
269
|
+
aggregation: AggregationType.Max,
|
|
270
|
+
seriesCombine: "sum",
|
|
271
|
+
destinationAttributes: RABBITMQ_QUEUE_KEYS,
|
|
272
|
+
receiver: RABBITMQ_RECEIVER,
|
|
273
|
+
enabledByDefault: true,
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
system: "rabbitmq",
|
|
277
|
+
metricName: "rabbitmq.message.dropped",
|
|
278
|
+
title: "Dropped",
|
|
279
|
+
description: "Messages the broker dropped as unroutable, per second (the queue's `drop_unroutable` statistic).",
|
|
280
|
+
unit: "messages",
|
|
281
|
+
signal: "errors",
|
|
282
|
+
kind: "counter",
|
|
283
|
+
aggregation: AggregationType.Max,
|
|
284
|
+
seriesCombine: "sum",
|
|
285
|
+
destinationAttributes: RABBITMQ_QUEUE_KEYS,
|
|
286
|
+
receiver: RABBITMQ_RECEIVER,
|
|
287
|
+
enabledByDefault: true,
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
system: "rabbitmq",
|
|
291
|
+
metricName: "rabbitmq.consumer.count",
|
|
292
|
+
title: "Consumers",
|
|
293
|
+
description: "Consumers attached to the queue; with none, nothing is draining it.",
|
|
294
|
+
unit: "consumers",
|
|
295
|
+
signal: "consumers",
|
|
296
|
+
kind: "gauge",
|
|
297
|
+
aggregation: AggregationType.Min,
|
|
298
|
+
seriesCombine: "sum",
|
|
299
|
+
destinationAttributes: RABBITMQ_QUEUE_KEYS,
|
|
300
|
+
receiver: RABBITMQ_RECEIVER,
|
|
301
|
+
enabledByDefault: true,
|
|
302
|
+
},
|
|
303
|
+
// Apache ActiveMQ.
|
|
304
|
+
{
|
|
305
|
+
system: "activemq",
|
|
306
|
+
metricName: "activemq.message.queue.size",
|
|
307
|
+
title: "Queue size",
|
|
308
|
+
description: "Messages waiting on the destination to be consumed, added up across brokers.",
|
|
309
|
+
unit: "messages",
|
|
310
|
+
signal: "backlog",
|
|
311
|
+
kind: "gauge",
|
|
312
|
+
aggregation: AggregationType.Avg,
|
|
313
|
+
seriesCombine: "sum",
|
|
314
|
+
destinationAttributes: ACTIVEMQ_DESTINATION_KEYS,
|
|
315
|
+
seriesKeys: ["activemq.broker.name", "activemq.destination.type"],
|
|
316
|
+
receiver: JMX_SCRAPER,
|
|
317
|
+
enabledByDefault: true,
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
system: "activemq",
|
|
321
|
+
metricName: "activemq.message.current",
|
|
322
|
+
title: "Queue size (legacy names)",
|
|
323
|
+
description: "Messages waiting on the destination to be consumed, added up across brokers, as the JMX Scraper names it in its legacy rules (version 1.52 and older, or OTEL_JMX_TARGET_SOURCE=legacy).",
|
|
324
|
+
unit: "messages",
|
|
325
|
+
signal: "backlog",
|
|
326
|
+
kind: "gauge",
|
|
327
|
+
aggregation: AggregationType.Avg,
|
|
328
|
+
seriesCombine: "sum",
|
|
329
|
+
destinationAttributes: ACTIVEMQ_LEGACY_DESTINATION_KEYS,
|
|
330
|
+
seriesKeys: ["broker"],
|
|
331
|
+
receiver: JMX_SCRAPER,
|
|
332
|
+
enabledByDefault: true,
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
system: "activemq",
|
|
336
|
+
metricName: "activemq.message.enqueued",
|
|
337
|
+
title: "Enqueued",
|
|
338
|
+
description: "Messages sent to the destination per second.",
|
|
339
|
+
unit: "messages",
|
|
340
|
+
signal: "published",
|
|
341
|
+
kind: "counter",
|
|
342
|
+
aggregation: AggregationType.Max,
|
|
343
|
+
seriesCombine: "sum",
|
|
344
|
+
destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
|
|
345
|
+
receiver: JMX_SCRAPER,
|
|
346
|
+
enabledByDefault: true,
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
system: "activemq",
|
|
350
|
+
metricName: "activemq.message.dequeued",
|
|
351
|
+
title: "Dequeued",
|
|
352
|
+
description: "Messages acknowledged and removed from the destination per second.",
|
|
353
|
+
unit: "messages",
|
|
354
|
+
signal: "consumed",
|
|
355
|
+
kind: "counter",
|
|
356
|
+
aggregation: AggregationType.Max,
|
|
357
|
+
seriesCombine: "sum",
|
|
358
|
+
destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
|
|
359
|
+
receiver: JMX_SCRAPER,
|
|
360
|
+
enabledByDefault: true,
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
system: "activemq",
|
|
364
|
+
metricName: "activemq.message.expired",
|
|
365
|
+
title: "Expired",
|
|
366
|
+
description: "Messages that expired before they were delivered, per second.",
|
|
367
|
+
unit: "messages",
|
|
368
|
+
signal: "errors",
|
|
369
|
+
kind: "counter",
|
|
370
|
+
aggregation: AggregationType.Max,
|
|
371
|
+
seriesCombine: "sum",
|
|
372
|
+
destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
|
|
373
|
+
receiver: JMX_SCRAPER,
|
|
374
|
+
enabledByDefault: true,
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
system: "activemq",
|
|
378
|
+
metricName: "activemq.consumer.count",
|
|
379
|
+
title: "Consumers",
|
|
380
|
+
description: "Consumers subscribed to the destination, added up across brokers; with none, nothing is draining it.",
|
|
381
|
+
unit: "consumers",
|
|
382
|
+
signal: "consumers",
|
|
383
|
+
kind: "gauge",
|
|
384
|
+
aggregation: AggregationType.Min,
|
|
385
|
+
seriesCombine: "sum",
|
|
386
|
+
destinationAttributes: ACTIVEMQ_ANY_DESTINATION_KEYS,
|
|
387
|
+
seriesKeys: [
|
|
388
|
+
"activemq.broker.name",
|
|
389
|
+
"activemq.destination.type",
|
|
390
|
+
"broker",
|
|
391
|
+
],
|
|
392
|
+
receiver: JMX_SCRAPER,
|
|
393
|
+
enabledByDefault: true,
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
system: "activemq",
|
|
397
|
+
metricName: "activemq.message.enqueue.average_duration",
|
|
398
|
+
title: "Average time in queue",
|
|
399
|
+
description: "The average time a message waited on the destination before it was consumed, a running average the broker keeps (AverageEnqueueTime). It is an average, not the age of the oldest waiting message.",
|
|
400
|
+
unit: "s",
|
|
401
|
+
signal: "oldestMessageAge",
|
|
402
|
+
kind: "gauge",
|
|
403
|
+
aggregation: AggregationType.Max,
|
|
404
|
+
seriesCombine: "max",
|
|
405
|
+
destinationAttributes: ACTIVEMQ_DESTINATION_KEYS,
|
|
406
|
+
receiver: JMX_SCRAPER,
|
|
407
|
+
enabledByDefault: true,
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
system: "activemq",
|
|
411
|
+
metricName: "activemq.message.wait_time.avg",
|
|
412
|
+
title: "Average time in queue (legacy names)",
|
|
413
|
+
description: "The average time a message waited on the destination before it was consumed (AverageEnqueueTime), in milliseconds, as the JMX Scraper names it in its legacy rules. It is an average, not the age of the oldest waiting message.",
|
|
414
|
+
unit: "ms",
|
|
415
|
+
signal: "oldestMessageAge",
|
|
416
|
+
kind: "gauge",
|
|
417
|
+
aggregation: AggregationType.Max,
|
|
418
|
+
seriesCombine: "max",
|
|
419
|
+
destinationAttributes: ACTIVEMQ_LEGACY_DESTINATION_KEYS,
|
|
420
|
+
receiver: JMX_SCRAPER,
|
|
421
|
+
enabledByDefault: true,
|
|
422
|
+
},
|
|
423
|
+
// Azure Service Bus.
|
|
424
|
+
{
|
|
425
|
+
system: "servicebus",
|
|
426
|
+
metricName: "azure_activemessages_average",
|
|
427
|
+
title: "Active messages",
|
|
428
|
+
description: "Messages ready for delivery in the queue or topic (Azure Monitor's ActiveMessages, averaged over each minute). A topic's count covers all of its subscriptions.",
|
|
429
|
+
unit: "messages",
|
|
430
|
+
signal: "backlog",
|
|
431
|
+
kind: "gauge",
|
|
432
|
+
aggregation: AggregationType.Max,
|
|
433
|
+
seriesCombine: "max",
|
|
434
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
435
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
436
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
437
|
+
receiver: AZURE_MONITOR,
|
|
438
|
+
enabledByDefault: true,
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
system: "servicebus",
|
|
442
|
+
metricName: "azure_deadletteredmessages_average",
|
|
443
|
+
title: "Dead-lettered messages",
|
|
444
|
+
description: "Messages in the dead-letter sub-queue (Azure Monitor's DeadletteredMessages, averaged over each minute).",
|
|
445
|
+
unit: "messages",
|
|
446
|
+
signal: "deadLetter",
|
|
447
|
+
kind: "gauge",
|
|
448
|
+
aggregation: AggregationType.Max,
|
|
449
|
+
seriesCombine: "max",
|
|
450
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
451
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
452
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
453
|
+
receiver: AZURE_MONITOR,
|
|
454
|
+
enabledByDefault: true,
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
system: "servicebus",
|
|
458
|
+
metricName: "azure_incomingmessages_total",
|
|
459
|
+
title: "Incoming messages",
|
|
460
|
+
description: "Messages sent to the queue or topic, counted per minute by Azure Monitor (IncomingMessages), including messages auto-forwarded into it.",
|
|
461
|
+
unit: "messages",
|
|
462
|
+
signal: "published",
|
|
463
|
+
kind: "gauge",
|
|
464
|
+
aggregation: AggregationType.Sum,
|
|
465
|
+
seriesCombine: "sum",
|
|
466
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
467
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
468
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
469
|
+
receiver: AZURE_MONITOR,
|
|
470
|
+
enabledByDefault: true,
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
system: "servicebus",
|
|
474
|
+
metricName: "azure_outgoingmessages_total",
|
|
475
|
+
title: "Outgoing messages",
|
|
476
|
+
description: "Messages received from the queue or topic, counted per minute by Azure Monitor (OutgoingMessages).",
|
|
477
|
+
unit: "messages",
|
|
478
|
+
signal: "consumed",
|
|
479
|
+
kind: "gauge",
|
|
480
|
+
aggregation: AggregationType.Sum,
|
|
481
|
+
seriesCombine: "sum",
|
|
482
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
483
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
484
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
485
|
+
receiver: AZURE_MONITOR,
|
|
486
|
+
enabledByDefault: true,
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
system: "servicebus",
|
|
490
|
+
metricName: "azure_completemessage_total",
|
|
491
|
+
title: "Completed messages",
|
|
492
|
+
description: "Messages consumers completed (settled), counted per minute by Azure Monitor (CompleteMessage).",
|
|
493
|
+
unit: "messages",
|
|
494
|
+
signal: "consumed",
|
|
495
|
+
kind: "gauge",
|
|
496
|
+
aggregation: AggregationType.Sum,
|
|
497
|
+
seriesCombine: "sum",
|
|
498
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
499
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
500
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
501
|
+
receiver: AZURE_MONITOR,
|
|
502
|
+
enabledByDefault: true,
|
|
503
|
+
},
|
|
504
|
+
{
|
|
505
|
+
system: "servicebus",
|
|
506
|
+
metricName: "azure_abandonmessage_total",
|
|
507
|
+
title: "Abandoned messages",
|
|
508
|
+
description: "Messages consumers abandoned, counted per minute by Azure Monitor (AbandonMessage). Each one goes back to the queue to be retried, usually after its processing failed.",
|
|
509
|
+
unit: "messages",
|
|
510
|
+
signal: "errors",
|
|
511
|
+
kind: "gauge",
|
|
512
|
+
aggregation: AggregationType.Sum,
|
|
513
|
+
seriesCombine: "sum",
|
|
514
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
515
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
516
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
517
|
+
receiver: AZURE_MONITOR,
|
|
518
|
+
enabledByDefault: true,
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
system: "servicebus",
|
|
522
|
+
metricName: "azure_servererrors_total",
|
|
523
|
+
title: "Server errors",
|
|
524
|
+
description: "Requests that failed because of a Service Bus error, counted per minute by Azure Monitor (ServerErrors) and added up across operation results.",
|
|
525
|
+
unit: "requests",
|
|
526
|
+
signal: "errors",
|
|
527
|
+
kind: "gauge",
|
|
528
|
+
aggregation: AggregationType.Sum,
|
|
529
|
+
seriesCombine: "sum",
|
|
530
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
531
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
532
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
533
|
+
seriesKeys: AZURE_OPERATION_RESULT_KEYS,
|
|
534
|
+
receiver: AZURE_MONITOR,
|
|
535
|
+
enabledByDefault: true,
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
system: "servicebus",
|
|
539
|
+
metricName: "azure_usererrors_total",
|
|
540
|
+
title: "User errors",
|
|
541
|
+
description: "Requests that failed because of the client, such as a lost message lock or a bad request, counted per minute by Azure Monitor (UserErrors) and added up across operation results.",
|
|
542
|
+
unit: "requests",
|
|
543
|
+
signal: "errors",
|
|
544
|
+
kind: "gauge",
|
|
545
|
+
aggregation: AggregationType.Sum,
|
|
546
|
+
seriesCombine: "sum",
|
|
547
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
548
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
549
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
550
|
+
seriesKeys: AZURE_OPERATION_RESULT_KEYS,
|
|
551
|
+
receiver: AZURE_MONITOR,
|
|
552
|
+
enabledByDefault: true,
|
|
553
|
+
},
|
|
554
|
+
{
|
|
555
|
+
system: "servicebus",
|
|
556
|
+
metricName: "azure_throttledrequests_total",
|
|
557
|
+
title: "Throttled requests",
|
|
558
|
+
description: "Requests Service Bus rejected because the namespace ran out of capacity, counted per minute by Azure Monitor (ThrottledRequests).",
|
|
559
|
+
unit: "requests",
|
|
560
|
+
signal: "throttled",
|
|
561
|
+
kind: "gauge",
|
|
562
|
+
aggregation: AggregationType.Sum,
|
|
563
|
+
seriesCombine: "sum",
|
|
564
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
565
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
566
|
+
requiredAttributes: SERVICE_BUS_NAMESPACE_TYPE,
|
|
567
|
+
seriesKeys: AZURE_THROTTLE_KEYS,
|
|
568
|
+
receiver: AZURE_MONITOR,
|
|
569
|
+
enabledByDefault: true,
|
|
570
|
+
},
|
|
571
|
+
// Azure Event Hubs.
|
|
572
|
+
{
|
|
573
|
+
system: "eventhubs",
|
|
574
|
+
metricName: "azure_incomingmessages_total",
|
|
575
|
+
title: "Incoming messages",
|
|
576
|
+
description: "Events sent to the event hub, counted per minute by Azure Monitor (IncomingMessages).",
|
|
577
|
+
unit: "messages",
|
|
578
|
+
signal: "published",
|
|
579
|
+
kind: "gauge",
|
|
580
|
+
aggregation: AggregationType.Sum,
|
|
581
|
+
seriesCombine: "sum",
|
|
582
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
583
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
584
|
+
requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
|
|
585
|
+
receiver: AZURE_MONITOR,
|
|
586
|
+
enabledByDefault: true,
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
system: "eventhubs",
|
|
590
|
+
metricName: "azure_outgoingmessages_total",
|
|
591
|
+
title: "Outgoing messages",
|
|
592
|
+
description: "Events read from the event hub, counted per minute by Azure Monitor (OutgoingMessages) across every consumer group.",
|
|
593
|
+
unit: "messages",
|
|
594
|
+
signal: "consumed",
|
|
595
|
+
kind: "gauge",
|
|
596
|
+
aggregation: AggregationType.Sum,
|
|
597
|
+
seriesCombine: "sum",
|
|
598
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
599
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
600
|
+
requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
|
|
601
|
+
receiver: AZURE_MONITOR,
|
|
602
|
+
enabledByDefault: true,
|
|
603
|
+
},
|
|
604
|
+
{
|
|
605
|
+
system: "eventhubs",
|
|
606
|
+
metricName: "azure_servererrors_total",
|
|
607
|
+
title: "Server errors",
|
|
608
|
+
description: "Requests that failed because of an Event Hubs error, counted per minute by Azure Monitor (ServerErrors) and added up across operation results.",
|
|
609
|
+
unit: "requests",
|
|
610
|
+
signal: "errors",
|
|
611
|
+
kind: "gauge",
|
|
612
|
+
aggregation: AggregationType.Sum,
|
|
613
|
+
seriesCombine: "sum",
|
|
614
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
615
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
616
|
+
requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
|
|
617
|
+
seriesKeys: AZURE_OPERATION_RESULT_KEYS,
|
|
618
|
+
receiver: AZURE_MONITOR,
|
|
619
|
+
enabledByDefault: true,
|
|
620
|
+
},
|
|
621
|
+
{
|
|
622
|
+
system: "eventhubs",
|
|
623
|
+
metricName: "azure_usererrors_total",
|
|
624
|
+
title: "User errors",
|
|
625
|
+
description: "Requests that failed because of the client, counted per minute by Azure Monitor (UserErrors) and added up across operation results.",
|
|
626
|
+
unit: "requests",
|
|
627
|
+
signal: "errors",
|
|
628
|
+
kind: "gauge",
|
|
629
|
+
aggregation: AggregationType.Sum,
|
|
630
|
+
seriesCombine: "sum",
|
|
631
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
632
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
633
|
+
requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
|
|
634
|
+
seriesKeys: AZURE_OPERATION_RESULT_KEYS,
|
|
635
|
+
receiver: AZURE_MONITOR,
|
|
636
|
+
enabledByDefault: true,
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
system: "eventhubs",
|
|
640
|
+
metricName: "azure_quotaexceedederrors_total",
|
|
641
|
+
title: "Quota exceeded errors",
|
|
642
|
+
description: "Requests that failed because the namespace hit a quota, counted per minute by Azure Monitor (QuotaExceededErrors) and added up across operation results.",
|
|
643
|
+
unit: "requests",
|
|
644
|
+
signal: "errors",
|
|
645
|
+
kind: "gauge",
|
|
646
|
+
aggregation: AggregationType.Sum,
|
|
647
|
+
seriesCombine: "sum",
|
|
648
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
649
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
650
|
+
requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
|
|
651
|
+
seriesKeys: AZURE_OPERATION_RESULT_KEYS,
|
|
652
|
+
receiver: AZURE_MONITOR,
|
|
653
|
+
enabledByDefault: true,
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
system: "eventhubs",
|
|
657
|
+
metricName: "azure_throttledrequests_total",
|
|
658
|
+
title: "Throttled requests",
|
|
659
|
+
description: "Requests Event Hubs rejected because the namespace ran out of throughput, counted per minute by Azure Monitor (ThrottledRequests).",
|
|
660
|
+
unit: "requests",
|
|
661
|
+
signal: "throttled",
|
|
662
|
+
kind: "gauge",
|
|
663
|
+
aggregation: AggregationType.Sum,
|
|
664
|
+
seriesCombine: "sum",
|
|
665
|
+
destinationAttributes: AZURE_ENTITY_KEYS,
|
|
666
|
+
scopeAttributes: AZURE_NAMESPACE_KEYS,
|
|
667
|
+
requiredAttributes: EVENT_HUBS_NAMESPACE_TYPE,
|
|
668
|
+
seriesKeys: AZURE_OPERATION_RESULT_KEYS,
|
|
669
|
+
receiver: AZURE_MONITOR,
|
|
670
|
+
enabledByDefault: true,
|
|
671
|
+
},
|
|
672
|
+
// Amazon SQS.
|
|
673
|
+
...sqsMetric({
|
|
674
|
+
cloudWatchName: "ApproximateNumberOfMessagesVisible",
|
|
675
|
+
title: "Messages visible",
|
|
676
|
+
description: "Messages available for retrieval from the queue (ApproximateNumberOfMessagesVisible, CloudWatch's Average for each period).",
|
|
677
|
+
unit: "messages",
|
|
678
|
+
signal: "backlog",
|
|
679
|
+
aggregation: AggregationType.Avg,
|
|
680
|
+
}),
|
|
681
|
+
...sqsMetric({
|
|
682
|
+
cloudWatchName: "ApproximateAgeOfOldestMessage",
|
|
683
|
+
title: "Oldest message age",
|
|
684
|
+
description: "Age of the oldest message in the queue (ApproximateAgeOfOldestMessage). CloudWatch reports it only while the queue holds a message.",
|
|
685
|
+
unit: "s",
|
|
686
|
+
signal: "oldestMessageAge",
|
|
687
|
+
aggregation: AggregationType.Max,
|
|
688
|
+
}),
|
|
689
|
+
...sqsMetric({
|
|
690
|
+
cloudWatchName: "ApproximateNumberOfMessagesNotVisible",
|
|
691
|
+
title: "Messages in flight",
|
|
692
|
+
description: "Messages a consumer has received but not yet deleted or returned to the queue (ApproximateNumberOfMessagesNotVisible).",
|
|
693
|
+
unit: "messages",
|
|
694
|
+
signal: "backlog",
|
|
695
|
+
aggregation: AggregationType.Avg,
|
|
696
|
+
}),
|
|
697
|
+
...sqsMetric({
|
|
698
|
+
cloudWatchName: "NumberOfMessagesSent",
|
|
699
|
+
title: "Messages sent",
|
|
700
|
+
description: "Messages sent to the queue in each CloudWatch period (NumberOfMessagesSent, its Sum).",
|
|
701
|
+
unit: "messages",
|
|
702
|
+
signal: "published",
|
|
703
|
+
aggregation: AggregationType.Sum,
|
|
704
|
+
}),
|
|
705
|
+
...sqsMetric({
|
|
706
|
+
cloudWatchName: "NumberOfMessagesReceived",
|
|
707
|
+
title: "Messages received",
|
|
708
|
+
description: "Messages ReceiveMessage calls returned in each CloudWatch period (NumberOfMessagesReceived); a redelivered message counts again.",
|
|
709
|
+
unit: "messages",
|
|
710
|
+
signal: "consumed",
|
|
711
|
+
aggregation: AggregationType.Sum,
|
|
712
|
+
}),
|
|
713
|
+
...sqsMetric({
|
|
714
|
+
cloudWatchName: "NumberOfMessagesDeleted",
|
|
715
|
+
title: "Messages deleted",
|
|
716
|
+
description: "Messages deleted from the queue — that is, processed — in each CloudWatch period (NumberOfMessagesDeleted).",
|
|
717
|
+
unit: "messages",
|
|
718
|
+
signal: "consumed",
|
|
719
|
+
aggregation: AggregationType.Sum,
|
|
720
|
+
}),
|
|
721
|
+
// Amazon SNS.
|
|
722
|
+
...snsMetric({
|
|
723
|
+
cloudWatchName: "NumberOfMessagesPublished",
|
|
724
|
+
title: "Messages published",
|
|
725
|
+
description: "Messages published to the topic in each CloudWatch period (NumberOfMessagesPublished).",
|
|
726
|
+
unit: "messages",
|
|
727
|
+
signal: "published",
|
|
728
|
+
aggregation: AggregationType.Sum,
|
|
729
|
+
}),
|
|
730
|
+
...snsMetric({
|
|
731
|
+
cloudWatchName: "NumberOfNotificationsDelivered",
|
|
732
|
+
title: "Notifications delivered",
|
|
733
|
+
description: "Notifications the topic delivered to its subscriptions in each CloudWatch period (NumberOfNotificationsDelivered).",
|
|
734
|
+
unit: "messages",
|
|
735
|
+
signal: "consumed",
|
|
736
|
+
aggregation: AggregationType.Sum,
|
|
737
|
+
}),
|
|
738
|
+
...snsMetric({
|
|
739
|
+
cloudWatchName: "NumberOfNotificationsFailed",
|
|
740
|
+
title: "Notifications failed",
|
|
741
|
+
description: "Deliveries to subscriptions that failed in each CloudWatch period (NumberOfNotificationsFailed); for HTTP/S endpoints every failed attempt, retries included, counts.",
|
|
742
|
+
unit: "messages",
|
|
743
|
+
signal: "errors",
|
|
744
|
+
aggregation: AggregationType.Sum,
|
|
745
|
+
}),
|
|
746
|
+
...snsMetric({
|
|
747
|
+
cloudWatchName: "NumberOfNotificationsRedrivenToDlq",
|
|
748
|
+
title: "Redriven to dead-letter queue",
|
|
749
|
+
description: "Notifications moved to a subscription's dead-letter queue in each CloudWatch period (NumberOfNotificationsRedrivenToDlq).",
|
|
750
|
+
unit: "messages",
|
|
751
|
+
signal: "deadLetter",
|
|
752
|
+
aggregation: AggregationType.Sum,
|
|
753
|
+
}),
|
|
754
|
+
// Google Cloud Pub/Sub.
|
|
755
|
+
{
|
|
756
|
+
system: "gcp_pubsub",
|
|
757
|
+
metricName: "pubsub.googleapis.com/subscription/num_undelivered_messages",
|
|
758
|
+
title: "Undelivered messages",
|
|
759
|
+
description: "Messages the subscription has not yet acknowledged (num_undelivered_messages), sampled every minute by Cloud Monitoring.",
|
|
760
|
+
unit: "messages",
|
|
761
|
+
signal: "backlog",
|
|
762
|
+
kind: "gauge",
|
|
763
|
+
aggregation: AggregationType.Max,
|
|
764
|
+
seriesCombine: "max",
|
|
765
|
+
destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
|
|
766
|
+
receiver: CLOUD_MONITORING,
|
|
767
|
+
enabledByDefault: false,
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
system: "gcp_pubsub",
|
|
771
|
+
metricName: "pubsub.googleapis.com/subscription/oldest_unacked_message_age",
|
|
772
|
+
title: "Oldest unacked message age",
|
|
773
|
+
description: "Age of the oldest message the subscription has not yet acknowledged (oldest_unacked_message_age).",
|
|
774
|
+
unit: "s",
|
|
775
|
+
signal: "oldestMessageAge",
|
|
776
|
+
kind: "gauge",
|
|
777
|
+
aggregation: AggregationType.Max,
|
|
778
|
+
seriesCombine: "max",
|
|
779
|
+
destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
|
|
780
|
+
receiver: CLOUD_MONITORING,
|
|
781
|
+
enabledByDefault: false,
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
system: "gcp_pubsub",
|
|
785
|
+
metricName: "pubsub.googleapis.com/subscription/dead_letter_message_count",
|
|
786
|
+
title: "Dead-lettered messages",
|
|
787
|
+
description: "Messages the subscription forwarded to its dead-letter topic in each sample period (dead_letter_message_count).",
|
|
788
|
+
unit: "messages",
|
|
789
|
+
signal: "deadLetter",
|
|
790
|
+
kind: "gauge",
|
|
791
|
+
aggregation: AggregationType.Sum,
|
|
792
|
+
seriesCombine: "sum",
|
|
793
|
+
destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
|
|
794
|
+
seriesKeys: ["response_code", "resource.response_code"],
|
|
795
|
+
receiver: CLOUD_MONITORING,
|
|
796
|
+
enabledByDefault: false,
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
system: "gcp_pubsub",
|
|
800
|
+
metricName: "pubsub.googleapis.com/subscription/ack_message_count",
|
|
801
|
+
title: "Acknowledged messages",
|
|
802
|
+
description: "Messages acknowledged on the subscription in each sample period (ack_message_count), added up across delivery types.",
|
|
803
|
+
unit: "messages",
|
|
804
|
+
signal: "consumed",
|
|
805
|
+
kind: "gauge",
|
|
806
|
+
aggregation: AggregationType.Sum,
|
|
807
|
+
seriesCombine: "sum",
|
|
808
|
+
destinationAttributes: PUBSUB_SUBSCRIPTION_KEYS,
|
|
809
|
+
seriesKeys: ["delivery_type", "resource.delivery_type"],
|
|
810
|
+
receiver: CLOUD_MONITORING,
|
|
811
|
+
enabledByDefault: false,
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
system: "gcp_pubsub",
|
|
815
|
+
metricName: "pubsub.googleapis.com/topic/send_request_count",
|
|
816
|
+
title: "Publish requests",
|
|
817
|
+
description: "Publish requests sent to the topic in each sample period (send_request_count). A request can carry several messages, so this counts requests, not messages.",
|
|
818
|
+
unit: "requests",
|
|
819
|
+
signal: "published",
|
|
820
|
+
kind: "gauge",
|
|
821
|
+
aggregation: AggregationType.Sum,
|
|
822
|
+
seriesCombine: "sum",
|
|
823
|
+
destinationAttributes: PUBSUB_TOPIC_KEYS,
|
|
824
|
+
seriesKeys: [
|
|
825
|
+
"response_class",
|
|
826
|
+
"response_code",
|
|
827
|
+
"resource.response_class",
|
|
828
|
+
"resource.response_code",
|
|
829
|
+
],
|
|
830
|
+
receiver: CLOUD_MONITORING,
|
|
831
|
+
enabledByDefault: false,
|
|
832
|
+
},
|
|
833
|
+
// Apache Pulsar.
|
|
834
|
+
{
|
|
835
|
+
system: "pulsar",
|
|
836
|
+
metricName: "pulsar_msg_backlog",
|
|
837
|
+
title: "Backlog",
|
|
838
|
+
description: "Entries backlogged on the topic across its subscriptions, added up across the topic's partitions. Pulsar counts a batch of messages as one entry.",
|
|
839
|
+
unit: "messages",
|
|
840
|
+
signal: "backlog",
|
|
841
|
+
kind: "gauge",
|
|
842
|
+
aggregation: AggregationType.Avg,
|
|
843
|
+
seriesCombine: "sum",
|
|
844
|
+
destinationAttributes: PULSAR_TOPIC_KEYS,
|
|
845
|
+
seriesKeys: PULSAR_TOPIC_SERIES_KEYS,
|
|
846
|
+
receiver: PROMETHEUS,
|
|
847
|
+
enabledByDefault: true,
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
system: "pulsar",
|
|
851
|
+
metricName: "pulsar_subscription_back_log",
|
|
852
|
+
title: "Subscription backlog",
|
|
853
|
+
description: "Entries not yet acknowledged on the subscription furthest behind, for its busiest partition. Pulsar counts a batch of messages as one entry.",
|
|
854
|
+
unit: "messages",
|
|
855
|
+
signal: "consumerLag",
|
|
856
|
+
kind: "gauge",
|
|
857
|
+
aggregation: AggregationType.Max,
|
|
858
|
+
seriesCombine: "max",
|
|
859
|
+
destinationAttributes: PULSAR_TOPIC_KEYS,
|
|
860
|
+
seriesKeys: [...PULSAR_TOPIC_SERIES_KEYS, "subscription"],
|
|
861
|
+
receiver: PROMETHEUS,
|
|
862
|
+
enabledByDefault: true,
|
|
863
|
+
},
|
|
864
|
+
{
|
|
865
|
+
system: "pulsar",
|
|
866
|
+
metricName: "pulsar_storage_backlog_age_seconds",
|
|
867
|
+
title: "Backlog age",
|
|
868
|
+
description: "Age of the oldest unacknowledged entry in the topic's backlog, for the partition furthest behind; -1 while the broker cannot tell.",
|
|
869
|
+
unit: "s",
|
|
870
|
+
signal: "oldestMessageAge",
|
|
871
|
+
kind: "gauge",
|
|
872
|
+
aggregation: AggregationType.Max,
|
|
873
|
+
seriesCombine: "max",
|
|
874
|
+
destinationAttributes: PULSAR_TOPIC_KEYS,
|
|
875
|
+
seriesKeys: PULSAR_TOPIC_SERIES_KEYS,
|
|
876
|
+
receiver: PROMETHEUS,
|
|
877
|
+
enabledByDefault: true,
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
system: "pulsar",
|
|
881
|
+
metricName: "pulsar_in_messages_total",
|
|
882
|
+
title: "Messages in",
|
|
883
|
+
description: "Messages published to the topic per second, added up across its partitions. Pulsar exposes the running total as a gauge; the chart shows its rate.",
|
|
884
|
+
unit: "messages",
|
|
885
|
+
signal: "published",
|
|
886
|
+
kind: "counter",
|
|
887
|
+
aggregation: AggregationType.Max,
|
|
888
|
+
seriesCombine: "sum",
|
|
889
|
+
destinationAttributes: PULSAR_TOPIC_KEYS,
|
|
890
|
+
receiver: PROMETHEUS,
|
|
891
|
+
enabledByDefault: true,
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
system: "pulsar",
|
|
895
|
+
metricName: "pulsar_out_messages_total",
|
|
896
|
+
title: "Messages out",
|
|
897
|
+
description: "Messages dispatched to the topic's subscriptions per second, added up across partitions and subscriptions. The per-consumer copies Pulsar adds when consumer-level metrics are on are left out, so no message is counted twice.",
|
|
898
|
+
unit: "messages",
|
|
899
|
+
signal: "consumed",
|
|
900
|
+
kind: "counter",
|
|
901
|
+
aggregation: AggregationType.Max,
|
|
902
|
+
seriesCombine: "sum",
|
|
903
|
+
destinationAttributes: PULSAR_TOPIC_KEYS,
|
|
904
|
+
excludeSeriesWithAttributes: PULSAR_CONSUMER_KEYS,
|
|
905
|
+
receiver: PROMETHEUS,
|
|
906
|
+
enabledByDefault: true,
|
|
907
|
+
},
|
|
908
|
+
// Apache RocketMQ.
|
|
909
|
+
{
|
|
910
|
+
system: "rocketmq",
|
|
911
|
+
metricName: "rocketmq_consumer_lag_messages",
|
|
912
|
+
title: "Consumer lag",
|
|
913
|
+
description: "Messages a consumer group has not yet consumed on this topic. With several consumer groups or brokers, the largest value is shown.",
|
|
914
|
+
unit: "messages",
|
|
915
|
+
signal: "consumerLag",
|
|
916
|
+
kind: "gauge",
|
|
917
|
+
aggregation: AggregationType.Max,
|
|
918
|
+
seriesCombine: "max",
|
|
919
|
+
destinationAttributes: ROCKETMQ_TOPIC_KEYS,
|
|
920
|
+
seriesKeys: ["consumer_group", "is_retry"],
|
|
921
|
+
receiver: PROMETHEUS,
|
|
922
|
+
enabledByDefault: true,
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
system: "rocketmq",
|
|
926
|
+
metricName: "rocketmq_consumer_ready_messages",
|
|
927
|
+
title: "Ready messages",
|
|
928
|
+
description: "Messages ready for a consumer group to pull from this topic. With several consumer groups or brokers, the largest value is shown.",
|
|
929
|
+
unit: "messages",
|
|
930
|
+
signal: "backlog",
|
|
931
|
+
kind: "gauge",
|
|
932
|
+
aggregation: AggregationType.Max,
|
|
933
|
+
seriesCombine: "max",
|
|
934
|
+
destinationAttributes: ROCKETMQ_TOPIC_KEYS,
|
|
935
|
+
seriesKeys: ["consumer_group", "is_retry"],
|
|
936
|
+
receiver: PROMETHEUS,
|
|
937
|
+
enabledByDefault: true,
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
system: "rocketmq",
|
|
941
|
+
metricName: "rocketmq_send_to_dlq_messages_total",
|
|
942
|
+
title: "Sent to dead-letter queue",
|
|
943
|
+
description: "Messages moved to a consumer group's dead-letter queue after running out of retries, per second, counted under the topic they came from.",
|
|
944
|
+
unit: "messages",
|
|
945
|
+
signal: "deadLetter",
|
|
946
|
+
kind: "counter",
|
|
947
|
+
aggregation: AggregationType.Max,
|
|
948
|
+
seriesCombine: "sum",
|
|
949
|
+
destinationAttributes: ROCKETMQ_TOPIC_KEYS,
|
|
950
|
+
receiver: PROMETHEUS,
|
|
951
|
+
enabledByDefault: true,
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
system: "rocketmq",
|
|
955
|
+
metricName: "rocketmq_messages_in_total",
|
|
956
|
+
title: "Messages in",
|
|
957
|
+
description: "Messages produced to the topic per second.",
|
|
958
|
+
unit: "messages",
|
|
959
|
+
signal: "published",
|
|
960
|
+
kind: "counter",
|
|
961
|
+
aggregation: AggregationType.Max,
|
|
962
|
+
seriesCombine: "sum",
|
|
963
|
+
destinationAttributes: ROCKETMQ_TOPIC_KEYS,
|
|
964
|
+
receiver: PROMETHEUS,
|
|
965
|
+
enabledByDefault: true,
|
|
966
|
+
},
|
|
967
|
+
];
|
|
968
|
+
/*
|
|
969
|
+
* Messaging SDK metrics that name a destination but no `messaging.system`,
|
|
970
|
+
* so only their name says which system reports them. The Azure SDK for
|
|
971
|
+
* Java's Service Bus meter (ServiceBusMeter) stamps the namespace host, the
|
|
972
|
+
* entity and the subscription alone — azure-core-metrics-opentelemetry
|
|
973
|
+
* renames hostName, entityName and subscriptionName to `server.address`,
|
|
974
|
+
* `messaging.destination.name` and `messaging.servicebus.subscription_name`
|
|
975
|
+
* — plus an outcome. (Its Event Hubs sibling does set `messaging.system`.)
|
|
976
|
+
*/
|
|
977
|
+
export const MESSAGING_SDK_METRIC_SYSTEMS = new Map([
|
|
978
|
+
["messaging.servicebus.messages.sent", "servicebus"],
|
|
979
|
+
["messaging.servicebus.receiver.lag", "servicebus"],
|
|
980
|
+
["messaging.servicebus.settlement.request.duration", "servicebus"],
|
|
981
|
+
["messaging.servicebus.settlement.sequence_number", "servicebus"],
|
|
982
|
+
]);
|
|
983
|
+
/*
|
|
984
|
+
* The messaging CLIENT metrics — what instrumented applications report
|
|
985
|
+
* about their own sends and receives: the OpenTelemetry semantic-convention
|
|
986
|
+
* ones, current (1.28 and later) and deprecated, and the SDK metrics above.
|
|
987
|
+
* They are not curated per system: each datapoint names its own destination
|
|
988
|
+
* (and, but for the SDK metrics above, its own `messaging.system`), so it
|
|
989
|
+
* resolves like a span (resolveMessagingMetricDatapoint). The deprecated
|
|
990
|
+
* names are still what the Java agent's default mode and the Azure SDK for
|
|
991
|
+
* Java emit. Ingest and the discovery cron select datapoints by this set.
|
|
992
|
+
*/
|
|
993
|
+
export const MESSAGING_CLIENT_METRIC_NAMES = new Set([
|
|
994
|
+
"messaging.client.sent.messages",
|
|
995
|
+
"messaging.client.consumed.messages",
|
|
996
|
+
"messaging.client.operation.duration",
|
|
997
|
+
"messaging.process.duration",
|
|
998
|
+
"messaging.publish.duration",
|
|
999
|
+
"messaging.receive.duration",
|
|
1000
|
+
"messaging.publish.messages",
|
|
1001
|
+
"messaging.receive.messages",
|
|
1002
|
+
"messaging.process.messages",
|
|
1003
|
+
"messaging.client.published.messages",
|
|
1004
|
+
...Array.from(MESSAGING_SDK_METRIC_SYSTEMS.keys()),
|
|
1005
|
+
]);
|
|
1006
|
+
// metric name → its entries (one per system that emits the name).
|
|
1007
|
+
const DESCRIPTORS_BY_NAME = (() => {
|
|
1008
|
+
const map = new Map();
|
|
1009
|
+
for (const descriptor of MESSAGE_QUEUE_METRICS) {
|
|
1010
|
+
const existing = map.get(descriptor.metricName);
|
|
1011
|
+
if (existing) {
|
|
1012
|
+
existing.push(descriptor);
|
|
1013
|
+
}
|
|
1014
|
+
else {
|
|
1015
|
+
map.set(descriptor.metricName, [descriptor]);
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
return map;
|
|
1019
|
+
})();
|
|
1020
|
+
// Every curated broker metric name, as stored.
|
|
1021
|
+
export const MESSAGE_QUEUE_BROKER_METRIC_NAMES = new Set(DESCRIPTORS_BY_NAME.keys());
|
|
1022
|
+
const NO_DESCRIPTORS = [];
|
|
1023
|
+
/**
|
|
1024
|
+
* The curated metrics for a system, in display order (aliases accepted:
|
|
1025
|
+
* "AmazonSQS" gets Amazon SQS's). Empty for a system without a curated set
|
|
1026
|
+
* — the queue page then shows where its broker metrics come from instead.
|
|
1027
|
+
*/
|
|
1028
|
+
export function getMessageQueueMetricsForSystem(system) {
|
|
1029
|
+
const normalized = normalizeMessagingSystem(system);
|
|
1030
|
+
if (!normalized) {
|
|
1031
|
+
return NO_DESCRIPTORS;
|
|
1032
|
+
}
|
|
1033
|
+
return MESSAGE_QUEUE_METRICS.filter((descriptor) => {
|
|
1034
|
+
return descriptor.system === normalized;
|
|
1035
|
+
});
|
|
1036
|
+
}
|
|
1037
|
+
/**
|
|
1038
|
+
* Every entry for a metric name — several when systems share it (Azure
|
|
1039
|
+
* Monitor names Service Bus's and Event Hubs' metrics alike; their
|
|
1040
|
+
* `requiredAttributes` tell them apart). Trimmed and lowercased first, as
|
|
1041
|
+
* ingest stores names; empty for a name the catalog does not curate. A Map
|
|
1042
|
+
* lookup, so "constructor" finds nothing.
|
|
1043
|
+
*/
|
|
1044
|
+
export function getMessageQueueMetricDescriptorsByName(metricName) {
|
|
1045
|
+
if (typeof metricName !== "string") {
|
|
1046
|
+
return NO_DESCRIPTORS;
|
|
1047
|
+
}
|
|
1048
|
+
return (DESCRIPTORS_BY_NAME.get(metricName.trim().toLowerCase()) || NO_DESCRIPTORS);
|
|
1049
|
+
}
|
|
1050
|
+
/**
|
|
1051
|
+
* A stable id for an entry — `${system}:${metricName}`. A name alone is not
|
|
1052
|
+
* unique: Service Bus and Event Hubs share Azure Monitor's.
|
|
1053
|
+
*/
|
|
1054
|
+
export function getMessageQueueMetricId(descriptor) {
|
|
1055
|
+
return `${descriptor.system}:${descriptor.metricName}`;
|
|
1056
|
+
}
|
|
1057
|
+
//# sourceMappingURL=MessageQueueMetricCatalog.js.map
|