@oneuptime/common 11.5.9 → 11.5.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/AnalyticsModels/Index.ts +13 -0
- package/Models/AnalyticsModels/MetricItemAggMV1mByContainer.ts +178 -0
- package/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.ts +179 -0
- package/Models/AnalyticsModels/MetricItemAggMV1mByService.ts +179 -0
- package/Models/AnalyticsModels/NetworkFlow.ts +397 -0
- package/Models/DatabaseModels/EnterpriseLicenseInstance.ts +18 -0
- package/Models/DatabaseModels/GlobalConfig.ts +36 -0
- package/Models/DatabaseModels/Index.ts +2 -0
- package/Models/DatabaseModels/MarketingConversion.ts +198 -0
- package/Models/DatabaseModels/MetricSavedView.ts +34 -0
- package/Models/DatabaseModels/MetricType.ts +74 -0
- package/Models/DatabaseModels/NetworkDevice.ts +332 -0
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +113 -0
- package/Models/DatabaseModels/NetworkInterface.ts +58 -0
- package/Models/DatabaseModels/Project.ts +37 -0
- package/Models/DatabaseModels/User.ts +37 -0
- package/Server/API/BaseAnalyticsAPI.ts +23 -0
- package/Server/API/EnterpriseLicenseAPI.ts +14 -0
- package/Server/EnvironmentConfig.ts +84 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.ts +38 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.ts +28 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.ts +108 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.ts +31 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.ts +35 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.ts +101 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +14 -0
- package/Server/Services/AnalyticsDatabaseService.ts +70 -1
- package/Server/Services/IncidentService.ts +13 -0
- package/Server/Services/Index.ts +10 -0
- package/Server/Services/MarketingConversionService.ts +10 -0
- package/Server/Services/MetricItemAggMV1mByContainerService.ts +31 -0
- package/Server/Services/MetricItemAggMV1mByK8sClusterService.ts +31 -0
- package/Server/Services/MetricItemAggMV1mByServiceService.ts +31 -0
- package/Server/Services/MetricService.ts +970 -122
- package/Server/Services/MonitorService.ts +14 -0
- package/Server/Services/NetworkDeviceOwnerTeamService.ts +42 -0
- package/Server/Services/NetworkDeviceOwnerUserService.ts +106 -0
- package/Server/Services/NetworkFlowService.ts +11 -0
- package/Server/Services/OnCallDutyPolicyService.ts +11 -1
- package/Server/Services/ProjectService.ts +136 -0
- package/Server/Services/SpanService.ts +13 -9
- package/Server/Services/StatusPageService.ts +10 -0
- package/Server/Services/TeamMemberService.ts +11 -0
- package/Server/Services/UserService.ts +59 -0
- package/Server/Types/AnalyticsDatabase/AggregateBy.ts +37 -7
- package/Server/Utils/Attribution.ts +99 -0
- package/Server/Utils/Marketing/ConversionUploadProvider.ts +103 -0
- package/Server/Utils/Marketing/ConversionUploadProviders.ts +22 -0
- package/Server/Utils/Marketing/Providers/GoogleAds.ts +270 -0
- package/Server/Utils/Marketing/Providers/LinkedIn.ts +147 -0
- package/Server/Utils/Marketing/Providers/Meta.ts +148 -0
- package/Server/Utils/Marketing/Providers/MicrosoftAds.ts +196 -0
- package/Server/Utils/Marketing/Providers/Reddit.ts +178 -0
- package/Server/Utils/Monitor/MonitorAlert.ts +71 -7
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +31 -19
- package/Server/Utils/Monitor/MonitorIncident.ts +71 -7
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +57 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +94 -0
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +15 -0
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +125 -14
- package/Server/Utils/ProductAnalytics.ts +133 -0
- package/Server/Utils/Telemetry/Telemetry.ts +39 -0
- package/Server/Utils/Telemetry/TelemetryEntity.ts +21 -0
- package/Tests/Server/API/BaseAnalyticsAPI.test.ts +72 -0
- package/Tests/Server/Infrastructure/SemaphorePermit.test.ts +9 -1
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +21 -2
- package/Tests/Server/Services/MetricEntityMVKeyParity.test.ts +173 -0
- package/Tests/Server/Services/MetricServiceAggregate.test.ts +1391 -0
- package/Tests/Server/Services/NetworkDeviceOwnerServices.test.ts +260 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplateUtilNetworkDevice.test.ts +389 -0
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +764 -0
- package/Tests/Types/BaseDatabase/AggregationIntervalUtil.test.ts +111 -2
- package/Tests/Types/Database/EndsWith.test.ts +64 -0
- package/Tests/Types/Database/GreaterThan.test.ts +62 -0
- package/Tests/Types/Database/GreaterThanOrEqual.test.ts +65 -0
- package/Tests/Types/Database/GreaterThanOrNull.test.ts +63 -0
- package/Tests/Types/Database/Includes.test.ts +65 -0
- package/Tests/Types/Database/IncludesAll.test.ts +65 -0
- package/Tests/Types/Database/IncludesNone.test.ts +65 -0
- package/Tests/Types/Database/IsNull.test.ts +44 -0
- package/Tests/Types/Database/LessThan.test.ts +62 -0
- package/Tests/Types/Database/LessThanOrEqual.test.ts +62 -0
- package/Tests/Types/Database/LessThanOrNull.test.ts +62 -0
- package/Tests/Types/Database/MultiSearch.test.ts +81 -0
- package/Tests/Types/Database/NotContains.test.ts +64 -0
- package/Tests/Types/Database/NotNull.test.ts +44 -0
- package/Tests/Types/Database/StartsWith.test.ts +64 -0
- package/Tests/Types/Monitor/MonitorStepSqlMonitor.test.ts +83 -1
- package/Tests/Types/Monitor/SnmpV3EnumParsing.test.ts +247 -0
- package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +263 -0
- package/Tests/UI/Components/XAxis.test.ts +5 -3
- package/Tests/Utils/EnterpriseLicenseUsage.test.ts +76 -0
- package/Tests/Utils/Metrics/MetricExplorerUrl.test.ts +622 -0
- package/Tests/Utils/Metrics/MetricFormulaEvaluator.test.ts +474 -0
- package/Tests/Utils/Telemetry/HeartbeatAvailability.test.ts +52 -4
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +11 -0
- package/Types/BaseDatabase/AggregateBy.ts +31 -2
- package/Types/BaseDatabase/AggregatedResult.ts +22 -0
- package/Types/BaseDatabase/AggregationInterval.ts +11 -0
- package/Types/BaseDatabase/AggregationIntervalUtil.ts +30 -5
- package/Types/Dashboard/DashboardComponents/DashboardTraceChartComponent.ts +16 -0
- package/Types/Email/EmailTemplateType.ts +3 -0
- package/Types/Marketing/MarketingConversion.ts +11 -0
- package/Types/Metrics/MetricQueryConfigData.ts +21 -0
- package/Types/Metrics/MetricQueryData.ts +8 -0
- package/Types/Metrics/MetricViewData.ts +8 -0
- package/Types/Monitor/MonitorMetricType.ts +8 -0
- package/Types/Monitor/MonitorStep.ts +9 -0
- package/Types/Monitor/MonitorStepSqlMonitor.ts +12 -0
- package/Types/Monitor/MonitorType.ts +2 -1
- package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +17 -12
- package/Types/Monitor/SnmpMonitor/CdpNeighbor.ts +13 -0
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +37 -3
- package/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.ts +46 -0
- package/Types/Monitor/SnmpMonitor/SnmpEntityInfo.ts +15 -0
- package/Types/Monitor/SnmpMonitor/SnmpInterface.ts +8 -0
- package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +17 -8
- package/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.ts +53 -0
- package/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.ts +43 -0
- package/Types/Monitor/SnmpMonitor/SnmpSystemInfo.ts +16 -0
- package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +119 -3
- package/Types/NetFlow/NetworkFlowRecord.ts +25 -0
- package/Types/Syslog/SyslogMessage.ts +18 -0
- package/Types/Telemetry/TelemetrySavedViewState.ts +9 -0
- package/Types/Telemetry/TelemetrySavedViewType.ts +12 -0
- package/UI/Components/Charts/Area/AreaChart.tsx +51 -0
- package/UI/Components/Charts/Bar/BarChart.tsx +51 -1
- package/UI/Components/Charts/ChartGroup/ChartGroup.tsx +97 -26
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +328 -1
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +115 -0
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +328 -1
- package/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.ts +7 -0
- package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +15 -0
- package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +13 -0
- package/UI/Components/Charts/Line/LineChart.tsx +51 -0
- package/UI/Components/Charts/Types/ReferenceRegionProps.ts +12 -0
- package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +12 -0
- package/UI/Components/Charts/Types/XAxis/XAxisPrecision.ts +1 -0
- package/UI/Components/Charts/Utils/DataPoint.ts +0 -0
- package/UI/Components/Charts/Utils/TimeAnnotation.ts +169 -0
- package/UI/Components/Charts/Utils/XAxis.ts +28 -4
- package/UI/Components/Icon/Icon.tsx +33 -13
- package/UI/Components/Markdown.tsx/MarkdownViewer.tsx +9 -0
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +67 -0
- package/UI/Components/Page/ModelPage.tsx +6 -1
- package/UI/Components/TelemetryViewer/components/SavedViewsDropdown.tsx +33 -4
- package/UI/Styles/Theme.css +10 -0
- package/UI/Utils/User.ts +41 -2
- package/Utils/Analytics.ts +8 -6
- package/Utils/EnterpriseLicense/EnterpriseLicenseUsage.ts +74 -0
- package/Utils/Metrics/MetricExplorerUrl.ts +771 -0
- package/Utils/Metrics/MetricFormulaEvaluator.ts +410 -46
- package/Utils/Monitor/NetworkTopologyUtil.ts +261 -49
- package/Utils/ValueFormatter.ts +22 -1
- package/build/dist/Models/AnalyticsModels/Index.js +13 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js +159 -0
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByContainer.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js +158 -0
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js +160 -0
- package/build/dist/Models/AnalyticsModels/MetricItemAggMV1mByService.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/NetworkFlow.js +351 -0
- package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -0
- package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js +19 -0
- package/build/dist/Models/DatabaseModels/EnterpriseLicenseInstance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GlobalConfig.js +38 -0
- package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +2 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MarketingConversion.js +219 -0
- package/build/dist/Models/DatabaseModels/MarketingConversion.js.map +1 -0
- package/build/dist/Models/DatabaseModels/MetricSavedView.js +35 -0
- package/build/dist/Models/DatabaseModels/MetricSavedView.js.map +1 -1
- package/build/dist/Models/DatabaseModels/MetricType.js +76 -0
- package/build/dist/Models/DatabaseModels/MetricType.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +341 -0
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +116 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkInterface.js +60 -0
- package/build/dist/Models/DatabaseModels/NetworkInterface.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +38 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +38 -0
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Server/API/BaseAnalyticsAPI.js +19 -0
- package/build/dist/Server/API/BaseAnalyticsAPI.js.map +1 -1
- package/build/dist/Server/API/EnterpriseLicenseAPI.js +8 -0
- package/build/dist/Server/API/EnterpriseLicenseAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +51 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.js +27 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414522-AddCounterSemanticsToMetricType.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.js +21 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784191414600-AddViewTypeToMetricSavedView.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.js +47 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784211212164-AddNetworkDeviceInventoryAndDiscoverySchedule.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.js +16 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784218257664-AddEnterpriseLicenseNotificationColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.js +18 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784293516000-AddAttributionColumnsToUserAndProject.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.js +20 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784298000000-AddMarketingConversionTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js +40 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784401962564-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +58 -4
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/IncidentService.js +12 -0
- package/build/dist/Server/Services/IncidentService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +10 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/MarketingConversionService.js +9 -0
- package/build/dist/Server/Services/MarketingConversionService.js.map +1 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByContainerService.js +29 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByContainerService.js.map +1 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByK8sClusterService.js +29 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByK8sClusterService.js.map +1 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByServiceService.js +29 -0
- package/build/dist/Server/Services/MetricItemAggMV1mByServiceService.js.map +1 -0
- package/build/dist/Server/Services/MetricService.js +761 -125
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +18 -5
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js +44 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerTeamService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js +88 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerUserService.js.map +1 -1
- package/build/dist/Server/Services/NetworkFlowService.js +9 -0
- package/build/dist/Server/Services/NetworkFlowService.js.map +1 -0
- package/build/dist/Server/Services/OnCallDutyPolicyService.js +15 -6
- package/build/dist/Server/Services/OnCallDutyPolicyService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +107 -6
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/SpanService.js +8 -6
- package/build/dist/Server/Services/SpanService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageService.js +10 -0
- package/build/dist/Server/Services/StatusPageService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +11 -0
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +52 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +33 -7
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
- package/build/dist/Server/Utils/Attribution.js +74 -0
- package/build/dist/Server/Utils/Attribution.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js +40 -0
- package/build/dist/Server/Utils/Marketing/ConversionUploadProvider.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/ConversionUploadProviders.js +20 -0
- package/build/dist/Server/Utils/Marketing/ConversionUploadProviders.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js +177 -0
- package/build/dist/Server/Utils/Marketing/Providers/GoogleAds.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js +113 -0
- package/build/dist/Server/Utils/Marketing/Providers/LinkedIn.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/Providers/Meta.js +109 -0
- package/build/dist/Server/Utils/Marketing/Providers/Meta.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js +130 -0
- package/build/dist/Server/Utils/Marketing/Providers/MicrosoftAds.js.map +1 -0
- package/build/dist/Server/Utils/Marketing/Providers/Reddit.js +126 -0
- package/build/dist/Server/Utils/Marketing/Providers/Reddit.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +53 -9
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +21 -10
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js +54 -11
- package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +43 -3
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +68 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +15 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +100 -15
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/ProductAnalytics.js +111 -0
- package/build/dist/Server/Utils/ProductAnalytics.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/Telemetry.js +32 -5
- package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +17 -0
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +11 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/BaseDatabase/AggregationInterval.js +11 -0
- package/build/dist/Types/BaseDatabase/AggregationInterval.js.map +1 -1
- package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +33 -5
- package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +2 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Marketing/MarketingConversion.js +13 -0
- package/build/dist/Types/Marketing/MarketingConversion.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorMetricType.js +7 -0
- package/build/dist/Types/Monitor/MonitorMetricType.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +6 -0
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js +3 -0
- package/build/dist/Types/Monitor/MonitorStepSqlMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +2 -1
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/CdpNeighbor.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/CdpNeighbor.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js +41 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpAuthProtocol.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpEntityInfo.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpEntityInfo.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js +48 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpPrivProtocol.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js +38 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpSecurityLevel.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpSystemInfo.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpSystemInfo.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +96 -3
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
- package/build/dist/Types/NetFlow/NetworkFlowRecord.js +2 -0
- package/build/dist/Types/NetFlow/NetworkFlowRecord.js.map +1 -0
- package/build/dist/Types/Syslog/SyslogMessage.js +2 -0
- package/build/dist/Types/Syslog/SyslogMessage.js.map +1 -0
- package/build/dist/Types/Telemetry/TelemetrySavedViewState.js +0 -7
- package/build/dist/Types/Telemetry/TelemetrySavedViewState.js.map +1 -1
- package/build/dist/Types/Telemetry/TelemetrySavedViewType.js +13 -0
- package/build/dist/Types/Telemetry/TelemetrySavedViewType.js.map +1 -0
- package/build/dist/UI/Components/Charts/Area/AreaChart.js +25 -1
- package/build/dist/UI/Components/Charts/Area/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Bar/BarChart.js +26 -2
- package/build/dist/UI/Components/Charts/Bar/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js +36 -12
- package/build/dist/UI/Components/Charts/ChartGroup/ChartGroup.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +208 -6
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +52 -3
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +208 -6
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js +6 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/ChartDataPoint.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.js +2 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.js +2 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.js.map +1 -0
- package/build/dist/UI/Components/Charts/Line/LineChart.js +25 -1
- package/build/dist/UI/Components/Charts/Line/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/ReferenceRegionProps.js +2 -0
- package/build/dist/UI/Components/Charts/Types/ReferenceRegionProps.js.map +1 -0
- package/build/dist/UI/Components/Charts/Types/TimeReferenceLineProps.js +2 -0
- package/build/dist/UI/Components/Charts/Types/TimeReferenceLineProps.js.map +1 -0
- package/build/dist/UI/Components/Charts/Types/XAxis/XAxisPrecision.js +1 -0
- package/build/dist/UI/Components/Charts/Types/XAxis/XAxisPrecision.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/DataPoint.js +0 -0
- package/build/dist/UI/Components/Charts/Utils/DataPoint.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +121 -0
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -0
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +27 -4
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +15 -8
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownViewer.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +58 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/Page/ModelPage.js +7 -1
- package/build/dist/UI/Components/Page/ModelPage.js.map +1 -1
- package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js +10 -4
- package/build/dist/UI/Components/TelemetryViewer/components/SavedViewsDropdown.js.map +1 -1
- package/build/dist/UI/Utils/User.js +35 -2
- package/build/dist/UI/Utils/User.js.map +1 -1
- package/build/dist/Utils/Analytics.js +8 -5
- package/build/dist/Utils/Analytics.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js +57 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseUsage.js.map +1 -1
- package/build/dist/Utils/Metrics/MetricExplorerUrl.js +418 -0
- package/build/dist/Utils/Metrics/MetricExplorerUrl.js.map +1 -0
- package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js +296 -37
- package/build/dist/Utils/Metrics/MetricFormulaEvaluator.js.map +1 -1
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +176 -40
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/ValueFormatter.js +20 -1
- package/build/dist/Utils/ValueFormatter.js.map +1 -1
- package/package.json +4 -3
|
@@ -29,7 +29,10 @@ import Select from "../Types/AnalyticsDatabase/Select";
|
|
|
29
29
|
import UpdateBy from "../Types/AnalyticsDatabase/UpdateBy";
|
|
30
30
|
import { SQL, Statement } from "../Utils/AnalyticsDatabase/Statement";
|
|
31
31
|
import StatementGenerator from "../Utils/AnalyticsDatabase/StatementGenerator";
|
|
32
|
-
import {
|
|
32
|
+
import {
|
|
33
|
+
getQuerySettings,
|
|
34
|
+
TimeoutOverflowMode,
|
|
35
|
+
} from "../Utils/AnalyticsDatabase/QuerySettingsHelper";
|
|
33
36
|
import {
|
|
34
37
|
getStorageTableName,
|
|
35
38
|
onClusterClause,
|
|
@@ -892,8 +895,47 @@ export default class AnalyticsDatabaseService<
|
|
|
892
895
|
aggregatedItems.push(aggregatedModel);
|
|
893
896
|
}
|
|
894
897
|
|
|
898
|
+
/*
|
|
899
|
+
* Top-K statements (see MetricService) carry the pre-trim group
|
|
900
|
+
* count as a constant `__total_groups` column on every row; lift
|
|
901
|
+
* it off the first row into result metadata. The per-row copy
|
|
902
|
+
* loop above only projects timestamp/value/group-by columns, so
|
|
903
|
+
* the helper column never reaches the rows themselves.
|
|
904
|
+
*/
|
|
905
|
+
let totalGroups: number | undefined = undefined;
|
|
906
|
+
const firstItem: JSONObject | undefined = items[0];
|
|
907
|
+
if (firstItem && firstItem["__total_groups"] !== undefined) {
|
|
908
|
+
const parsedTotalGroups: number = Number(firstItem["__total_groups"]);
|
|
909
|
+
if (Number.isFinite(parsedTotalGroups)) {
|
|
910
|
+
totalGroups = parsedTotalGroups;
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
/*
|
|
915
|
+
* Truncation detection. Row-count == LIMIT is a heuristic (an
|
|
916
|
+
* exactly-full window reads as truncated), but a false positive
|
|
917
|
+
* only over-warns; the silent-data-loss case it exists to catch
|
|
918
|
+
* (groups × buckets > limit dropping the oldest buckets) is
|
|
919
|
+
* always flagged. Top-K truncation is exact: the ranking phase
|
|
920
|
+
* counted every matching group.
|
|
921
|
+
*/
|
|
922
|
+
const appliedLimit: number = Number(aggregateBy.limit);
|
|
923
|
+
let truncated: boolean =
|
|
924
|
+
Number.isFinite(appliedLimit) &&
|
|
925
|
+
appliedLimit > 0 &&
|
|
926
|
+
items.length >= appliedLimit;
|
|
927
|
+
if (
|
|
928
|
+
aggregateBy.topK &&
|
|
929
|
+
totalGroups !== undefined &&
|
|
930
|
+
totalGroups > aggregateBy.topK.count
|
|
931
|
+
) {
|
|
932
|
+
truncated = true;
|
|
933
|
+
}
|
|
934
|
+
|
|
895
935
|
return {
|
|
896
936
|
data: aggregatedItems,
|
|
937
|
+
...(totalGroups !== undefined ? { totalGroups } : {}),
|
|
938
|
+
truncated,
|
|
897
939
|
};
|
|
898
940
|
} catch (error) {
|
|
899
941
|
await this.onFindError(error as Exception);
|
|
@@ -1194,6 +1236,24 @@ export default class AnalyticsDatabaseService<
|
|
|
1194
1236
|
return statement;
|
|
1195
1237
|
}
|
|
1196
1238
|
|
|
1239
|
+
/**
|
|
1240
|
+
* The timeout_overflow_mode an aggregate statement should carry.
|
|
1241
|
+
* Callers that render charts keep the 'break' default (partial
|
|
1242
|
+
* buckets are acceptable there); callers that ALERT on the result —
|
|
1243
|
+
* the metric-monitor worker — pass 'throw' so a timed-out evaluation
|
|
1244
|
+
* fails loudly instead of silently scoring partial data.
|
|
1245
|
+
*
|
|
1246
|
+
* Allow-listed, never passed through: aggregateBy is deserialized
|
|
1247
|
+
* wholesale from API clients and this setting is emitted into SQL as
|
|
1248
|
+
* a trusted literal (see QuerySettingsHelper), so anything other than
|
|
1249
|
+
* the exact string "throw" degrades to the 'break' default.
|
|
1250
|
+
*/
|
|
1251
|
+
protected getTimeoutOverflowMode(
|
|
1252
|
+
aggregateBy: AggregateBy<TBaseModel>,
|
|
1253
|
+
): TimeoutOverflowMode {
|
|
1254
|
+
return aggregateBy.timeoutOverflowMode === "throw" ? "throw" : "break";
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1197
1257
|
public toAggregateStatement(aggregateBy: AggregateBy<TBaseModel>): {
|
|
1198
1258
|
statement: Statement;
|
|
1199
1259
|
columns: Array<string>;
|
|
@@ -1306,6 +1366,13 @@ export default class AnalyticsDatabaseService<
|
|
|
1306
1366
|
/*
|
|
1307
1367
|
* Aggregation read-path settings.
|
|
1308
1368
|
*
|
|
1369
|
+
* - max_execution_time=45: cap aggregate runtime below the
|
|
1370
|
+
* ClickHouse client's 58s request_timeout, same as the count/find
|
|
1371
|
+
* statements — a wide-window aggregate over a large table would
|
|
1372
|
+
* otherwise run until the HTTP client disconnects. The overflow
|
|
1373
|
+
* mode defaults to 'break' (partial buckets are acceptable for
|
|
1374
|
+
* chart rendering) but alerting callers opt into 'throw' via
|
|
1375
|
+
* aggregateBy.timeoutOverflowMode — see getTimeoutOverflowMode.
|
|
1309
1376
|
* - optimize_aggregation_in_order: when GROUP BY is a prefix of the
|
|
1310
1377
|
* sort key (we always group by a time bucket and the time column
|
|
1311
1378
|
* is at the tail of every analytics primary key), ClickHouse can
|
|
@@ -1322,6 +1389,8 @@ export default class AnalyticsDatabaseService<
|
|
|
1322
1389
|
*/
|
|
1323
1390
|
statement.append(
|
|
1324
1391
|
getQuerySettings({
|
|
1392
|
+
maxExecutionTimeInSeconds: 45,
|
|
1393
|
+
timeoutOverflowMode: this.getTimeoutOverflowMode(aggregateBy),
|
|
1325
1394
|
additionalSettings: {
|
|
1326
1395
|
optimize_aggregation_in_order: 1,
|
|
1327
1396
|
optimize_move_to_prewhere: 1,
|
|
@@ -56,6 +56,7 @@ import ServiceType from "../../Types/Telemetry/ServiceType";
|
|
|
56
56
|
import OneUptimeDate from "../../Types/Date";
|
|
57
57
|
import TelemetryUtil from "../Utils/Telemetry/Telemetry";
|
|
58
58
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
59
|
+
import ProductAnalytics from "../Utils/ProductAnalytics";
|
|
59
60
|
import Semaphore, { SemaphoreMutex } from "../Infrastructure/Semaphore";
|
|
60
61
|
import IncidentFeedService from "./IncidentFeedService";
|
|
61
62
|
import IncidentSlaService from "./IncidentSlaService";
|
|
@@ -907,6 +908,18 @@ export class Service extends DatabaseService<Model> {
|
|
|
907
908
|
throw new BadDataException("id is required");
|
|
908
909
|
}
|
|
909
910
|
|
|
911
|
+
/*
|
|
912
|
+
* Activation event for marketing funnels. Only fires for human-declared
|
|
913
|
+
* incidents (captureForUser skips when there is no user).
|
|
914
|
+
*/
|
|
915
|
+
ProductAnalytics.captureForUser({
|
|
916
|
+
userId: onCreate.createBy.props.userId || createdItem.createdByUserId,
|
|
917
|
+
event: "server/incident_created",
|
|
918
|
+
properties: {
|
|
919
|
+
project_id: createdItem.projectId.toString(),
|
|
920
|
+
},
|
|
921
|
+
});
|
|
922
|
+
|
|
910
923
|
// Get incident data for feed creation
|
|
911
924
|
const incident: Model | null = await this.findOneById({
|
|
912
925
|
id: createdItem.id,
|
package/Server/Services/Index.ts
CHANGED
|
@@ -70,6 +70,9 @@ import MailService from "./MailService";
|
|
|
70
70
|
import MetricService from "./MetricService";
|
|
71
71
|
import MetricItemAggMV1mService from "./MetricItemAggMV1mService";
|
|
72
72
|
import MetricItemAggMV1mByHostV2Service from "./MetricItemAggMV1mByHostV2Service";
|
|
73
|
+
import MetricItemAggMV1mByServiceService from "./MetricItemAggMV1mByServiceService";
|
|
74
|
+
import MetricItemAggMV1mByK8sClusterService from "./MetricItemAggMV1mByK8sClusterService";
|
|
75
|
+
import MetricItemAggMV1mByContainerService from "./MetricItemAggMV1mByContainerService";
|
|
73
76
|
import MutableMetricService from "./MutableMetricService";
|
|
74
77
|
import MetricBaselineService from "./MetricBaselineService";
|
|
75
78
|
import MonitorCustomFieldService from "./MonitorCustomFieldService";
|
|
@@ -123,6 +126,7 @@ import GlobalOidcProjectService from "./GlobalOidcProjectService";
|
|
|
123
126
|
import PromoCodeService from "./PromoCodeService";
|
|
124
127
|
import EnterpriseLicenseService from "./EnterpriseLicenseService";
|
|
125
128
|
import EnterpriseLicenseInstanceService from "./EnterpriseLicenseInstanceService";
|
|
129
|
+
import MarketingConversionService from "./MarketingConversionService";
|
|
126
130
|
import OpenSourceDeploymentService from "./OpenSourceDeploymentService";
|
|
127
131
|
import ResellerPlanService from "./ResellerPlanService";
|
|
128
132
|
import ResellerService from "./ResellerService";
|
|
@@ -253,6 +257,7 @@ import WorkspaceNotificationSummaryService from "./WorkspaceNotificationSummaryS
|
|
|
253
257
|
import OnCallDutyPolicyUserOverrideService from "./OnCallDutyPolicyUserOverrideService";
|
|
254
258
|
|
|
255
259
|
import MonitorLogService from "./MonitorLogService";
|
|
260
|
+
import NetworkFlowService from "./NetworkFlowService";
|
|
256
261
|
|
|
257
262
|
import OnCallDutyPolicyTimeLogService from "./OnCallDutyPolicyTimeLogService";
|
|
258
263
|
import ProjectSCIMLogService from "./ProjectSCIMLogService";
|
|
@@ -264,6 +269,7 @@ const services: Array<BaseService> = [
|
|
|
264
269
|
PromoCodeService,
|
|
265
270
|
EnterpriseLicenseService,
|
|
266
271
|
EnterpriseLicenseInstanceService,
|
|
272
|
+
MarketingConversionService,
|
|
267
273
|
OpenSourceDeploymentService,
|
|
268
274
|
|
|
269
275
|
ResellerService,
|
|
@@ -532,9 +538,13 @@ export const AnalyticsServices: Array<
|
|
|
532
538
|
*/
|
|
533
539
|
MetricItemAggMV1mService,
|
|
534
540
|
MetricItemAggMV1mByHostV2Service,
|
|
541
|
+
MetricItemAggMV1mByServiceService,
|
|
542
|
+
MetricItemAggMV1mByK8sClusterService,
|
|
543
|
+
MetricItemAggMV1mByContainerService,
|
|
535
544
|
MetricBaselineService,
|
|
536
545
|
ExceptionInstanceService,
|
|
537
546
|
MonitorLogService,
|
|
547
|
+
NetworkFlowService,
|
|
538
548
|
ProfileService,
|
|
539
549
|
ProfileSampleService,
|
|
540
550
|
AuditLogService,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import DatabaseService from "./DatabaseService";
|
|
2
|
+
import MarketingConversion from "../../Models/DatabaseModels/MarketingConversion";
|
|
3
|
+
|
|
4
|
+
export class Service extends DatabaseService<MarketingConversion> {
|
|
5
|
+
public constructor() {
|
|
6
|
+
super(MarketingConversion);
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default new Service();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import AnalyticsDatabaseService from "./AnalyticsDatabaseService";
|
|
2
|
+
import ClickhouseDatabase from "../Infrastructure/ClickhouseDatabase";
|
|
3
|
+
import MetricItemAggMV1mByContainer from "../../Models/AnalyticsModels/MetricItemAggMV1mByContainer";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Read-side service for the `MetricItemAggMV1mByContainer` MV target
|
|
7
|
+
* table — per-(container entity key, minute) pre-aggregated metric
|
|
8
|
+
* values for container-scoped chart queries. Sister of
|
|
9
|
+
* `MetricItemAggMV1mByHostV2Service` (which is keyed by hostEntityKey).
|
|
10
|
+
*
|
|
11
|
+
* Today's reads go through
|
|
12
|
+
* `MetricService.tryBuildEntityAggregateMVStatement` with raw SQL; this
|
|
13
|
+
* service exists so the model is registered with the analytics framework
|
|
14
|
+
* and the auto-create flow can manage the table + MV on app startup
|
|
15
|
+
* (idempotent with the AddMetricEntityMinuteAggregateMaterializedViews
|
|
16
|
+
* migration, which also backfills from MetricItemV3).
|
|
17
|
+
*
|
|
18
|
+
* AggregateFunction columns require `*Merge()` finalizers at read time —
|
|
19
|
+
* the generic typed `findBy` path is therefore not useful and should not
|
|
20
|
+
* be relied on against this table.
|
|
21
|
+
*/
|
|
22
|
+
export class MetricItemAggMV1mByContainerService extends AnalyticsDatabaseService<MetricItemAggMV1mByContainer> {
|
|
23
|
+
public constructor(clickhouseDatabase?: ClickhouseDatabase | undefined) {
|
|
24
|
+
super({
|
|
25
|
+
modelType: MetricItemAggMV1mByContainer,
|
|
26
|
+
database: clickhouseDatabase,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default new MetricItemAggMV1mByContainerService();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import AnalyticsDatabaseService from "./AnalyticsDatabaseService";
|
|
2
|
+
import ClickhouseDatabase from "../Infrastructure/ClickhouseDatabase";
|
|
3
|
+
import MetricItemAggMV1mByK8sCluster from "../../Models/AnalyticsModels/MetricItemAggMV1mByK8sCluster";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Read-side service for the `MetricItemAggMV1mByK8sCluster` MV target
|
|
7
|
+
* table — per-(k8s cluster entity key, minute) pre-aggregated metric
|
|
8
|
+
* values for Kubernetes-cluster-detail chart queries. Sister of
|
|
9
|
+
* `MetricItemAggMV1mByHostV2Service` (which is keyed by hostEntityKey).
|
|
10
|
+
*
|
|
11
|
+
* Today's reads go through
|
|
12
|
+
* `MetricService.tryBuildEntityAggregateMVStatement` with raw SQL; this
|
|
13
|
+
* service exists so the model is registered with the analytics framework
|
|
14
|
+
* and the auto-create flow can manage the table + MV on app startup
|
|
15
|
+
* (idempotent with the AddMetricEntityMinuteAggregateMaterializedViews
|
|
16
|
+
* migration, which also backfills from MetricItemV3).
|
|
17
|
+
*
|
|
18
|
+
* AggregateFunction columns require `*Merge()` finalizers at read time —
|
|
19
|
+
* the generic typed `findBy` path is therefore not useful and should not
|
|
20
|
+
* be relied on against this table.
|
|
21
|
+
*/
|
|
22
|
+
export class MetricItemAggMV1mByK8sClusterService extends AnalyticsDatabaseService<MetricItemAggMV1mByK8sCluster> {
|
|
23
|
+
public constructor(clickhouseDatabase?: ClickhouseDatabase | undefined) {
|
|
24
|
+
super({
|
|
25
|
+
modelType: MetricItemAggMV1mByK8sCluster,
|
|
26
|
+
database: clickhouseDatabase,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default new MetricItemAggMV1mByK8sClusterService();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import AnalyticsDatabaseService from "./AnalyticsDatabaseService";
|
|
2
|
+
import ClickhouseDatabase from "../Infrastructure/ClickhouseDatabase";
|
|
3
|
+
import MetricItemAggMV1mByService from "../../Models/AnalyticsModels/MetricItemAggMV1mByService";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Read-side service for the `MetricItemAggMV1mByService` MV target table —
|
|
7
|
+
* per-(service entity key, minute) pre-aggregated metric values for
|
|
8
|
+
* service-detail chart queries. Sister of
|
|
9
|
+
* `MetricItemAggMV1mByHostV2Service` (which is keyed by hostEntityKey).
|
|
10
|
+
*
|
|
11
|
+
* Today's reads go through
|
|
12
|
+
* `MetricService.tryBuildEntityAggregateMVStatement` with raw SQL; this
|
|
13
|
+
* service exists so the model is registered with the analytics framework
|
|
14
|
+
* and the auto-create flow can manage the table + MV on app startup
|
|
15
|
+
* (idempotent with the AddMetricEntityMinuteAggregateMaterializedViews
|
|
16
|
+
* migration, which also backfills from MetricItemV3).
|
|
17
|
+
*
|
|
18
|
+
* AggregateFunction columns require `*Merge()` finalizers at read time —
|
|
19
|
+
* the generic typed `findBy` path is therefore not useful and should not
|
|
20
|
+
* be relied on against this table.
|
|
21
|
+
*/
|
|
22
|
+
export class MetricItemAggMV1mByServiceService extends AnalyticsDatabaseService<MetricItemAggMV1mByService> {
|
|
23
|
+
public constructor(clickhouseDatabase?: ClickhouseDatabase | undefined) {
|
|
24
|
+
super({
|
|
25
|
+
modelType: MetricItemAggMV1mByService,
|
|
26
|
+
database: clickhouseDatabase,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default new MetricItemAggMV1mByServiceService();
|