@oneuptime/common 14.0.3 → 14.0.5
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/Alert.ts +55 -0
- package/Models/DatabaseModels/DatabaseServer.ts +1650 -0
- package/Models/DatabaseModels/DatabaseServerEndpoint.ts +540 -0
- package/Models/DatabaseModels/DatabaseServerFeed.ts +625 -0
- package/Models/DatabaseModels/DatabaseServerLabelRule.ts +514 -0
- package/Models/DatabaseModels/DatabaseServerOwnerRule.ts +596 -0
- package/Models/DatabaseModels/DatabaseServerOwnerTeam.ts +491 -0
- package/Models/DatabaseModels/DatabaseServerOwnerUser.ts +490 -0
- package/Models/DatabaseModels/Incident.ts +55 -0
- package/Models/DatabaseModels/Index.ts +16 -0
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +26 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
- package/Models/DatabaseModels/TelemetryException.ts +2 -0
- package/Models/DatabaseModels/UserProjectSsoConsent.ts +146 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1795000000000-AddDatabaseServerTables.ts +673 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1795100000000-AddUserProjectSsoConsent.ts +51 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +4 -0
- package/Server/Middleware/MultipartFormData.ts +1 -1
- package/Server/Middleware/TelemetryIngest.ts +15 -8
- package/Server/Services/AlertReminderRuleService.ts +100 -24
- package/Server/Services/DatabaseServerEndpointService.ts +895 -0
- package/Server/Services/DatabaseServerFeedService.ts +128 -0
- package/Server/Services/DatabaseServerLabelRuleEngineService.ts +340 -0
- package/Server/Services/DatabaseServerLabelRuleService.ts +14 -0
- package/Server/Services/DatabaseServerOwnerRuleEngineService.ts +425 -0
- package/Server/Services/DatabaseServerOwnerRuleService.ts +14 -0
- package/Server/Services/DatabaseServerOwnerTeamService.ts +180 -0
- package/Server/Services/DatabaseServerOwnerUserService.ts +173 -0
- package/Server/Services/DatabaseServerService.ts +4546 -0
- package/Server/Services/DatabaseService.ts +14 -8
- package/Server/Services/DockerResourceService.ts +43 -2
- package/Server/Services/IncidentReminderRuleService.ts +103 -23
- package/Server/Services/Index.ts +16 -0
- package/Server/Services/InventoryItemService.ts +113 -5
- package/Server/Services/IoTDeviceService.ts +145 -37
- package/Server/Services/OpenTelemetryIngestService.ts +19 -0
- package/Server/Services/PodmanResourceService.ts +43 -2
- package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +107 -23
- package/Server/Services/ServiceService.ts +1 -1
- package/Server/Services/TelemetryUsageBillingService.ts +29 -2
- package/Server/Services/UserProjectSsoConsentService.ts +74 -0
- package/Server/Services/UserService.ts +14 -1
- package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +18 -0
- package/Server/Types/Database/QueryHelper.ts +30 -1
- package/Server/Utils/AI/Toolbox/ResourceTools.ts +69 -1
- package/Server/Utils/Database/AffectedResourceRelations.ts +6 -0
- package/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.ts +188 -6
- package/Server/Utils/Monitor/MonitorAlert.ts +28 -1
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +2262 -755
- package/Server/Utils/Monitor/MonitorIncident.ts +28 -1
- package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +268 -6
- package/Server/Utils/Monitor/MonitorResource.ts +47 -11
- package/Server/Utils/Monitor/MonitorResourceContext.ts +1 -0
- package/Server/Utils/Monitor/MonitorStepResourceIdentity.ts +239 -21
- package/Server/Utils/Monitor/PerSeriesResolutionRootCause.ts +43 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +291 -0
- package/Server/Utils/Monitor/SeriesResourceLinker.ts +111 -12
- package/Server/Utils/Rules/RuleRun/RuleRunRegistry.ts +25 -0
- package/Server/Utils/StartServer.ts +26 -6
- package/Server/Utils/TeamMember/ProjectLeaveResourceCleanup.ts +2 -0
- package/Server/Utils/Telemetry/DatabaseEndpointDiscovery.ts +688 -0
- package/Server/Utils/Telemetry/EntityRegistry.ts +5 -1
- package/Server/Utils/Telemetry/LogExceptionExtractor.ts +18 -1
- package/Server/Utils/Telemetry/ResourceEntityFilter.ts +175 -12
- package/Server/Utils/Telemetry/ResourceFacetResolver.ts +12 -0
- package/Server/Utils/Telemetry/ServiceDependencyDiscovery.ts +606 -36
- package/Server/Utils/Telemetry/Telemetry.ts +16 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +22 -22
- package/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.ts +16 -10
- package/Tests/App/Accounts/SignedInRedirect.test.tsx +241 -0
- package/Tests/App/AdminDashboard/AdminHeaderSmallScreens.test.tsx +221 -4
- package/Tests/App/Dashboard/AIInsightsResourcePageContext.test.ts +42 -0
- package/Tests/App/Dashboard/AffectedResourcesDisplay.test.tsx +100 -0
- package/Tests/App/Dashboard/AffectedResourcesPicker.test.tsx +86 -0
- package/Tests/App/Dashboard/AffectedResourcesPickerHiddenTypes.test.tsx +2 -0
- package/Tests/App/Dashboard/AffectedResourcesSummaryStep.test.tsx +19 -0
- package/Tests/App/Dashboard/BreadcrumbCoverage.test.tsx +14 -0
- package/Tests/App/Dashboard/CorrelateFilterBuilder.test.tsx +26 -1
- package/Tests/App/Dashboard/DashboardAppSsoError.test.tsx +501 -0
- package/Tests/App/Dashboard/DashboardHeaderRequests.test.tsx +64 -1
- package/Tests/App/Dashboard/DashboardHeaderSmallScreens.test.tsx +178 -18
- package/Tests/App/Dashboard/DashboardMasterPageSsoRedirect.test.tsx +444 -0
- package/Tests/App/Dashboard/DashboardNavBarForeignHiddenRule.test.tsx +573 -0
- package/Tests/App/Dashboard/DatabaseChartAxes.test.tsx +431 -0
- package/Tests/App/Dashboard/DatabaseContainerDetailBadge.test.tsx +249 -0
- package/Tests/App/Dashboard/DatabaseDashboardE2EFixes.test.ts +681 -0
- package/Tests/App/Dashboard/DatabaseDocumentationMarkdown.test.ts +1801 -0
- package/Tests/App/Dashboard/DatabaseFleetSummaryRefresh.test.tsx +280 -0
- package/Tests/App/Dashboard/DatabaseFormHelpers.test.tsx +321 -0
- package/Tests/App/Dashboard/DatabaseMetricMonitorLink.test.tsx +795 -0
- package/Tests/App/Dashboard/DatabaseOverviewHeader.test.tsx +580 -0
- package/Tests/App/Dashboard/DatabaseRecommendationsEngineMetrics.test.ts +270 -0
- package/Tests/App/Dashboard/DatabaseServerComponents.test.tsx +1486 -0
- package/Tests/App/Dashboard/DatabaseServerEngineMetricsFilter.test.ts +223 -0
- package/Tests/App/Dashboard/DatabaseServerPresentation.test.ts +435 -0
- package/Tests/App/Dashboard/DatabaseServerSummary.test.ts +186 -0
- package/Tests/App/Dashboard/DatabaseServerTelemetryQueries.test.ts +1553 -0
- package/Tests/App/Dashboard/DatabaseTableTruncation.test.tsx +326 -0
- package/Tests/App/Dashboard/DatabaseTelemetryScope.test.ts +512 -0
- package/Tests/App/Dashboard/DatabaseTelemetryTabs.test.tsx +774 -0
- package/Tests/App/Dashboard/DatabaseViewLayout.test.tsx +233 -0
- package/Tests/App/Dashboard/DatabaseWorkloadBadge.test.tsx +972 -0
- package/Tests/App/Dashboard/DiscoveryReviewInventoryRefresh.test.tsx +5 -0
- package/Tests/App/Dashboard/DiscoveryReviewUnnamedHostHint.test.tsx +1061 -0
- package/Tests/App/Dashboard/EventOverlayScope.test.ts +147 -0
- package/Tests/App/Dashboard/EventOverlayScopeHook.test.tsx +1 -0
- package/Tests/App/Dashboard/LogsResourceFacetChips.test.tsx +1 -0
- package/Tests/App/Dashboard/MetricsViewerDrillDown.test.tsx +310 -0
- package/Tests/App/Dashboard/MetricsViewerEntityScopedRows.test.tsx +495 -0
- package/Tests/App/Dashboard/MonitorCreateFromMonitorBackedDevice.test.tsx +132 -1
- package/Tests/App/Dashboard/NavigationSearchKeywords.test.tsx +5 -0
- package/Tests/App/Dashboard/ProductOrientation.test.tsx +4 -3
- package/Tests/App/Dashboard/RecommendationsLoadedContext.test.tsx +349 -0
- package/Tests/App/Dashboard/ResourceArchiveSettings.test.tsx +62 -0
- package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +8 -1
- package/Tests/App/Dashboard/ResourceFeedPagesFilterSort.test.tsx +14 -0
- package/Tests/App/Dashboard/ScheduledMaintenanceOverviewPage.test.tsx +2 -0
- package/Tests/App/Dashboard/ServiceMapDatabaseLink.test.tsx +1085 -0
- package/Tests/App/Dashboard/TelemetryResourceRetentionSettings.test.tsx +10 -0
- package/Tests/App/Dashboard/TracesResourceFacets.test.tsx +2 -1
- package/Tests/App/StatusPage/StatusPageHeaderForeignHiddenRule.test.tsx +284 -0
- package/Tests/ClassStrings.ts +178 -0
- package/Tests/Fixtures/MobilePasskeyUser.json +1 -2
- package/Tests/ForeignHiddenRuleGuard.ts +2152 -0
- package/Tests/Models/DatabaseModels/DatabaseServerModels.test.ts +2250 -0
- package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +24 -5
- package/Tests/Models/DatabaseModels/StaticRuleCriteriaInheritance.test.ts +4 -2
- package/Tests/RenderedMarkup.ts +518 -0
- package/Tests/ResponsiveVisibility.test.ts +490 -4
- package/Tests/ResponsiveVisibility.ts +505 -52
- package/Tests/Server/Infrastructure/Postgres/AddConfigurableRuleCriteriaMigration.test.ts +3 -0
- package/Tests/Server/Infrastructure/Postgres/AddDatabaseServerTablesMigration.test.ts +541 -0
- package/Tests/Server/Infrastructure/Postgres/AddUserProjectSsoConsentMigration.test.ts +234 -0
- package/Tests/Server/Services/ContainerSnapshotUpsertPostgres.test.ts +319 -0
- package/Tests/Server/Services/CrossProjectRelationWriteGuard.test.ts +13 -0
- package/Tests/Server/Services/DatabaseServerEndpointService.test.ts +2033 -0
- package/Tests/Server/Services/DatabaseServerFeedAndOwnerServices.test.ts +529 -0
- package/Tests/Server/Services/DatabaseServerLifecycle.test.ts +3302 -0
- package/Tests/Server/Services/DatabaseServerRegistries.test.ts +603 -0
- package/Tests/Server/Services/DatabaseServerRuleEngines.test.ts +754 -0
- package/Tests/Server/Services/DatabaseServerService.test.ts +3558 -0
- package/Tests/Server/Services/DatabaseServerSqlPostgres.test.ts +2045 -0
- package/Tests/Server/Services/DatabaseServiceUpdateColumnsIfUnlockedPostgres.test.ts +362 -0
- package/Tests/Server/Services/DatabaseServiceUpdateColumnsIfUnlockedReply.test.ts +210 -0
- package/Tests/Server/Services/HookFreeWriteLengthClamp.test.ts +18 -0
- package/Tests/Server/Services/IncidentAlertSloLinkSurvivesEdit.test.ts +2 -0
- package/Tests/Server/Services/IncomingCallPolicyEscalationRuleTarget.test.ts +225 -0
- package/Tests/Server/Services/InventoryItemDisplayName.test.ts +280 -2
- package/Tests/Server/Services/InventoryUpsertSchemaParity.test.ts +8 -2
- package/Tests/Server/Services/IoTDeviceLatestMetricsPostgres.test.ts +689 -0
- package/Tests/Server/Services/IoTDeviceService.test.ts +379 -0
- package/Tests/Server/Services/LatestMetricsValuesShape.test.ts +360 -0
- package/Tests/Server/Services/LlmModelPriceService.test.ts +402 -0
- package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +7 -1
- package/Tests/Server/Services/OwnerRowUniqueness.test.ts +61 -9
- package/Tests/Server/Services/ReminderRuleLookupPostgres.test.ts +2250 -0
- package/Tests/Server/Services/ReminderRuleRefreshOpenSubjectsPaging.test.ts +653 -0
- package/Tests/Server/Services/ResourceUpdateLastSeenLivenessFallback.test.ts +68 -20
- package/Tests/Server/Services/StaticRuleCriteriaRuntimeCoverage.test.ts +3 -3
- package/Tests/Server/Services/TelemetryResourceFacetCounting.test.ts +9 -0
- package/Tests/Server/Services/UserProjectSsoConsentPostgres.test.ts +153 -0
- package/Tests/Server/Services/UserProjectSsoConsentService.test.ts +192 -0
- package/Tests/Server/Services/UserServiceFirstMasterAdminElection.test.ts +71 -0
- package/Tests/Server/Services/UserSignupIdTakeoverPostgres.test.ts +238 -0
- package/Tests/Server/Services/WorkspaceNotificationSummaryHelpers.test.ts +592 -0
- package/Tests/Server/Types/Billing/PayAsYouGoMeteredAuthorization.test.ts +3 -0
- package/Tests/Server/Types/Database/EventOverlayScopePostgres.test.ts +1 -0
- package/Tests/Server/Types/Database/FeedEventTypeFilterQuery.test.ts +11 -0
- package/Tests/Server/Types/Database/Permissions/InfrastructureOwnershipScope.test.ts +8 -0
- package/Tests/Server/Types/Database/QueryHelperBooleanForCriteriaBackedRule.test.ts +1094 -0
- package/Tests/Server/Utils/AI/ResourceTools.test.ts +134 -0
- package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.test.ts +41 -0
- package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteriaAnomalyUnits.test.ts +279 -9
- package/Tests/Server/Utils/Monitor/Criteria/MetricMonitorCriteriaDisplayContext.test.ts +933 -0
- package/Tests/Server/Utils/Monitor/DatabaseMaintenanceSuppression.test.ts +582 -0
- package/Tests/Server/Utils/Monitor/DatabaseServerMonitorLinking.test.ts +753 -0
- package/Tests/Server/Utils/Monitor/MonitorActionTimestamps.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/MonitorAlertCriteriaReferences.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +119 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +60 -25
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorAffectedResourceEdgeCases.test.ts +1719 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorKubernetesAffectedResources.test.ts +1447 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorKubernetesRatioEmail.test.ts +352 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorPlatformMetricUnits.test.ts +717 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorPlatformRawScan.test.ts +2125 -0
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluatorPlatformSeriesAffectedResources.test.ts +1288 -0
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/MonitorIncidentCriteriaReferences.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/MonitorIncidentMemberRoleMembership.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +88 -0
- package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +205 -0
- package/Tests/Server/Utils/Monitor/MonitorResourceContext.test.ts +62 -0
- package/Tests/Server/Utils/Monitor/MonitorResourceDatabaseMaintenance.test.ts +803 -0
- package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +133 -3
- package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/PerSeriesRecoveryResolution.test.ts +472 -1
- package/Tests/Server/Utils/Monitor/PerSeriesSecondEntityAlerting.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +236 -2
- package/Tests/Server/Utils/SeriesResourceLabels.test.ts +70 -0
- package/Tests/Server/Utils/StartServerProtobufContentType.test.ts +54 -0
- package/Tests/Server/Utils/Telemetry/DatabaseEndpointDiscovery.test.ts +1895 -0
- package/Tests/Server/Utils/Telemetry/EntityRegistry.test.ts +7 -0
- package/Tests/Server/Utils/Telemetry/LogExceptionExtractorSeverityGate.test.ts +90 -0
- package/Tests/Server/Utils/Telemetry/ResourceEntityFilter.test.ts +570 -0
- package/Tests/Server/Utils/Telemetry/ResourceFacetResolver.test.ts +97 -2
- package/Tests/Server/Utils/Telemetry/ServiceDependencyDiscovery.test.ts +1337 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +295 -0
- package/Tests/Types/AI/AIResourceContext.test.ts +30 -0
- package/Tests/Types/DatabaseServer/DatabaseContainerClassifier.test.ts +3644 -0
- package/Tests/Types/DatabaseServer/DatabaseContainerCommand.test.ts +340 -0
- package/Tests/Types/DatabaseServer/DatabaseContainerCommandCorpus.ts +826 -0
- package/Tests/Types/DatabaseServer/DatabaseContainerCommandPostgres.test.ts +150 -0
- package/Tests/Types/DatabaseServer/DatabaseEndpoint.test.ts +2657 -0
- package/Tests/Types/DatabaseServer/DatabaseServerDiscoverySource.test.ts +64 -0
- package/Tests/Types/DatabaseServer/DatabaseServerEntityKeys.test.ts +952 -0
- package/Tests/Types/DatabaseServer/DatabaseServerMetricCatalog.test.ts +1161 -0
- package/Tests/Types/DatabaseServer/DatabaseSystem.test.ts +1514 -0
- package/Tests/Types/DatabaseServer/DatabaseTelemetryResolver.test.ts +1558 -0
- package/Tests/Types/Monitor/CephAlertTemplates.test.ts +255 -6
- package/Tests/Types/Monitor/DatabaseAlertTemplates.test.ts +2254 -0
- package/Tests/Types/Monitor/KubernetesAlertTemplates.test.ts +298 -0
- package/Tests/Types/Monitor/KubernetesMetricCatalog.test.ts +271 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +253 -9
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +13 -5
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +4 -2
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +111 -2
- package/Tests/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.test.ts +61 -0
- package/Tests/Types/Monitor/SeriesContext/SeriesLabelDisplay.test.ts +114 -0
- package/Tests/Types/Monitor/Utils/KubernetesAgentEmittedMetrics.ts +181 -0
- package/Tests/Types/NetworkDevice/DiscoveredHostNamingStatus.test.ts +401 -0
- package/Tests/Types/Telemetry/ResourceEntityFacet.test.ts +4 -1
- package/Tests/Types/Telemetry/ResourceFacetCatalog.test.ts +24 -2
- package/Tests/UI/Components/Card.test.tsx +93 -2
- package/Tests/UI/Components/FeedOptions.test.ts +6 -0
- package/Tests/UI/Components/FeedOptionsButton.test.tsx +8 -1
- package/Tests/UI/Components/ForeignHiddenRuleResilience.test.tsx +1147 -0
- package/Tests/UI/Components/HeaderRightRail.test.tsx +41 -1
- package/Tests/UI/Components/LogsEntityNames.test.ts +16 -1
- package/Tests/UI/Components/LogsFacetSidebarHiddenFacets.test.tsx +7 -3
- package/Tests/UI/Components/ResourceFacetConfigs.test.ts +2 -1
- package/Tests/UI/Components/RuleCriteria/RuleCriteriaModelTable.test.tsx +3 -3
- package/Tests/UI/Components/SrOnlyForeignRule.test.tsx +994 -0
- package/Tests/UI/Components/StatusPage/ResourceListSelection.test.tsx +34 -1
- package/Tests/UI/Components/TelemetryFacetSidebarHiddenFacets.test.tsx +4 -1
- package/Tests/UI/ForeignHiddenRuleGuard.test.ts +1951 -0
- package/Tests/UI/Rum/ReplayPlayerChrome.test.tsx +19 -1
- package/Tests/UI/Rum/ReplayTabSwitcher.test.tsx +19 -1
- package/Tests/UI/TailwindPlayCdnForeignHiddenRule.test.ts +1005 -0
- package/Tests/UI/ThemeGroupHoverReveal.test.ts +847 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +70 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +21 -0
- package/Tests/UI/Utils/ModelAPISsoRedirect.test.ts +127 -0
- package/Tests/UI/Utils/Navigation.test.ts +102 -0
- package/Tests/UI/Utils/Telemetry/TelemetryEntityNames.test.ts +23 -0
- package/Tests/Utils/LabelRuleImportExport.test.ts +5 -0
- package/Tests/Utils/MetricUnitUtil.test.ts +227 -2
- package/Tests/Utils/Monitor/MetricValueFormatter.test.ts +288 -2
- package/Tests/Utils/Monitor/PlatformResourceIdentityAndUnits.test.ts +1559 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostNamingDiagnosis.test.ts +2546 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +315 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +336 -1
- package/Tests/Utils/NetworkDiscovery/NetbiosNameUtil.test.ts +244 -0
- package/Tests/Utils/ValueFormatter.test.ts +50 -0
- package/Tests/tsconfig.json +16 -0
- package/Types/AI/AIResourceContext.ts +7 -0
- package/Types/Dashboard/DashboardTemplates.ts +2 -1
- package/Types/DatabaseServer/DatabaseConnectionSpan.ts +77 -0
- package/Types/DatabaseServer/DatabaseContainerClassifier.ts +2068 -0
- package/Types/DatabaseServer/DatabaseContainerCommand.ts +801 -0
- package/Types/DatabaseServer/DatabaseEndpoint.ts +1943 -0
- package/Types/DatabaseServer/DatabaseServerDiscoverySource.ts +68 -0
- package/Types/DatabaseServer/DatabaseServerMetricCatalog.ts +966 -0
- package/Types/DatabaseServer/DatabaseSystem.ts +2124 -0
- package/Types/DatabaseServer/DatabaseTelemetryResolver.ts +555 -0
- package/Types/Email/EmailTemplateType.ts +1 -0
- package/Types/Monitor/CephAlertTemplates.ts +18 -0
- package/Types/Monitor/DatabaseAlertTemplates.ts +2020 -0
- package/Types/Monitor/KubernetesAlertTemplates.ts +64 -24
- package/Types/Monitor/KubernetesMetricCatalog.ts +118 -19
- package/Types/Monitor/MetricMonitor/MetricCriteriaContext.ts +14 -0
- package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +93 -10
- package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +109 -8
- package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +36 -7
- package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +43 -2
- package/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.ts +41 -6
- package/Types/Monitor/SeriesContext/SeriesLabelDisplay.ts +26 -0
- package/Types/NetworkDevice/DiscoveredHostNamingStatus.ts +147 -0
- package/Types/Permission.ts +267 -0
- package/Types/Probe/ProbeApiIngestResponse.ts +8 -0
- package/Types/Rules/RuleCriteriaFieldRegistry.ts +10 -0
- package/Types/Rules/RuleRun.ts +12 -0
- package/Types/Telemetry/EntityType.ts +23 -0
- package/Types/Telemetry/ResourceFacetCatalog.ts +14 -0
- package/Types/Telemetry/ServiceType.ts +8 -0
- package/UI/Components/Banner/Banner.tsx +1 -1
- package/UI/Components/Card/Card.tsx +1 -1
- package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +2 -2
- package/UI/Components/Charts/Line/LineChart.tsx +7 -0
- package/UI/Components/CommandPalette/CommandPalette.tsx +1 -1
- package/UI/Components/Date/StartAndEndDate.tsx +5 -5
- package/UI/Components/Diagram/HorizontalStepChain.tsx +1 -1
- package/UI/Components/Feed/FeedOptionsButton.tsx +1 -1
- package/UI/Components/Forms/BasicForm.tsx +1 -1
- package/UI/Components/Header/Header.tsx +1 -1
- package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -1
- package/UI/Components/HeaderAlert/HeaderAlert.tsx +1 -1
- package/UI/Components/LogsViewer/components/FacetValueRow.tsx +1 -1
- package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +1 -1
- package/UI/Components/Modal/ModalFooter.tsx +1 -1
- package/UI/Components/ModelDetail/CardModelDetail.tsx +2 -2
- package/UI/Components/ModelTable/BaseModelTable.tsx +4 -4
- package/UI/Components/Navbar/NavBar.tsx +9 -2
- package/UI/Components/Navbar/NavBarMenuModal.tsx +2 -2
- package/UI/Components/Page/Page.tsx +1 -1
- package/UI/Components/Pagination/Pagination.tsx +3 -3
- package/UI/Components/ProgressButtons/ProgressButtonItem.tsx +1 -1
- package/UI/Components/SideMenu/SideMenu.tsx +4 -1
- package/UI/Components/StatusPage/ResourceGroupNavigator.tsx +4 -2
- package/UI/Components/StatusPage/ResourceList.tsx +6 -6
- package/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.tsx +1 -1
- package/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.tsx +1 -1
- package/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.tsx +1 -1
- package/UI/Components/Workflow/ComponentsModal.tsx +2 -2
- package/UI/Components/Workflow/StepTraceViewer.tsx +1 -1
- package/UI/Styles/Theme.css +8 -1
- package/UI/Utils/Navigation.ts +89 -42
- package/UI/Utils/Telemetry/TelemetryEntityNames.ts +7 -0
- package/UI/Utils/TelemetryService.ts +4 -3
- package/Utils/LabelRuleImportExport.ts +2 -0
- package/Utils/MetricUnitUtil.ts +103 -11
- package/Utils/Monitor/MetricValueFormatter.ts +66 -13
- package/Utils/Monitor/PlatformMetricUnitUtil.ts +215 -0
- package/Utils/Monitor/PlatformResourceIdentity.ts +514 -0
- package/Utils/NetworkDiscovery/DiscoveredHostNamingDiagnosis.ts +425 -0
- package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +32 -0
- package/Utils/NetworkDiscovery/NetbiosNameUtil.ts +73 -0
- package/Utils/Telemetry/DatabaseServerEntityKeys.ts +275 -0
- package/Utils/Telemetry/EntityKey.ts +176 -0
- package/Utils/ValueFormatter.ts +16 -0
- package/build/dist/Models/DatabaseModels/Alert.js +54 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DatabaseServer.js +1683 -0
- package/build/dist/Models/DatabaseModels/DatabaseServer.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerEndpoint.js +559 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerEndpoint.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerOwnerTeam.js +506 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerOwnerUser.js +505 -0
- package/build/dist/Models/DatabaseModels/DatabaseServerOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Incident.js +54 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +16 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
- package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserProjectSsoConsent.js +162 -0
- package/build/dist/Models/DatabaseModels/UserProjectSsoConsent.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795000000000-AddDatabaseServerTables.js +240 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795000000000-AddDatabaseServerTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795100000000-AddUserProjectSsoConsent.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1795100000000-AddUserProjectSsoConsent.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +4 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/MultipartFormData.js +1 -1
- package/build/dist/Server/Middleware/TelemetryIngest.js +15 -8
- package/build/dist/Server/Middleware/TelemetryIngest.js.map +1 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js +72 -23
- package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/DatabaseServerEndpointService.js +694 -0
- package/build/dist/Server/Services/DatabaseServerEndpointService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerFeedService.js +110 -0
- package/build/dist/Server/Services/DatabaseServerFeedService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerLabelRuleEngineService.js +272 -0
- package/build/dist/Server/Services/DatabaseServerLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerLabelRuleService.js +13 -0
- package/build/dist/Server/Services/DatabaseServerLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerOwnerRuleEngineService.js +340 -0
- package/build/dist/Server/Services/DatabaseServerOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/DatabaseServerOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerOwnerTeamService.js +160 -0
- package/build/dist/Server/Services/DatabaseServerOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerOwnerUserService.js +153 -0
- package/build/dist/Server/Services/DatabaseServerOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseServerService.js +3272 -0
- package/build/dist/Server/Services/DatabaseServerService.js.map +1 -0
- package/build/dist/Server/Services/DatabaseService.js +8 -4
- package/build/dist/Server/Services/DatabaseService.js.map +1 -1
- package/build/dist/Server/Services/DockerResourceService.js +30 -3
- package/build/dist/Server/Services/DockerResourceService.js.map +1 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js +73 -23
- package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +16 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/InventoryItemService.js +88 -5
- package/build/dist/Server/Services/InventoryItemService.js.map +1 -1
- package/build/dist/Server/Services/IoTDeviceService.js +111 -24
- package/build/dist/Server/Services/IoTDeviceService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +24 -9
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/PodmanResourceService.js +30 -3
- package/build/dist/Server/Services/PodmanResourceService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +75 -23
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/ServiceService.js +1 -1
- package/build/dist/Server/Services/ServiceService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +23 -2
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/UserProjectSsoConsentService.js +79 -0
- package/build/dist/Server/Services/UserProjectSsoConsentService.js.map +1 -0
- package/build/dist/Server/Services/UserService.js +13 -1
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +18 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
- package/build/dist/Server/Types/Database/QueryHelper.js +26 -1
- package/build/dist/Server/Types/Database/QueryHelper.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/ResourceTools.js +46 -0
- package/build/dist/Server/Utils/AI/Toolbox/ResourceTools.js.map +1 -1
- package/build/dist/Server/Utils/Database/AffectedResourceRelations.js +6 -0
- package/build/dist/Server/Utils/Database/AffectedResourceRelations.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js +134 -13
- package/build/dist/Server/Utils/Monitor/Criteria/MetricMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +22 -6
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +1489 -524
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +22 -6
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +196 -6
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +36 -9
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js +175 -17
- package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/PerSeriesResolutionRootCause.js +29 -0
- package/build/dist/Server/Utils/Monitor/PerSeriesResolutionRootCause.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +211 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +82 -10
- package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -1
- 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/StartServer.js +20 -4
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- 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/DatabaseEndpointDiscovery.js +442 -0
- package/build/dist/Server/Utils/Telemetry/DatabaseEndpointDiscovery.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +5 -1
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +15 -1
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js +121 -5
- package/build/dist/Server/Utils/Telemetry/ResourceEntityFilter.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +12 -0
- package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ServiceDependencyDiscovery.js +438 -36
- package/build/dist/Server/Utils/Telemetry/ServiceDependencyDiscovery.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/Telemetry.js +12 -0
- package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +17 -18
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js +16 -10
- package/build/dist/Server/Utils/Telemetry/TelemetryIngestionKeyGuard.js.map +1 -1
- package/build/dist/Types/AI/AIResourceContext.js +7 -0
- package/build/dist/Types/AI/AIResourceContext.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardTemplates.js +2 -1
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/DatabaseServer/DatabaseConnectionSpan.js +71 -0
- package/build/dist/Types/DatabaseServer/DatabaseConnectionSpan.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseContainerClassifier.js +1462 -0
- package/build/dist/Types/DatabaseServer/DatabaseContainerClassifier.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseContainerCommand.js +691 -0
- package/build/dist/Types/DatabaseServer/DatabaseContainerCommand.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseEndpoint.js +1407 -0
- package/build/dist/Types/DatabaseServer/DatabaseEndpoint.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseServerDiscoverySource.js +60 -0
- package/build/dist/Types/DatabaseServer/DatabaseServerDiscoverySource.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseServerMetricCatalog.js +804 -0
- package/build/dist/Types/DatabaseServer/DatabaseServerMetricCatalog.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseSystem.js +1860 -0
- package/build/dist/Types/DatabaseServer/DatabaseSystem.js.map +1 -0
- package/build/dist/Types/DatabaseServer/DatabaseTelemetryResolver.js +406 -0
- package/build/dist/Types/DatabaseServer/DatabaseTelemetryResolver.js.map +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Monitor/CephAlertTemplates.js +18 -0
- package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/DatabaseAlertTemplates.js +1518 -0
- package/build/dist/Types/Monitor/DatabaseAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js +57 -24
- package/build/dist/Types/Monitor/KubernetesAlertTemplates.js.map +1 -1
- package/build/dist/Types/Monitor/KubernetesMetricCatalog.js +104 -18
- package/build/dist/Types/Monitor/KubernetesMetricCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +80 -3
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +10 -3
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +29 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js +21 -6
- package/build/dist/Types/Monitor/Recommendation/RecommendationCriteriaBuilder.js.map +1 -1
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js +25 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js.map +1 -1
- package/build/dist/Types/NetworkDevice/DiscoveredHostNamingStatus.js +136 -0
- package/build/dist/Types/NetworkDevice/DiscoveredHostNamingStatus.js.map +1 -0
- package/build/dist/Types/Permission.js +234 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rules/RuleCriteriaFieldRegistry.js +10 -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/Telemetry/EntityType.js +23 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/ResourceFacetCatalog.js +14 -0
- package/build/dist/Types/Telemetry/ResourceFacetCatalog.js.map +1 -1
- package/build/dist/Types/Telemetry/ServiceType.js +8 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Banner/Banner.js +1 -1
- package/build/dist/UI/Components/Banner/Banner.js.map +1 -1
- package/build/dist/UI/Components/Card/Card.js +1 -1
- package/build/dist/UI/Components/Card/Card.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +2 -2
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js +1 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js +1 -1
- package/build/dist/UI/Components/CommandPalette/CommandPalette.js.map +1 -1
- package/build/dist/UI/Components/Date/StartAndEndDate.js +5 -5
- package/build/dist/UI/Components/Date/StartAndEndDate.js.map +1 -1
- package/build/dist/UI/Components/Diagram/HorizontalStepChain.js +1 -1
- package/build/dist/UI/Components/Diagram/HorizontalStepChain.js.map +1 -1
- package/build/dist/UI/Components/Feed/FeedOptionsButton.js +1 -1
- package/build/dist/UI/Components/Feed/FeedOptionsButton.js.map +1 -1
- package/build/dist/UI/Components/Forms/BasicForm.js +1 -1
- package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -1
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
- package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js +1 -1
- package/build/dist/UI/Components/HeaderAlert/HeaderAlert.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/FacetValueRow.js +1 -1
- package/build/dist/UI/Components/LogsViewer/components/FacetValueRow.js.map +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +1 -1
- package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/Modal/ModalFooter.js +1 -1
- package/build/dist/UI/Components/Modal/ModalFooter.js.map +1 -1
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js +2 -2
- package/build/dist/UI/Components/ModelDetail/CardModelDetail.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +4 -4
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBar.js +9 -2
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +2 -2
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Components/Page/Page.js +1 -1
- package/build/dist/UI/Components/Page/Page.js.map +1 -1
- package/build/dist/UI/Components/Pagination/Pagination.js +3 -3
- package/build/dist/UI/Components/Pagination/Pagination.js.map +1 -1
- package/build/dist/UI/Components/ProgressButtons/ProgressButtonItem.js +1 -1
- package/build/dist/UI/Components/ProgressButtons/ProgressButtonItem.js.map +1 -1
- package/build/dist/UI/Components/SideMenu/SideMenu.js +4 -1
- package/build/dist/UI/Components/SideMenu/SideMenu.js.map +1 -1
- package/build/dist/UI/Components/StatusPage/ResourceGroupNavigator.js +3 -1
- package/build/dist/UI/Components/StatusPage/ResourceGroupNavigator.js.map +1 -1
- package/build/dist/UI/Components/StatusPage/ResourceList.js +6 -6
- package/build/dist/UI/Components/StatusPage/ResourceList.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetSidebar.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.js +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/TelemetryFacetValueRow.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.js +1 -1
- package/build/dist/UI/Components/Workflow/ColumnEditor/ModelQueryBuilder.js.map +1 -1
- package/build/dist/UI/Components/Workflow/ComponentsModal.js +2 -2
- package/build/dist/UI/Components/Workflow/ComponentsModal.js.map +1 -1
- package/build/dist/UI/Components/Workflow/StepTraceViewer.js +1 -1
- package/build/dist/UI/Components/Workflow/StepTraceViewer.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +66 -33
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js +7 -0
- package/build/dist/UI/Utils/Telemetry/TelemetryEntityNames.js.map +1 -1
- package/build/dist/UI/Utils/TelemetryService.js +3 -2
- package/build/dist/UI/Utils/TelemetryService.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/MetricUnitUtil.js +77 -13
- package/build/dist/Utils/MetricUnitUtil.js.map +1 -1
- package/build/dist/Utils/Monitor/MetricValueFormatter.js +58 -13
- package/build/dist/Utils/Monitor/MetricValueFormatter.js.map +1 -1
- package/build/dist/Utils/Monitor/PlatformMetricUnitUtil.js +161 -0
- package/build/dist/Utils/Monitor/PlatformMetricUnitUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/PlatformResourceIdentity.js +323 -0
- package/build/dist/Utils/Monitor/PlatformResourceIdentity.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostNamingDiagnosis.js +270 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostNamingDiagnosis.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +23 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/NetbiosNameUtil.js +61 -0
- package/build/dist/Utils/NetworkDiscovery/NetbiosNameUtil.js.map +1 -1
- package/build/dist/Utils/Telemetry/DatabaseServerEntityKeys.js +178 -0
- package/build/dist/Utils/Telemetry/DatabaseServerEntityKeys.js.map +1 -0
- package/build/dist/Utils/Telemetry/EntityKey.js +133 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/build/dist/Utils/ValueFormatter.js +15 -0
- package/build/dist/Utils/ValueFormatter.js.map +1 -1
- package/package.json +1 -1
- package/tsconfig.tests.json +7 -5
|
@@ -361,7 +361,7 @@ const LogsFacetSidebar: FunctionComponent<LogsFacetSidebarProps> = (
|
|
|
361
361
|
<div
|
|
362
362
|
id={props.id}
|
|
363
363
|
className={`${
|
|
364
|
-
props.isCollapsedOnSmallScreens ? "hidden md:flex" : "flex"
|
|
364
|
+
props.isCollapsedOnSmallScreens ? "max-md:hidden md:flex" : "flex"
|
|
365
365
|
} max-h-80 w-full flex-none flex-col overflow-y-auto rounded-lg border border-gray-200 bg-white md:h-full md:max-h-none md:w-56`}
|
|
366
366
|
>
|
|
367
367
|
<div className="border-b border-gray-100 px-3 py-2.5">
|
|
@@ -37,7 +37,7 @@ const ModalFooter: FunctionComponent<ComponentProps> = (
|
|
|
37
37
|
{props.leftFooterElement}
|
|
38
38
|
</div>
|
|
39
39
|
) : (
|
|
40
|
-
<div className="hidden sm:block" />
|
|
40
|
+
<div className="max-sm:hidden sm:block" />
|
|
41
41
|
)}
|
|
42
42
|
<div className="flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center">
|
|
43
43
|
{props.onClose ? (
|
|
@@ -97,7 +97,7 @@ const CardModelDetail: <TBaseModel extends BaseModel>(
|
|
|
97
97
|
title: "View Documentation",
|
|
98
98
|
icon: IconProp.Book,
|
|
99
99
|
buttonStyle: ButtonStyleType.OUTLINE,
|
|
100
|
-
className: "hidden md:flex",
|
|
100
|
+
className: "max-md:hidden md:flex",
|
|
101
101
|
onClick: () => {
|
|
102
102
|
Navigation.navigate(props.documentationLink!, {
|
|
103
103
|
openInNewTab: true,
|
|
@@ -112,7 +112,7 @@ const CardModelDetail: <TBaseModel extends BaseModel>(
|
|
|
112
112
|
title: "Watch Demo",
|
|
113
113
|
icon: IconProp.Play,
|
|
114
114
|
buttonStyle: ButtonStyleType.OUTLINE,
|
|
115
|
-
className: "hidden md:flex",
|
|
115
|
+
className: "max-md:hidden md:flex",
|
|
116
116
|
onClick: () => {
|
|
117
117
|
Navigation.navigate(props.videoLink!, {
|
|
118
118
|
openInNewTab: true,
|
|
@@ -2433,7 +2433,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
|
|
|
2433
2433
|
icon: IconProp.Book,
|
|
2434
2434
|
buttonStyle: ButtonStyleType.HOVER_PRIMARY_OUTLINE,
|
|
2435
2435
|
buttonSize: ButtonSize.Small,
|
|
2436
|
-
className: "hidden md:flex",
|
|
2436
|
+
className: "max-md:hidden md:flex",
|
|
2437
2437
|
onClick: () => {
|
|
2438
2438
|
Navigation.navigate(props.documentationLink!, {
|
|
2439
2439
|
openInNewTab: true,
|
|
@@ -2463,7 +2463,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
|
|
|
2463
2463
|
icon: IconProp.Play,
|
|
2464
2464
|
buttonStyle: ButtonStyleType.HOVER_PRIMARY_OUTLINE,
|
|
2465
2465
|
buttonSize: ButtonSize.Small,
|
|
2466
|
-
className: "hidden md:flex",
|
|
2466
|
+
className: "max-md:hidden md:flex",
|
|
2467
2467
|
onClick: () => {
|
|
2468
2468
|
Navigation.navigate(props.videoLink!, {
|
|
2469
2469
|
openInNewTab: true,
|
|
@@ -4067,7 +4067,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
|
|
|
4067
4067
|
</button>
|
|
4068
4068
|
) : (
|
|
4069
4069
|
<kbd
|
|
4070
|
-
className="hidden flex-none select-none items-center rounded border border-gray-200 bg-gray-50 px-1.5 py-0.5 font-mono text-[10px] font-medium text-gray-500 sm:inline-flex"
|
|
4070
|
+
className="max-sm:hidden flex-none select-none items-center rounded border border-gray-200 bg-gray-50 px-1.5 py-0.5 font-mono text-[10px] font-medium text-gray-500 sm:inline-flex"
|
|
4071
4071
|
title="Press / to focus search"
|
|
4072
4072
|
>
|
|
4073
4073
|
/
|
|
@@ -4416,7 +4416,7 @@ const BaseModelTable: <TBaseModel extends BaseModel | AnalyticsBaseModel>(
|
|
|
4416
4416
|
<span className="flex-1 truncate text-left text-gray-400">
|
|
4417
4417
|
Search…
|
|
4418
4418
|
</span>
|
|
4419
|
-
<kbd className="hidden flex-none select-none items-center rounded border border-gray-200 bg-gray-50 px-1.5 py-0.5 font-mono text-[10px] font-medium text-gray-500 sm:inline-flex">
|
|
4419
|
+
<kbd className="max-sm:hidden flex-none select-none items-center rounded border border-gray-200 bg-gray-50 px-1.5 py-0.5 font-mono text-[10px] font-medium text-gray-500 sm:inline-flex">
|
|
4420
4420
|
/
|
|
4421
4421
|
</kbd>
|
|
4422
4422
|
</button>
|
|
@@ -392,10 +392,17 @@ const Navbar: FunctionComponent<ComponentProps> = (
|
|
|
392
392
|
);
|
|
393
393
|
}
|
|
394
394
|
|
|
395
|
-
|
|
395
|
+
/*
|
|
396
|
+
* Desktop view. `max-md:hidden md:flex`, never `hidden md:flex`: the bare
|
|
397
|
+
* `hidden` class is the one name a browser extension, a user stylesheet or
|
|
398
|
+
* an injected Bootstrap 3 / HTML5 Boilerplate sheet declares as
|
|
399
|
+
* `.hidden { display: none !important }`, and that rule beats `md:flex` at
|
|
400
|
+
* every width. A customer lost the whole navigation bar — and with it every
|
|
401
|
+
* product — to exactly that. The max-width form never carries the class.
|
|
402
|
+
*/
|
|
396
403
|
const className: string =
|
|
397
404
|
props.className ||
|
|
398
|
-
"bg-white flex text-center items-center lg:py-2 hidden md:flex";
|
|
405
|
+
"bg-white flex text-center items-center lg:py-2 max-md:hidden md:flex";
|
|
399
406
|
|
|
400
407
|
// Find active item in more menu items (needed for breadcrumb)
|
|
401
408
|
const activeMoreItem: MoreMenuItem | undefined = props.moreMenuItems?.find(
|
|
@@ -516,7 +516,7 @@ const NavBarMenuModal: FunctionComponent<ComponentProps> = (
|
|
|
516
516
|
<KeyboardShortcut
|
|
517
517
|
keys={[KeyboardKey.Mod, "K"]}
|
|
518
518
|
size={KeyboardShortcutSize.Small}
|
|
519
|
-
className="hidden sm:inline-flex"
|
|
519
|
+
className="max-sm:hidden sm:inline-flex"
|
|
520
520
|
/>
|
|
521
521
|
) : null}
|
|
522
522
|
</div>
|
|
@@ -661,7 +661,7 @@ const NavBarMenuModal: FunctionComponent<ComponentProps> = (
|
|
|
661
661
|
{props.keyboardHint && (
|
|
662
662
|
<div
|
|
663
663
|
aria-label={tx(props.keyboardHint)}
|
|
664
|
-
className="hidden flex-shrink-0 items-center gap-2 text-xs text-gray-400 md:flex"
|
|
664
|
+
className="max-md:hidden flex-shrink-0 items-center gap-2 text-xs text-gray-400 md:flex"
|
|
665
665
|
>
|
|
666
666
|
<KeyboardShortcut
|
|
667
667
|
keys={[KeyboardKey.ArrowUp, KeyboardKey.ArrowDown]}
|
|
@@ -113,7 +113,7 @@ const Page: FunctionComponent<ComponentProps> = (
|
|
|
113
113
|
</div>
|
|
114
114
|
)}
|
|
115
115
|
{props.labels && props.labels.length > 0 && (
|
|
116
|
-
<div className="hidden sm:flex sm:flex-wrap sm:items-center sm:justify-end sm:gap-3">
|
|
116
|
+
<div className="max-sm:hidden sm:flex sm:flex-wrap sm:items-center sm:justify-end sm:gap-3">
|
|
117
117
|
<span className="text-xs font-semibold uppercase tracking-wide text-gray-500 whitespace-nowrap">
|
|
118
118
|
{translateString("Labels") || "Labels"}
|
|
119
119
|
</span>
|
|
@@ -210,7 +210,7 @@ const Pagination: FunctionComponent<ComponentProps> = (
|
|
|
210
210
|
const isCurrentPage: boolean = pageNumber === currentPageNumber;
|
|
211
211
|
|
|
212
212
|
return (
|
|
213
|
-
<li className="hidden sm:flex" key={`page-${pageNumber}`}>
|
|
213
|
+
<li className="max-sm:hidden sm:flex" key={`page-${pageNumber}`}>
|
|
214
214
|
<button
|
|
215
215
|
type="button"
|
|
216
216
|
data-testid={`pagination-page-${pageNumber}`}
|
|
@@ -244,7 +244,7 @@ const Pagination: FunctionComponent<ComponentProps> = (
|
|
|
244
244
|
|
|
245
245
|
const getEllipsis: GetEllipsisFunction = (key: string): ReactElement => {
|
|
246
246
|
return (
|
|
247
|
-
<li className="hidden sm:flex" key={key}>
|
|
247
|
+
<li className="max-sm:hidden sm:flex" key={key}>
|
|
248
248
|
<button
|
|
249
249
|
type="button"
|
|
250
250
|
data-testid={`pagination-${key}`}
|
|
@@ -372,7 +372,7 @@ const Pagination: FunctionComponent<ComponentProps> = (
|
|
|
372
372
|
</li>
|
|
373
373
|
|
|
374
374
|
{isHasMoreMode && (
|
|
375
|
-
<li className="hidden sm:flex">
|
|
375
|
+
<li className="max-sm:hidden sm:flex">
|
|
376
376
|
<span
|
|
377
377
|
data-testid="pagination-current-page-indicator-desktop"
|
|
378
378
|
aria-current="page"
|
|
@@ -85,7 +85,7 @@ const ProgressButtonItem: FunctionComponent<ComponentProps> = (
|
|
|
85
85
|
|
|
86
86
|
{!props.isLastStep && (
|
|
87
87
|
<div
|
|
88
|
-
className="absolute right-0 top-0 hidden h-full w-5 md:block"
|
|
88
|
+
className="absolute right-0 top-0 max-md:hidden h-full w-5 md:block"
|
|
89
89
|
aria-hidden="true"
|
|
90
90
|
>
|
|
91
91
|
<svg
|
|
@@ -532,8 +532,11 @@ const SideMenu: FunctionComponent<ComponentProps> = (props: ComponentProps) => {
|
|
|
532
532
|
* ("Scheduled Maintenance", "Recommendations" beside a badge) were
|
|
533
533
|
* ellipsised on every page that has them. 16px buys those back without
|
|
534
534
|
* taking a visible bite out of the content column.
|
|
535
|
+
*
|
|
536
|
+
* `max-md:hidden`, not `hidden`, for the reason given on the NavBar's
|
|
537
|
+
* desktop view: a foreign `.hidden` rule must not remove the menu.
|
|
535
538
|
*/
|
|
536
|
-
className={`hidden md:block w-56 lg:w-64 flex-shrink-0 mb-10 ${props.className || ""}`}
|
|
539
|
+
className={`max-md:hidden md:block w-56 lg:w-64 flex-shrink-0 mb-10 ${props.className || ""}`}
|
|
537
540
|
role="navigation"
|
|
538
541
|
aria-label="Main navigation"
|
|
539
542
|
>
|
|
@@ -504,8 +504,10 @@ const ResourceGroupNavigator: FunctionComponent<ComponentProps> = (
|
|
|
504
504
|
* likely to want to act on. Its count is the thing given up for it, and
|
|
505
505
|
* the pane beside it is already showing that number.
|
|
506
506
|
*/
|
|
507
|
-
className={`absolute inset-y-0 right-0 items-center gap-0.5 rounded-r-md pl-4 pr-1
|
|
508
|
-
isSelected
|
|
507
|
+
className={`absolute inset-y-0 right-0 items-center gap-0.5 rounded-r-md pl-4 pr-1 flex ${
|
|
508
|
+
isSelected
|
|
509
|
+
? "bg-indigo-50"
|
|
510
|
+
: "bg-gray-100 group-[:not(:hover):not(:focus-within)]/nav-row:hidden"
|
|
509
511
|
}`}
|
|
510
512
|
data-testid="status-page-resource-navigator-actions"
|
|
511
513
|
>
|
|
@@ -124,7 +124,7 @@ const SELECT_COLUMN_CLASS_NAME: string = "flex w-7 flex-shrink-0 items-center";
|
|
|
124
124
|
* the monitor's name and the rows are already in the order it describes.
|
|
125
125
|
*/
|
|
126
126
|
const POSITION_COLUMN_CLASS_NAME: string =
|
|
127
|
-
"hidden w-6 flex-shrink-0 text-right text-xs tabular-nums sm:block";
|
|
127
|
+
"max-sm:hidden w-6 flex-shrink-0 text-right text-xs tabular-nums sm:block";
|
|
128
128
|
const MONITOR_COLUMN_CLASS_NAME: string = "min-w-0 flex-[2_1_0%]";
|
|
129
129
|
/*
|
|
130
130
|
* Its own line on a phone, indented to sit under the monitor it renames rather
|
|
@@ -512,7 +512,7 @@ const ResourceList: FunctionComponent<ComponentProps> = (
|
|
|
512
512
|
return (
|
|
513
513
|
<div
|
|
514
514
|
className={`${
|
|
515
|
-
props.isSelectable ? "flex" : "hidden sm:flex"
|
|
515
|
+
props.isSelectable ? "flex" : "max-sm:hidden sm:flex"
|
|
516
516
|
} items-center gap-x-3 rounded-t-xl border-b border-gray-200 bg-gray-50 px-4 py-2 text-[11px] font-semibold uppercase tracking-wide text-gray-500 sm:flex`}
|
|
517
517
|
data-testid="status-page-resource-list-header"
|
|
518
518
|
>
|
|
@@ -540,7 +540,7 @@ const ResourceList: FunctionComponent<ComponentProps> = (
|
|
|
540
540
|
)}
|
|
541
541
|
|
|
542
542
|
<span
|
|
543
|
-
className={`${GRIP_COLUMN_CLASS_NAME} hidden sm:block`}
|
|
543
|
+
className={`${GRIP_COLUMN_CLASS_NAME} max-sm:hidden sm:block`}
|
|
544
544
|
aria-hidden="true"
|
|
545
545
|
/>
|
|
546
546
|
<span
|
|
@@ -551,19 +551,19 @@ const ResourceList: FunctionComponent<ComponentProps> = (
|
|
|
551
551
|
#
|
|
552
552
|
</span>
|
|
553
553
|
<span
|
|
554
|
-
className={`${MONITOR_COLUMN_CLASS_NAME} hidden sm:block`}
|
|
554
|
+
className={`${MONITOR_COLUMN_CLASS_NAME} max-sm:hidden sm:block`}
|
|
555
555
|
aria-hidden="true"
|
|
556
556
|
>
|
|
557
557
|
Monitor
|
|
558
558
|
</span>
|
|
559
559
|
<span
|
|
560
|
-
className={`${PUBLISHED_NAME_COLUMN_CLASS_NAME} hidden sm:block`}
|
|
560
|
+
className={`${PUBLISHED_NAME_COLUMN_CLASS_NAME} max-sm:hidden sm:block`}
|
|
561
561
|
aria-hidden="true"
|
|
562
562
|
>
|
|
563
563
|
Shown on the status page as
|
|
564
564
|
</span>
|
|
565
565
|
<span
|
|
566
|
-
className={`${ACTIONS_COLUMN_CLASS_NAME} hidden sm:flex`}
|
|
566
|
+
className={`${ACTIONS_COLUMN_CLASS_NAME} max-sm:hidden sm:flex`}
|
|
567
567
|
aria-hidden="true"
|
|
568
568
|
/>
|
|
569
569
|
</div>
|
|
@@ -149,7 +149,7 @@ const TelemetryFacetSidebar: FunctionComponent<TelemetryFacetSidebarProps> = (
|
|
|
149
149
|
<div
|
|
150
150
|
id={props.id}
|
|
151
151
|
className={`${
|
|
152
|
-
props.isCollapsedOnSmallScreens ? "hidden md:flex" : "flex"
|
|
152
|
+
props.isCollapsedOnSmallScreens ? "max-md:hidden md:flex" : "flex"
|
|
153
153
|
} max-h-80 w-full flex-none flex-col overflow-y-auto rounded-lg border border-gray-200 bg-white md:h-full md:max-h-none md:w-56`}
|
|
154
154
|
>
|
|
155
155
|
<div className="border-b border-gray-100 px-3 py-2.5">
|
|
@@ -100,7 +100,7 @@ const TelemetryFacetValueRow: FunctionComponent<TelemetryFacetValueRowProps> = (
|
|
|
100
100
|
|
|
101
101
|
<button
|
|
102
102
|
type="button"
|
|
103
|
-
className="
|
|
103
|
+
className="flex h-5 w-5 items-center justify-center rounded text-[10px] text-gray-400 transition-colors hover:bg-red-50 hover:text-red-500 group-[:not(:hover)]:hidden"
|
|
104
104
|
onClick={(e: React.MouseEvent) => {
|
|
105
105
|
e.stopPropagation();
|
|
106
106
|
props.onExclude(props.value);
|
|
@@ -69,7 +69,7 @@ const ModelQueryBuilder: FunctionComponent<ComponentProps> = (
|
|
|
69
69
|
) : (
|
|
70
70
|
<>
|
|
71
71
|
{/* Column widths must stay in step with ColumnConditionRow's grid. */}
|
|
72
|
-
<div className="hidden border-b border-gray-100 bg-gray-50/60 px-3 py-1.5 text-[10px] font-semibold uppercase tracking-[0.08em] text-gray-400 sm:grid sm:grid-cols-[minmax(0,1fr)_minmax(0,0.85fr)_minmax(0,1.3fr)_auto] sm:gap-2">
|
|
72
|
+
<div className="max-sm:hidden border-b border-gray-100 bg-gray-50/60 px-3 py-1.5 text-[10px] font-semibold uppercase tracking-[0.08em] text-gray-400 sm:grid sm:grid-cols-[minmax(0,1fr)_minmax(0,0.85fr)_minmax(0,1.3fr)_auto] sm:gap-2">
|
|
73
73
|
<span>Column</span>
|
|
74
74
|
<span>Comparison</span>
|
|
75
75
|
<span>Value</span>
|
|
@@ -391,7 +391,7 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
|
391
391
|
: "Searches title, description, and category."}
|
|
392
392
|
</span>
|
|
393
393
|
{!hasSearchTerm && (
|
|
394
|
-
<span className="hidden items-center gap-1 rounded-full bg-slate-100 px-2 py-1 font-medium text-slate-500 sm:inline-flex">
|
|
394
|
+
<span className="max-sm:hidden items-center gap-1 rounded-full bg-slate-100 px-2 py-1 font-medium text-slate-500 sm:inline-flex">
|
|
395
395
|
<kbd className="rounded bg-white px-1.5 py-0.5 text-[10px] font-semibold text-slate-500 ring-1 ring-slate-200">
|
|
396
396
|
/
|
|
397
397
|
</kbd>
|
|
@@ -399,7 +399,7 @@ const ComponentsModal: FunctionComponent<ComponentProps> = (
|
|
|
399
399
|
</span>
|
|
400
400
|
)}
|
|
401
401
|
{hasSearchTerm && (
|
|
402
|
-
<span className="hidden items-center gap-1 rounded-full bg-indigo-50 px-2 py-1 font-medium text-indigo-600 sm:inline-flex">
|
|
402
|
+
<span className="max-sm:hidden items-center gap-1 rounded-full bg-indigo-50 px-2 py-1 font-medium text-indigo-600 sm:inline-flex">
|
|
403
403
|
<kbd className="rounded bg-white px-1.5 py-0.5 text-[10px] font-semibold text-indigo-600 ring-1 ring-indigo-100">
|
|
404
404
|
Esc
|
|
405
405
|
</kbd>
|
|
@@ -135,7 +135,7 @@ const StepRow: FunctionComponent<StepRowProps> = (
|
|
|
135
135
|
</span>
|
|
136
136
|
|
|
137
137
|
{props.step.executedPort && (
|
|
138
|
-
<span className="text-xs text-gray-500 shrink-0 hidden sm:inline">
|
|
138
|
+
<span className="text-xs text-gray-500 shrink-0 max-sm:hidden sm:inline">
|
|
139
139
|
→ {props.step.executedPort}
|
|
140
140
|
</span>
|
|
141
141
|
)}
|
package/UI/Styles/Theme.css
CHANGED
|
@@ -307,7 +307,14 @@ html.dark :is(
|
|
|
307
307
|
[class~="hover:text-gray-900"]
|
|
308
308
|
):hover,
|
|
309
309
|
html.dark [class~="focus:text-gray-900"]:focus,
|
|
310
|
-
html.dark .group:hover [class*="group-hover"][class*="text-gray-"]
|
|
310
|
+
html.dark .group:hover [class*="group-hover"][class*="text-gray-"],
|
|
311
|
+
/*
|
|
312
|
+
* `group-[:not(:hover)]:hidden` is a group-hover reveal written so a foreign
|
|
313
|
+
* `.hidden { display: none !important }` cannot pin it shut (see Common's
|
|
314
|
+
* NavBar desktop view). It must brighten on hover exactly as the
|
|
315
|
+
* `hidden group-hover:flex` it replaced did.
|
|
316
|
+
*/
|
|
317
|
+
html.dark .group:hover [class*="group-[:not(:hover)"][class*="text-gray-"] {
|
|
311
318
|
color: var(--ou-text-primary) !important;
|
|
312
319
|
}
|
|
313
320
|
|
package/UI/Utils/Navigation.ts
CHANGED
|
@@ -221,7 +221,9 @@ abstract class Navigation {
|
|
|
221
221
|
continue;
|
|
222
222
|
}
|
|
223
223
|
|
|
224
|
-
if (
|
|
224
|
+
if (
|
|
225
|
+
!this.isSameSegment(routeItems[start], item, { caseSensitive: false })
|
|
226
|
+
) {
|
|
225
227
|
startsWith = false;
|
|
226
228
|
break;
|
|
227
229
|
}
|
|
@@ -233,60 +235,95 @@ abstract class Navigation {
|
|
|
233
235
|
|
|
234
236
|
public static isOnThisPage(route: Route | URL): boolean {
|
|
235
237
|
if (route instanceof Route) {
|
|
236
|
-
|
|
238
|
+
return this.isCurrentRoute(route, { caseSensitive: false });
|
|
239
|
+
}
|
|
237
240
|
|
|
238
|
-
|
|
241
|
+
if (route instanceof URL) {
|
|
242
|
+
const current: URL = this.getCurrentURL();
|
|
239
243
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
* that behavior here so side-menu selection and the compact mobile
|
|
243
|
-
* label do not disappear when a bookmarked URL carries a trailing
|
|
244
|
-
* slash. Keep `/` intact so the root route still has a segment.
|
|
245
|
-
*/
|
|
246
|
-
const trimTrailingSlashes: (path: string) => string = (
|
|
247
|
-
path: string,
|
|
248
|
-
): string => {
|
|
249
|
-
return path.length > 1 ? path.replace(/\/+$/, "") : path;
|
|
250
|
-
};
|
|
251
|
-
const routeItems: Array<string> = trimTrailingSlashes(
|
|
252
|
-
route.toString(),
|
|
253
|
-
).split("/");
|
|
254
|
-
const currentPathItems: Array<string> = trimTrailingSlashes(
|
|
255
|
-
current.toString(),
|
|
256
|
-
).split("/");
|
|
257
|
-
if (routeItems.length !== currentPathItems.length) {
|
|
258
|
-
return false;
|
|
244
|
+
if (current.toString() === route.toString()) {
|
|
245
|
+
return true;
|
|
259
246
|
}
|
|
260
247
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
if (routeItems[start]?.startsWith(":") && item) {
|
|
264
|
-
start++;
|
|
265
|
-
continue;
|
|
266
|
-
}
|
|
248
|
+
return false;
|
|
249
|
+
}
|
|
267
250
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
break;
|
|
271
|
-
}
|
|
251
|
+
return false;
|
|
252
|
+
}
|
|
272
253
|
|
|
273
|
-
|
|
274
|
-
|
|
254
|
+
/*
|
|
255
|
+
* React Router matches paths case-insensitively (a <Route> is case
|
|
256
|
+
* sensitive only when it opts in, and none of ours do), so
|
|
257
|
+
* `/dashboard/<id>/SSO` renders the SSO page. Questions like "is the user
|
|
258
|
+
* on that page?" (hide the nav bar there, mark a side-menu entry active)
|
|
259
|
+
* must agree with the page the router rendered, so they compare segments
|
|
260
|
+
* the same way. Route validation only admits ASCII, so toLowerCase() is
|
|
261
|
+
* exact here.
|
|
262
|
+
*
|
|
263
|
+
* A Route whose parameters are already filled in carries no ":" segments,
|
|
264
|
+
* so its parameter values are compared without case too. The values
|
|
265
|
+
* checked this way today are ids, where case does not matter, but these
|
|
266
|
+
* checks cannot tell apart two resources whose names differ only by case.
|
|
267
|
+
* navigate() keeps the exact comparison for that reason.
|
|
268
|
+
*/
|
|
269
|
+
private static isSameSegment(
|
|
270
|
+
routeSegment: string | undefined,
|
|
271
|
+
currentSegment: string,
|
|
272
|
+
options: { caseSensitive: boolean },
|
|
273
|
+
): boolean {
|
|
274
|
+
if (routeSegment === undefined) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
275
277
|
|
|
276
|
-
|
|
278
|
+
if (options.caseSensitive) {
|
|
279
|
+
return routeSegment === currentSegment;
|
|
277
280
|
}
|
|
278
281
|
|
|
279
|
-
|
|
280
|
-
|
|
282
|
+
return routeSegment.toLowerCase() === currentSegment.toLowerCase();
|
|
283
|
+
}
|
|
281
284
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
+
private static isCurrentRoute(
|
|
286
|
+
route: Route,
|
|
287
|
+
options: { caseSensitive: boolean },
|
|
288
|
+
): boolean {
|
|
289
|
+
const current: Route = this.getCurrentRoute();
|
|
285
290
|
|
|
291
|
+
/*
|
|
292
|
+
* React Router resolves `/page` and `/page/` to the same route. Match
|
|
293
|
+
* that behavior here so side-menu selection and the compact mobile
|
|
294
|
+
* label do not disappear when a bookmarked URL carries a trailing
|
|
295
|
+
* slash. Keep `/` intact so the root route still has a segment.
|
|
296
|
+
*/
|
|
297
|
+
const trimTrailingSlashes: (path: string) => string = (
|
|
298
|
+
path: string,
|
|
299
|
+
): string => {
|
|
300
|
+
return path.length > 1 ? path.replace(/\/+$/, "") : path;
|
|
301
|
+
};
|
|
302
|
+
const routeItems: Array<string> = trimTrailingSlashes(
|
|
303
|
+
route.toString(),
|
|
304
|
+
).split("/");
|
|
305
|
+
const currentPathItems: Array<string> = trimTrailingSlashes(
|
|
306
|
+
current.toString(),
|
|
307
|
+
).split("/");
|
|
308
|
+
if (routeItems.length !== currentPathItems.length) {
|
|
286
309
|
return false;
|
|
287
310
|
}
|
|
288
311
|
|
|
289
|
-
|
|
312
|
+
let start: number = 0;
|
|
313
|
+
for (const item of currentPathItems) {
|
|
314
|
+
if (routeItems[start]?.startsWith(":") && item) {
|
|
315
|
+
start++;
|
|
316
|
+
continue;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
if (!this.isSameSegment(routeItems[start], item, options)) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
start++;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return true;
|
|
290
327
|
}
|
|
291
328
|
|
|
292
329
|
public static goBack(): void {
|
|
@@ -357,7 +394,17 @@ abstract class Navigation {
|
|
|
357
394
|
return;
|
|
358
395
|
}
|
|
359
396
|
|
|
360
|
-
|
|
397
|
+
/*
|
|
398
|
+
* Exact, unlike isOnThisPage: a target can differ from the current path
|
|
399
|
+
* only in the case of a parameter value (a container named "Web" vs
|
|
400
|
+
* "web"), which React Router passes through as-is, so it is a different
|
|
401
|
+
* page, and dropping that navigation would strand the user.
|
|
402
|
+
*/
|
|
403
|
+
if (
|
|
404
|
+
this.navigateHook &&
|
|
405
|
+
to instanceof Route &&
|
|
406
|
+
!this.isCurrentRoute(to, { caseSensitive: true })
|
|
407
|
+
) {
|
|
361
408
|
this.navigateHook(finalUrl);
|
|
362
409
|
}
|
|
363
410
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Alert from "../../../Models/DatabaseModels/Alert";
|
|
2
2
|
import CephCluster from "../../../Models/DatabaseModels/CephCluster";
|
|
3
3
|
import CloudResource from "../../../Models/DatabaseModels/CloudResource";
|
|
4
|
+
import DatabaseServer from "../../../Models/DatabaseModels/DatabaseServer";
|
|
4
5
|
import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
|
|
5
6
|
import DockerHost from "../../../Models/DatabaseModels/DockerHost";
|
|
6
7
|
import DockerSwarmCluster from "../../../Models/DatabaseModels/DockerSwarmCluster";
|
|
@@ -137,6 +138,11 @@ export const TELEMETRY_ENTITY_TYPES: Record<
|
|
|
137
138
|
modelType: CloudResource,
|
|
138
139
|
nameFields: ["name", "resourceIdentifier"],
|
|
139
140
|
},
|
|
141
|
+
[ServiceType.DatabaseServer]: {
|
|
142
|
+
label: "Database",
|
|
143
|
+
modelType: DatabaseServer,
|
|
144
|
+
nameFields: ["name"],
|
|
145
|
+
},
|
|
140
146
|
[ServiceType.NetworkDevice]: {
|
|
141
147
|
label: "Network Device",
|
|
142
148
|
modelType: NetworkDevice,
|
|
@@ -190,6 +196,7 @@ export const TELEMETRY_ENTITY_RESOLUTION_ORDER: Array<ServiceType> = [
|
|
|
190
196
|
ServiceType.KubernetesCluster,
|
|
191
197
|
ServiceType.ServerlessFunction,
|
|
192
198
|
ServiceType.CloudResource,
|
|
199
|
+
ServiceType.DatabaseServer,
|
|
193
200
|
ServiceType.IoTDevice,
|
|
194
201
|
ServiceType.ProxmoxCluster,
|
|
195
202
|
ServiceType.CephCluster,
|
|
@@ -24,7 +24,7 @@ export const UNKNOWN_SERVICE_NAME: string = "Unknown Service";
|
|
|
24
24
|
* OpenTelemetry service, or the synthetic "Unknown Service" for the
|
|
25
25
|
* unattributed bucket) — or a plain `label` for infrastructure resource
|
|
26
26
|
* types (Host / DockerHost / KubernetesCluster / ProxmoxCluster /
|
|
27
|
-
* CephCluster / VMwareVCenter) that have no Service row.
|
|
27
|
+
* CephCluster / VMwareVCenter / DatabaseServer) that have no Service row.
|
|
28
28
|
*/
|
|
29
29
|
export interface ResolvedTelemetryResource {
|
|
30
30
|
service?: Service;
|
|
@@ -67,8 +67,8 @@ export default class TelemetryServiceUtil {
|
|
|
67
67
|
* old server-side `service` ORM relation on TelemetryException: a real
|
|
68
68
|
* Service resolves from the loaded list, the unattributed bucket resolves
|
|
69
69
|
* to the synthetic "Unknown Service", and Host / DockerHost /
|
|
70
|
-
* KubernetesCluster / ProxmoxCluster / CephCluster / VMwareVCenter
|
|
71
|
-
* resolve to a type label (no Service row exists for them). Mirrors how the ClickHouse
|
|
70
|
+
* KubernetesCluster / ProxmoxCluster / CephCluster / VMwareVCenter /
|
|
71
|
+
* DatabaseServer resolve to a type label (no Service row exists for them). Mirrors how the ClickHouse
|
|
72
72
|
* analytics rows are resolved.
|
|
73
73
|
*/
|
|
74
74
|
public static resolveTelemetryResource(data: {
|
|
@@ -107,6 +107,7 @@ export default class TelemetryServiceUtil {
|
|
|
107
107
|
[ServiceType.ProxmoxCluster]: "Proxmox Cluster",
|
|
108
108
|
[ServiceType.CephCluster]: "Ceph Cluster",
|
|
109
109
|
[ServiceType.VMwareVCenter]: "vCenter",
|
|
110
|
+
[ServiceType.DatabaseServer]: "Database telemetry",
|
|
110
111
|
};
|
|
111
112
|
const label: string | undefined = data.primaryEntityType
|
|
112
113
|
? typeLabels[data.primaryEntityType.toString()]
|
|
@@ -6,6 +6,7 @@ import DashboardLabelRule from "../Models/DatabaseModels/DashboardLabelRule";
|
|
|
6
6
|
import BaseModel, {
|
|
7
7
|
DatabaseBaseModelType,
|
|
8
8
|
} from "../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
|
|
9
|
+
import DatabaseServerLabelRule from "../Models/DatabaseModels/DatabaseServerLabelRule";
|
|
9
10
|
import DockerHostLabelRule from "../Models/DatabaseModels/DockerHostLabelRule";
|
|
10
11
|
import DockerSwarmClusterLabelRule from "../Models/DatabaseModels/DockerSwarmClusterLabelRule";
|
|
11
12
|
import HostLabelRule from "../Models/DatabaseModels/HostLabelRule";
|
|
@@ -56,6 +57,7 @@ export const LABEL_RULE_MODELS: Array<DatabaseBaseModelType> = [
|
|
|
56
57
|
CephClusterLabelRule,
|
|
57
58
|
CloudResourceLabelRule,
|
|
58
59
|
DashboardLabelRule,
|
|
60
|
+
DatabaseServerLabelRule,
|
|
59
61
|
DockerHostLabelRule,
|
|
60
62
|
DockerSwarmClusterLabelRule,
|
|
61
63
|
HostLabelRule,
|