@oneuptime/common 11.6.1 → 11.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Models/AnalyticsModels/Index.ts +4 -0
- package/Models/AnalyticsModels/KubernetesCostAllocation.ts +842 -0
- package/Models/AnalyticsModels/NetworkFlow.ts +54 -0
- package/Models/AnalyticsModels/SloHistory.ts +243 -0
- package/Models/DatabaseModels/Index.ts +20 -0
- package/Models/DatabaseModels/NetworkDevice.ts +453 -6
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +7 -6
- package/Models/DatabaseModels/NetworkEndpoint.ts +753 -0
- package/Models/DatabaseModels/NetworkSite.ts +1155 -0
- package/Models/DatabaseModels/NetworkSiteAssignmentRule.ts +517 -0
- package/Models/DatabaseModels/NetworkSiteLink.ts +611 -0
- package/Models/DatabaseModels/NetworkSiteStatusTimeline.ts +520 -0
- package/Models/DatabaseModels/NetworkSiteType.ts +499 -0
- package/Models/DatabaseModels/ServiceLevelObjective.ts +1115 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.ts +762 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.ts +444 -0
- package/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.ts +443 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.ts +359 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.ts +48 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.ts +65 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.ts +88 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.ts +391 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1785066759532-MigrationName.ts +30 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
- package/Server/Services/AnalyticsDatabaseService.ts +25 -9
- package/Server/Services/Index.ts +24 -0
- package/Server/Services/KubernetesCostAllocationService.ts +14 -0
- package/Server/Services/MetricService.ts +21 -2
- package/Server/Services/MonitorService.ts +22 -0
- package/Server/Services/NetworkDeviceService.ts +438 -2
- package/Server/Services/NetworkEndpointService.ts +414 -0
- package/Server/Services/NetworkSiteAssignmentRuleService.ts +98 -0
- package/Server/Services/NetworkSiteLinkService.ts +10 -0
- package/Server/Services/NetworkSiteService.ts +1254 -0
- package/Server/Services/NetworkSiteStatusTimelineService.ts +10 -0
- package/Server/Services/NetworkSiteTypeService.ts +10 -0
- package/Server/Services/ProjectService.ts +122 -2
- package/Server/Services/ServiceLevelObjectiveBurnRateRuleService.ts +457 -0
- package/Server/Services/ServiceLevelObjectiveOwnerTeamService.ts +10 -0
- package/Server/Services/ServiceLevelObjectiveOwnerUserService.ts +10 -0
- package/Server/Services/ServiceLevelObjectiveService.ts +685 -0
- package/Server/Services/SloHistoryService.ts +101 -0
- package/Server/Services/UserNotificationSettingService.ts +37 -0
- package/Server/Types/AnalyticsDatabase/AggregateBy.ts +9 -0
- package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +15 -0
- package/Server/Utils/AnalyticsDatabase/Statement.ts +39 -3
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +87 -48
- package/Server/Utils/Memory.ts +9 -1
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +190 -12
- package/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
- package/Server/Utils/Monitor/DnsResolutionCache.ts +129 -0
- package/Server/Utils/Monitor/MonitorResource.ts +4 -30
- package/Server/Utils/Monitor/NetworkDeviceHydrationUtil.ts +214 -39
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +343 -0
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +251 -0
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +176 -142
- package/Server/Utils/Monitor/OuiLookupUtil.ts +49 -0
- package/Server/Utils/Monitor/SnmpInterfaceRateUtil.ts +17 -13
- package/Server/Utils/WhatsAppTemplateUtil.ts +7 -3
- package/Tests/Models/AnalyticsModels/KubernetesCostAllocation.test.ts +135 -0
- package/Tests/Models/NetworkSiteHierarchy.test.ts +134 -0
- package/Tests/Server/Services/AnalyticsDatabaseService.test.ts +239 -0
- package/Tests/Server/Services/KubernetesCostAllocationAggregate.test.ts +338 -0
- package/Tests/Server/Services/MetricServiceAggregate.test.ts +142 -0
- package/Tests/Server/Services/NetworkDeviceSiteAssignment.test.ts +484 -0
- package/Tests/Server/Services/NetworkEndpointServiceUpsert.test.ts +686 -0
- package/Tests/Server/Services/NetworkSiteAssignmentRuleService.test.ts +185 -0
- package/Tests/Server/Services/NetworkSiteService.test.ts +1354 -0
- package/Tests/Server/Services/ServiceLevelObjectiveBurnRateRuleService.test.ts +1313 -0
- package/Tests/Server/Services/ServiceLevelObjectiveService.test.ts +1988 -0
- package/Tests/Server/Utils/AnalyticsDatabase/Statement.test.ts +22 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGenerator.test.ts +404 -0
- package/Tests/Server/Utils/Encryption.test.ts +70 -0
- package/Tests/Server/Utils/FileAttachmentMarkdownUtil.test.ts +225 -0
- package/Tests/Server/Utils/JsonWebToken.test.ts +175 -0
- package/Tests/Server/Utils/LocalFile.test.ts +258 -0
- package/Tests/Server/Utils/Memory.test.ts +213 -0
- package/Tests/Server/Utils/Monitor/Criteria/LogMonitorCriteria.test.ts +30 -0
- package/Tests/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.test.ts +385 -0
- package/Tests/Server/Utils/Monitor/DnsResolutionCache.test.ts +194 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceHydrationUtil.test.ts +155 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +600 -0
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +151 -124
- package/Tests/Server/Utils/Monitor/SnmpInterfaceRateUtil.test.ts +496 -0
- package/Tests/Server/Utils/MonitorCriteriaDataExtractor.test.ts +175 -0
- package/Tests/Server/Utils/MonitorCriteriaMessageFormatter.test.ts +282 -0
- package/Tests/Server/Utils/OuiLookupUtil.test.ts +59 -0
- package/Tests/Server/Utils/SeriesResourceLabels.test.ts +117 -0
- package/Tests/Server/Utils/StackTraceParser.test.ts +370 -0
- package/Tests/Server/Utils/Stream.test.ts +87 -0
- package/Tests/Server/Utils/ValidateGlobalProviderProjectTeams.test.ts +221 -0
- package/Tests/Server/Utils/WhatsAppTemplateUtil.test.ts +199 -0
- package/Tests/Types/Database/CompareOperatorWireSerialization.test.ts +33 -0
- package/Tests/Types/Email.test.ts +198 -0
- package/Tests/Types/Kubernetes/KubernetesObjectParser.test.ts +177 -0
- package/Tests/Types/Log/LogQueryToFilter.test.ts +111 -0
- package/Tests/Types/Monitor/MonitorCriteria.test.ts +155 -0
- package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +465 -0
- package/Tests/Types/Monitor/MonitorStep.test.ts +183 -0
- package/Tests/Types/Monitor/MonitorStepNetworkDeviceMonitor.test.ts +141 -1
- package/Tests/Types/Monitor/MonitorSteps.test.ts +183 -0
- package/Tests/Types/Monitor/MonitorType.test.ts +59 -1
- package/Tests/Types/Monitor/NetworkDeviceAlertPack.test.ts +97 -0
- package/Tests/Types/Monitor/SnmpEndpointDiscovery.test.ts +151 -0
- package/Tests/Types/Monitor/SnmpVendorTemplate.test.ts +110 -6
- package/Tests/Types/NetworkSite/DefaultNetworkSiteType.test.ts +129 -0
- package/Tests/Types/SerializableObjectDictionary.test.ts +166 -0
- package/Tests/Types/Time/RangeStartAndEndDateTime.test.ts +98 -0
- package/Tests/Types/WebsiteRequest.test.ts +230 -0
- package/Tests/UI/Components/EntityFilterRoundTrip.test.tsx +103 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableUrlState.test.tsx +612 -0
- package/Tests/UI/Components/ModelTable/FilterDataToQuery.test.ts +275 -0
- package/Tests/UI/Utils/LogExport.test.ts +159 -0
- package/Tests/UI/Utils/Navigation.test.ts +183 -0
- package/Tests/UI/Utils/TableFilterUrlState.test.ts +539 -0
- package/Tests/UI/Utils/TableViewUrlState.test.ts +272 -0
- package/Tests/Utils/Base64.test.ts +51 -0
- package/Tests/Utils/Boolean.test.ts +76 -0
- package/Tests/Utils/Crypto.test.ts +48 -0
- package/Tests/Utils/Dashboard/DashboardSloComponent.test.ts +259 -0
- package/Tests/Utils/Dashboard/ModelQueryVariableInterpolation.test.ts +162 -0
- package/Tests/Utils/Enum.test.ts +54 -0
- package/Tests/Utils/IpCanonicalUtil.test.ts +85 -0
- package/Tests/Utils/Memory.test.ts +44 -0
- package/Tests/Utils/Metrics/MetricSeriesFingerprint.test.ts +160 -0
- package/Tests/Utils/Monitor/EndpointAttachmentUtil.test.ts +836 -0
- package/Tests/Utils/Monitor/MonitorMetricType.test.ts +218 -0
- package/Tests/Utils/Monitor/NetworkTopologyUtil.test.ts +447 -0
- package/Tests/Utils/NetworkSite/CidrMatchUtil.test.ts +440 -0
- package/Tests/Utils/NetworkSite/MaterializedPathUtil.test.ts +205 -0
- package/Tests/Utils/NetworkSite/SiteStatusRollupUtil.test.ts +221 -0
- package/Tests/Utils/NetworkSite/SiteUptimeUtil.test.ts +283 -0
- package/Tests/Utils/ObjectUtil.test.ts +30 -0
- package/Tests/Utils/Slo/SloBurnRateRuleState.test.ts +124 -0
- package/Tests/Utils/Slo/SloDuration.test.ts +148 -0
- package/Tests/Utils/Slo/SloHealth.test.ts +334 -0
- package/Tests/Utils/Slo/SloStatusColor.test.ts +89 -0
- package/Tests/Utils/Slo/SloUtil.test.ts +1980 -0
- package/Tests/Utils/Slo/SloWidgetFormat.test.ts +605 -0
- package/Tests/Utils/TechStack.test.ts +50 -0
- package/Tests/Utils/Traces/CriticalPath.test.ts +178 -0
- package/Types/AnalyticsDatabase/AnalyticsTableName.ts +10 -0
- package/Types/BaseDatabase/EqualTo.ts +9 -1
- package/Types/BaseDatabase/EqualToOrNull.ts +9 -1
- package/Types/BaseDatabase/NotEqual.ts +9 -1
- package/Types/Dashboard/DashboardComponentType.ts +1 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
- package/Types/Dashboard/DashboardComponents/DashboardSloComponent.ts +42 -0
- package/Types/Dashboard/DashboardTemplates.ts +214 -0
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/Kubernetes/KubernetesCostIngest.ts +79 -0
- package/Types/Monitor/CriteriaFilter.ts +9 -0
- package/Types/Monitor/MonitorStep.ts +5 -8
- package/Types/Monitor/MonitorStepNetworkDeviceMonitor.ts +27 -5
- package/Types/Monitor/MonitorType.ts +15 -5
- package/Types/Monitor/SnmpMonitor/ArpEntry.ts +14 -0
- package/Types/Monitor/SnmpMonitor/FdbEntry.ts +18 -0
- package/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.ts +10 -3
- package/Types/Monitor/SnmpMonitor/NetworkTopology.ts +31 -5
- package/Types/Monitor/SnmpMonitor/SnmpMonitorResponse.ts +12 -0
- package/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.ts +231 -3
- package/Types/NetworkSite/DefaultNetworkSiteType.ts +20 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
- package/Types/Permission.ts +449 -0
- package/Types/ServiceLevelObjective/SliType.ts +6 -0
- package/Types/ServiceLevelObjective/SloMultiMonitorMode.ts +6 -0
- package/Types/ServiceLevelObjective/SloStatus.ts +9 -0
- package/Types/ServiceLevelObjective/SloWindowType.ts +6 -0
- package/Types/Telemetry/ServiceType.ts +1 -0
- package/UI/Components/Filters/EntityFilter.tsx +16 -0
- package/UI/Components/Filters/FilterViewer.tsx +22 -5
- package/UI/Components/List/List.tsx +8 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +309 -106
- package/UI/Components/ModelTable/FilterDataToQuery.ts +172 -0
- package/UI/Components/Navbar/NavBar.tsx +16 -2
- package/UI/Components/Navbar/NavBarMenuModal.tsx +3 -3
- package/UI/Utils/Navigation.ts +10 -0
- package/UI/Utils/TableFilterUrlState.ts +204 -17
- package/UI/Utils/TableViewUrlState.ts +165 -0
- package/Utils/Dashboard/Components/DashboardSloComponent.ts +114 -0
- package/Utils/Dashboard/Components/Index.ts +7 -0
- package/Utils/IpCanonicalUtil.ts +134 -0
- package/Utils/Monitor/EndpointAttachmentUtil.ts +508 -0
- package/Utils/Monitor/NetworkTopologyUtil.ts +157 -5
- package/Utils/NetworkSite/CidrMatchUtil.ts +296 -0
- package/Utils/NetworkSite/MaterializedPathUtil.ts +115 -0
- package/Utils/NetworkSite/SiteStatusRollupUtil.ts +97 -0
- package/Utils/NetworkSite/SiteUptimeUtil.ts +111 -0
- package/Utils/Slo/SloBurnRateRuleState.ts +91 -0
- package/Utils/Slo/SloDuration.ts +165 -0
- package/Utils/Slo/SloEvaluation.ts +22 -0
- package/Utils/Slo/SloHealth.ts +302 -0
- package/Utils/Slo/SloStatusColor.ts +54 -0
- package/Utils/Slo/SloUtil.ts +637 -0
- package/Utils/Slo/SloWidgetFormat.ts +383 -0
- package/build/dist/Models/AnalyticsModels/Index.js +4 -0
- package/build/dist/Models/AnalyticsModels/Index.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js +713 -0
- package/build/dist/Models/AnalyticsModels/KubernetesCostAllocation.js.map +1 -0
- package/build/dist/Models/AnalyticsModels/NetworkFlow.js +44 -0
- package/build/dist/Models/AnalyticsModels/NetworkFlow.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/SloHistory.js +218 -0
- package/build/dist/Models/AnalyticsModels/SloHistory.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Index.js +20 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +458 -6
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +0 -6
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkEndpoint.js +779 -0
- package/build/dist/Models/DatabaseModels/NetworkEndpoint.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSite.js +1180 -0
- package/build/dist/Models/DatabaseModels/NetworkSite.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js +534 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteAssignmentRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteLink.js +629 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteLink.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js +538 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteStatusTimeline.js.map +1 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js +522 -0
- package/build/dist/Models/DatabaseModels/NetworkSiteType.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js +1134 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjective.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js +769 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveBurnRateRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js +460 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js +459 -0
- package/build/dist/Models/DatabaseModels/ServiceLevelObjectiveOwnerUser.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js +130 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784757142154-AddNetworkSiteHierarchyAndEndpoints.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js +31 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784897317860-AddNetworkSiteAlerting.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js +36 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784970388777-AddNetworkDevicePollingColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js +49 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784986826214-AddNetworkSiteTypeTable.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js +140 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1784987015619-AddServiceLevelObjective.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785066759532-MigrationName.js +21 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1785066759532-MigrationName.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Services/AnalyticsDatabaseService.js +23 -6
- package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +24 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/KubernetesCostAllocationService.js +12 -0
- package/build/dist/Server/Services/KubernetesCostAllocationService.js.map +1 -0
- package/build/dist/Server/Services/MetricService.js +21 -3
- package/build/dist/Server/Services/MetricService.js.map +1 -1
- package/build/dist/Server/Services/MonitorService.js +19 -0
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +351 -1
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/NetworkEndpointService.js +319 -0
- package/build/dist/Server/Services/NetworkEndpointService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js +90 -0
- package/build/dist/Server/Services/NetworkSiteAssignmentRuleService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteLinkService.js +9 -0
- package/build/dist/Server/Services/NetworkSiteLinkService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteService.js +1038 -0
- package/build/dist/Server/Services/NetworkSiteService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js +9 -0
- package/build/dist/Server/Services/NetworkSiteStatusTimelineService.js.map +1 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js +9 -0
- package/build/dist/Server/Services/NetworkSiteTypeService.js.map +1 -0
- package/build/dist/Server/Services/ProjectService.js +98 -2
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js +358 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveBurnRateRuleService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js +9 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js +9 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveService.js +588 -0
- package/build/dist/Server/Services/ServiceLevelObjectiveService.js.map +1 -0
- package/build/dist/Server/Services/SloHistoryService.js +77 -0
- package/build/dist/Server/Services/SloHistoryService.js.map +1 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js +20 -0
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +9 -0
- package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +15 -0
- package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +31 -0
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +76 -48
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/Memory.js +9 -1
- package/build/dist/Server/Utils/Memory.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +132 -10
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/Data/OuiVendors.json +6920 -0
- package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js +77 -0
- package/build/dist/Server/Utils/Monitor/DnsResolutionCache.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorResource.js +21 -41
- package/build/dist/Server/Utils/Monitor/MonitorResource.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js +152 -40
- package/build/dist/Server/Utils/Monitor/NetworkDeviceHydrationUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +262 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +201 -0
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +152 -120
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js +44 -0
- package/build/dist/Server/Utils/Monitor/OuiLookupUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js +10 -10
- package/build/dist/Server/Utils/Monitor/SnmpInterfaceRateUtil.js.map +1 -1
- package/build/dist/Server/Utils/WhatsAppTemplateUtil.js +5 -0
- package/build/dist/Server/Utils/WhatsAppTemplateUtil.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js +10 -0
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableName.js.map +1 -1
- package/build/dist/Types/BaseDatabase/EqualTo.js +9 -1
- package/build/dist/Types/BaseDatabase/EqualTo.js.map +1 -1
- package/build/dist/Types/BaseDatabase/EqualToOrNull.js +9 -1
- package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
- package/build/dist/Types/BaseDatabase/NotEqual.js +9 -1
- package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponentType.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js +23 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardSloComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js +205 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +1 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Kubernetes/KubernetesCostIngest.js +21 -0
- package/build/dist/Types/Kubernetes/KubernetesCostIngest.js.map +1 -0
- package/build/dist/Types/Monitor/CriteriaFilter.js +1 -0
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +5 -5
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js +8 -0
- package/build/dist/Types/Monitor/MonitorStepNetworkDeviceMonitor.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +15 -5
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/ArpEntry.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js +2 -0
- package/build/dist/Types/Monitor/SnmpMonitor/FdbEntry.js.map +1 -0
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js +9 -3
- package/build/dist/Types/Monitor/SnmpMonitor/NetworkDeviceAlertPack.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js +217 -3
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpVendorTemplate.js.map +1 -1
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js +21 -0
- package/build/dist/Types/NetworkSite/DefaultNetworkSiteType.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/Permission.js +409 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/ServiceLevelObjective/SliType.js +7 -0
- package/build/dist/Types/ServiceLevelObjective/SliType.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js +7 -0
- package/build/dist/Types/ServiceLevelObjective/SloMultiMonitorMode.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloStatus.js +10 -0
- package/build/dist/Types/ServiceLevelObjective/SloStatus.js.map +1 -0
- package/build/dist/Types/ServiceLevelObjective/SloWindowType.js +7 -0
- package/build/dist/Types/ServiceLevelObjective/SloWindowType.js.map +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Filters/EntityFilter.js +15 -0
- package/build/dist/UI/Components/Filters/EntityFilter.js.map +1 -1
- package/build/dist/UI/Components/Filters/FilterViewer.js +19 -4
- package/build/dist/UI/Components/Filters/FilterViewer.js.map +1 -1
- package/build/dist/UI/Components/List/List.js +1 -1
- package/build/dist/UI/Components/List/List.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +235 -89
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js +96 -0
- package/build/dist/UI/Components/ModelTable/FilterDataToQuery.js.map +1 -0
- package/build/dist/UI/Components/Navbar/NavBar.js +14 -2
- package/build/dist/UI/Components/Navbar/NavBar.js.map +1 -1
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js +3 -2
- package/build/dist/UI/Components/Navbar/NavBarMenuModal.js.map +1 -1
- package/build/dist/UI/Utils/Navigation.js +9 -0
- package/build/dist/UI/Utils/Navigation.js.map +1 -1
- package/build/dist/UI/Utils/TableFilterUrlState.js +159 -15
- package/build/dist/UI/Utils/TableFilterUrlState.js.map +1 -1
- package/build/dist/UI/Utils/TableViewUrlState.js +103 -0
- package/build/dist/UI/Utils/TableViewUrlState.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js +93 -0
- package/build/dist/Utils/Dashboard/Components/DashboardSloComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +4 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/IpCanonicalUtil.js +110 -0
- package/build/dist/Utils/IpCanonicalUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js +311 -0
- package/build/dist/Utils/Monitor/EndpointAttachmentUtil.js.map +1 -0
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js +98 -5
- package/build/dist/Utils/Monitor/NetworkTopologyUtil.js.map +1 -1
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js +222 -0
- package/build/dist/Utils/NetworkSite/CidrMatchUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js +89 -0
- package/build/dist/Utils/NetworkSite/MaterializedPathUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js +60 -0
- package/build/dist/Utils/NetworkSite/SiteStatusRollupUtil.js.map +1 -0
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js +76 -0
- package/build/dist/Utils/NetworkSite/SiteUptimeUtil.js.map +1 -0
- package/build/dist/Utils/Slo/SloBurnRateRuleState.js +35 -0
- package/build/dist/Utils/Slo/SloBurnRateRuleState.js.map +1 -0
- package/build/dist/Utils/Slo/SloDuration.js +87 -0
- package/build/dist/Utils/Slo/SloDuration.js.map +1 -0
- package/build/dist/Utils/Slo/SloEvaluation.js +21 -0
- package/build/dist/Utils/Slo/SloEvaluation.js.map +1 -0
- package/build/dist/Utils/Slo/SloHealth.js +179 -0
- package/build/dist/Utils/Slo/SloHealth.js.map +1 -0
- package/build/dist/Utils/Slo/SloStatusColor.js +18 -0
- package/build/dist/Utils/Slo/SloStatusColor.js.map +1 -0
- package/build/dist/Utils/Slo/SloUtil.js +393 -0
- package/build/dist/Utils/Slo/SloUtil.js.map +1 -0
- package/build/dist/Utils/Slo/SloWidgetFormat.js +174 -0
- package/build/dist/Utils/Slo/SloWidgetFormat.js.map +1 -0
- package/package.json +2 -2
- package/Types/Dashboard/DashboardComponents/Index.ts +0 -7
- package/build/dist/Types/Dashboard/DashboardComponents/Index.js +0 -8
- package/build/dist/Types/Dashboard/DashboardComponents/Index.js.map +0 -1
|
@@ -5,7 +5,7 @@ import Select from "../../Types/AnalyticsDatabase/Select";
|
|
|
5
5
|
import Sort from "../../Types/AnalyticsDatabase/Sort";
|
|
6
6
|
import UpdateBy from "../../Types/AnalyticsDatabase/UpdateBy";
|
|
7
7
|
import logger from "../Logger";
|
|
8
|
-
import { SQL, Statement } from "./Statement";
|
|
8
|
+
import { QualifiedColumn, SQL, Statement } from "./Statement";
|
|
9
9
|
import {
|
|
10
10
|
adaptTableSettingsForStorage,
|
|
11
11
|
getDistributedEngine,
|
|
@@ -90,6 +90,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
90
90
|
mapColumn: AnalyticsTableColumn;
|
|
91
91
|
mapKey: string;
|
|
92
92
|
skip?: boolean;
|
|
93
|
+
tableAlias?: string | undefined;
|
|
93
94
|
}): void {
|
|
94
95
|
const mapKeysColumnName: string | undefined = input.mapColumn.mapKeysColumn;
|
|
95
96
|
|
|
@@ -104,13 +105,17 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
104
105
|
return;
|
|
105
106
|
}
|
|
106
107
|
|
|
108
|
+
const keysColumnRef: string | QualifiedColumn = input.tableAlias
|
|
109
|
+
? new QualifiedColumn(input.tableAlias, mapKeysColumn.key)
|
|
110
|
+
: mapKeysColumn.key;
|
|
111
|
+
|
|
107
112
|
/*
|
|
108
113
|
* Keep empty key-array rows eligible so data written before the
|
|
109
114
|
* denormalized column existed, or by a lagging ingest path, is still
|
|
110
115
|
* checked by the canonical map['key'] predicate that follows.
|
|
111
116
|
*/
|
|
112
117
|
input.whereStatement.append(
|
|
113
|
-
SQL`AND (empty(${
|
|
118
|
+
SQL`AND (empty(${keysColumnRef}) OR hasAny(${keysColumnRef}, ${{
|
|
114
119
|
value: [input.mapKey],
|
|
115
120
|
type: TableColumnType.ArrayText,
|
|
116
121
|
}})) `,
|
|
@@ -428,11 +433,35 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
428
433
|
}
|
|
429
434
|
|
|
430
435
|
/**
|
|
431
|
-
* Conditions to append to "WHERE TRUE"
|
|
436
|
+
* Conditions to append to "WHERE TRUE".
|
|
437
|
+
*
|
|
438
|
+
* Compiles a Query into an `AND col <op> ...` chain. When
|
|
439
|
+
* `options.tableAlias` is set, every column reference is emitted
|
|
440
|
+
* table-qualified (`alias.col`). Builders whose SELECT aliases an
|
|
441
|
+
* expression to a real column name (aggregate statements — see
|
|
442
|
+
* AggregateUtil.buildBucketTimestampSelect) MUST pass the alias of the
|
|
443
|
+
* table the WHERE executes against: ClickHouse substitutes SELECT
|
|
444
|
+
* aliases into same-level unqualified WHERE references, which turns a
|
|
445
|
+
* `Total` aggregation's `min(col) as col` into an ILLEGAL_AGGREGATION
|
|
446
|
+
* error and silently snaps bucketed time filters to bucket boundaries.
|
|
447
|
+
* Statements that embed this WHERE against a different table (MV
|
|
448
|
+
* paths, cascade deletes) must stay unqualified.
|
|
432
449
|
*/
|
|
433
|
-
public toWhereStatement(
|
|
450
|
+
public toWhereStatement(
|
|
451
|
+
query: Query<TBaseModel>,
|
|
452
|
+
options?: { tableAlias?: string | undefined },
|
|
453
|
+
): Statement {
|
|
434
454
|
const whereStatement: Statement = new Statement();
|
|
435
455
|
|
|
456
|
+
type ColumnRefFunction = (columnName: string) => string | QualifiedColumn;
|
|
457
|
+
const columnRef: ColumnRefFunction = (
|
|
458
|
+
columnName: string,
|
|
459
|
+
): string | QualifiedColumn => {
|
|
460
|
+
return options?.tableAlias
|
|
461
|
+
? new QualifiedColumn(options.tableAlias, columnName)
|
|
462
|
+
: columnName;
|
|
463
|
+
};
|
|
464
|
+
|
|
436
465
|
let first: boolean = true;
|
|
437
466
|
for (const key in query) {
|
|
438
467
|
const value: any = query[key];
|
|
@@ -476,7 +505,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
476
505
|
whereStatement.append(SQL` OR `);
|
|
477
506
|
}
|
|
478
507
|
whereStatement.append(
|
|
479
|
-
SQL`${col.key} ILIKE ${{
|
|
508
|
+
SQL`${columnRef(col.key)} ILIKE ${{
|
|
480
509
|
value: new Search<string>(ms.value),
|
|
481
510
|
type: col.type,
|
|
482
511
|
}}`,
|
|
@@ -536,10 +565,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
536
565
|
|
|
537
566
|
if (scopeEntityKeys.length > 0 && hasAttributeFallback) {
|
|
538
567
|
whereStatement.append(
|
|
539
|
-
SQL`AND (hasAny(${entityKeysColumn.key}, ${{
|
|
568
|
+
SQL`AND (hasAny(${columnRef(entityKeysColumn.key)}, ${{
|
|
540
569
|
value: scopeEntityKeys,
|
|
541
570
|
type: TableColumnType.ArrayText,
|
|
542
|
-
}}) OR ${attributesColumn!.key}[${{
|
|
571
|
+
}}) OR ${columnRef(attributesColumn!.key)}[${{
|
|
543
572
|
value: scope.attributeKey,
|
|
544
573
|
type: TableColumnType.Text,
|
|
545
574
|
}}] = ${{
|
|
@@ -549,14 +578,14 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
549
578
|
);
|
|
550
579
|
} else if (scopeEntityKeys.length > 0) {
|
|
551
580
|
whereStatement.append(
|
|
552
|
-
SQL`AND hasAny(${entityKeysColumn.key}, ${{
|
|
581
|
+
SQL`AND hasAny(${columnRef(entityKeysColumn.key)}, ${{
|
|
553
582
|
value: scopeEntityKeys,
|
|
554
583
|
type: TableColumnType.ArrayText,
|
|
555
584
|
}})`,
|
|
556
585
|
);
|
|
557
586
|
} else {
|
|
558
587
|
whereStatement.append(
|
|
559
|
-
SQL`AND ${attributesColumn!.key}[${{
|
|
588
|
+
SQL`AND ${columnRef(attributesColumn!.key)}[${{
|
|
560
589
|
value: scope.attributeKey,
|
|
561
590
|
type: TableColumnType.Text,
|
|
562
591
|
}}] = ${{
|
|
@@ -584,66 +613,66 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
584
613
|
|
|
585
614
|
if (value instanceof Search) {
|
|
586
615
|
whereStatement.append(
|
|
587
|
-
SQL`AND ${key} ILIKE ${{
|
|
616
|
+
SQL`AND ${columnRef(key)} ILIKE ${{
|
|
588
617
|
value: value,
|
|
589
618
|
type: tableColumn.type,
|
|
590
619
|
}}`,
|
|
591
620
|
);
|
|
592
621
|
} else if (value instanceof NotEqual) {
|
|
593
622
|
whereStatement.append(
|
|
594
|
-
SQL`AND ${key} != ${{
|
|
623
|
+
SQL`AND ${columnRef(key)} != ${{
|
|
595
624
|
value: value,
|
|
596
625
|
type: tableColumn.type,
|
|
597
626
|
}}`,
|
|
598
627
|
);
|
|
599
628
|
} else if (value instanceof GreaterThan) {
|
|
600
629
|
whereStatement.append(
|
|
601
|
-
SQL`AND ${key} > ${{
|
|
630
|
+
SQL`AND ${columnRef(key)} > ${{
|
|
602
631
|
value: value,
|
|
603
632
|
type: tableColumn.type,
|
|
604
633
|
}}`,
|
|
605
634
|
);
|
|
606
635
|
} else if (value instanceof LessThan) {
|
|
607
636
|
whereStatement.append(
|
|
608
|
-
SQL`AND ${key} < ${{
|
|
637
|
+
SQL`AND ${columnRef(key)} < ${{
|
|
609
638
|
value: value,
|
|
610
639
|
type: tableColumn.type,
|
|
611
640
|
}}`,
|
|
612
641
|
);
|
|
613
642
|
} else if (value instanceof LessThanOrEqual) {
|
|
614
643
|
whereStatement.append(
|
|
615
|
-
SQL`AND ${key} <= ${{
|
|
644
|
+
SQL`AND ${columnRef(key)} <= ${{
|
|
616
645
|
value: value,
|
|
617
646
|
type: tableColumn.type,
|
|
618
647
|
}}`,
|
|
619
648
|
);
|
|
620
649
|
} else if (value instanceof LessThanOrNull) {
|
|
621
650
|
whereStatement.append(
|
|
622
|
-
SQL`AND (${key} <= ${{
|
|
651
|
+
SQL`AND (${columnRef(key)} <= ${{
|
|
623
652
|
value: value,
|
|
624
653
|
type: tableColumn.type,
|
|
625
|
-
}} OR ${key} IS NULL)`,
|
|
654
|
+
}} OR ${columnRef(key)} IS NULL)`,
|
|
626
655
|
);
|
|
627
656
|
} else if (value instanceof GreaterThanOrNull) {
|
|
628
657
|
whereStatement.append(
|
|
629
|
-
SQL`AND (${key} >= ${{
|
|
658
|
+
SQL`AND (${columnRef(key)} >= ${{
|
|
630
659
|
value: value,
|
|
631
660
|
type: tableColumn.type,
|
|
632
|
-
}} OR ${key} IS NULL)`,
|
|
661
|
+
}} OR ${columnRef(key)} IS NULL)`,
|
|
633
662
|
);
|
|
634
663
|
} else if (value instanceof GreaterThanOrEqual) {
|
|
635
664
|
whereStatement.append(
|
|
636
|
-
SQL`AND ${key} >= ${{
|
|
665
|
+
SQL`AND ${columnRef(key)} >= ${{
|
|
637
666
|
value: value,
|
|
638
667
|
type: tableColumn.type,
|
|
639
668
|
}}`,
|
|
640
669
|
);
|
|
641
670
|
} else if (value instanceof InBetween) {
|
|
642
671
|
whereStatement.append(
|
|
643
|
-
SQL`AND ${key} >= ${{
|
|
672
|
+
SQL`AND ${columnRef(key)} >= ${{
|
|
644
673
|
value: value.startValue,
|
|
645
674
|
type: tableColumn.type,
|
|
646
|
-
}} AND ${key} <= ${{
|
|
675
|
+
}} AND ${columnRef(key)} <= ${{
|
|
647
676
|
value: value.endValue,
|
|
648
677
|
type: tableColumn.type,
|
|
649
678
|
}}`,
|
|
@@ -665,7 +694,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
665
694
|
((value as Includes).values as Array<string>) || [];
|
|
666
695
|
if (arrayIncludeValues.length > 0) {
|
|
667
696
|
whereStatement.append(
|
|
668
|
-
SQL`AND hasAny(${key}, ${{
|
|
697
|
+
SQL`AND hasAny(${columnRef(key)}, ${{
|
|
669
698
|
value: arrayIncludeValues,
|
|
670
699
|
type: TableColumnType.ArrayText,
|
|
671
700
|
}})`,
|
|
@@ -673,7 +702,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
673
702
|
}
|
|
674
703
|
} else if (value instanceof Includes) {
|
|
675
704
|
whereStatement.append(
|
|
676
|
-
SQL`AND ${key} IN ${{
|
|
705
|
+
SQL`AND ${columnRef(key)} IN ${{
|
|
677
706
|
value: value,
|
|
678
707
|
type: tableColumn.type,
|
|
679
708
|
}}`,
|
|
@@ -691,7 +720,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
691
720
|
((value as IncludesNone).values as Array<string>) || [];
|
|
692
721
|
if (arrayExcludeValues.length > 0) {
|
|
693
722
|
whereStatement.append(
|
|
694
|
-
SQL`AND NOT hasAny(${key}, ${{
|
|
723
|
+
SQL`AND NOT hasAny(${columnRef(key)}, ${{
|
|
695
724
|
value: arrayExcludeValues,
|
|
696
725
|
type: TableColumnType.ArrayText,
|
|
697
726
|
}})`,
|
|
@@ -707,7 +736,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
707
736
|
((value as IncludesNone).values as Array<string | ObjectID>) || [];
|
|
708
737
|
if (excludeValues.length > 0) {
|
|
709
738
|
whereStatement.append(
|
|
710
|
-
SQL`AND ${key} NOT IN ${{
|
|
739
|
+
SQL`AND ${columnRef(key)} NOT IN ${{
|
|
711
740
|
value: value,
|
|
712
741
|
type: tableColumn.type,
|
|
713
742
|
}}`,
|
|
@@ -715,9 +744,11 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
715
744
|
}
|
|
716
745
|
} else if (value instanceof IsNull) {
|
|
717
746
|
if (tableColumn.type === TableColumnType.Text) {
|
|
718
|
-
whereStatement.append(
|
|
747
|
+
whereStatement.append(
|
|
748
|
+
SQL`AND (${columnRef(key)} IS NULL OR ${columnRef(key)} = '')`,
|
|
749
|
+
);
|
|
719
750
|
} else {
|
|
720
|
-
whereStatement.append(SQL`AND ${key} IS NULL`);
|
|
751
|
+
whereStatement.append(SQL`AND ${columnRef(key)} IS NULL`);
|
|
721
752
|
}
|
|
722
753
|
} else if (
|
|
723
754
|
tableColumn.type === TableColumnType.MapStringString &&
|
|
@@ -766,10 +797,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
766
797
|
*/
|
|
767
798
|
if (mapEntry instanceof IsNull) {
|
|
768
799
|
whereStatement.append(
|
|
769
|
-
SQL`AND ((NOT mapContains(${key}, ${{
|
|
800
|
+
SQL`AND ((NOT mapContains(${columnRef(key)}, ${{
|
|
770
801
|
value: mapKey,
|
|
771
802
|
type: TableColumnType.Text,
|
|
772
|
-
}})) OR ${key}[${{
|
|
803
|
+
}})) OR ${columnRef(key)}[${{
|
|
773
804
|
value: mapKey,
|
|
774
805
|
type: TableColumnType.Text,
|
|
775
806
|
}}] = '')`,
|
|
@@ -782,12 +813,13 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
782
813
|
whereStatement,
|
|
783
814
|
mapColumn: tableColumn,
|
|
784
815
|
mapKey,
|
|
816
|
+
tableAlias: options?.tableAlias,
|
|
785
817
|
});
|
|
786
818
|
whereStatement.append(
|
|
787
|
-
SQL`AND mapContains(${key}, ${{
|
|
819
|
+
SQL`AND mapContains(${columnRef(key)}, ${{
|
|
788
820
|
value: mapKey,
|
|
789
821
|
type: TableColumnType.Text,
|
|
790
|
-
}}) AND ${key}[${{
|
|
822
|
+
}}) AND ${columnRef(key)}[${{
|
|
791
823
|
value: mapKey,
|
|
792
824
|
type: TableColumnType.Text,
|
|
793
825
|
}}] != ''`,
|
|
@@ -803,7 +835,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
803
835
|
}}) AND v ILIKE ${{
|
|
804
836
|
value: mapEntry as Search<string>,
|
|
805
837
|
type: TableColumnType.Text,
|
|
806
|
-
}}, mapKeys(${key}), mapValues(${key}))`,
|
|
838
|
+
}}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
|
|
807
839
|
);
|
|
808
840
|
continue;
|
|
809
841
|
}
|
|
@@ -817,7 +849,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
817
849
|
}}) AND v ILIKE ${{
|
|
818
850
|
value: literalValue,
|
|
819
851
|
type: TableColumnType.Text,
|
|
820
|
-
}}, mapKeys(${key}), mapValues(${key}))`,
|
|
852
|
+
}}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
|
|
821
853
|
);
|
|
822
854
|
continue;
|
|
823
855
|
}
|
|
@@ -831,7 +863,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
831
863
|
}}) AND v ILIKE ${{
|
|
832
864
|
value: literalValue,
|
|
833
865
|
type: TableColumnType.Text,
|
|
834
|
-
}}, mapKeys(${key}), mapValues(${key}))`,
|
|
866
|
+
}}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
|
|
835
867
|
);
|
|
836
868
|
continue;
|
|
837
869
|
}
|
|
@@ -845,14 +877,14 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
845
877
|
}}) AND v ILIKE ${{
|
|
846
878
|
value: literalValue,
|
|
847
879
|
type: TableColumnType.Text,
|
|
848
|
-
}}, mapKeys(${key}), mapValues(${key}))`,
|
|
880
|
+
}}, mapKeys(${columnRef(key)}), mapValues(${columnRef(key)}))`,
|
|
849
881
|
);
|
|
850
882
|
continue;
|
|
851
883
|
}
|
|
852
884
|
|
|
853
885
|
if (mapEntry instanceof NotEqual) {
|
|
854
886
|
whereStatement.append(
|
|
855
|
-
SQL`AND ${key}[${{
|
|
887
|
+
SQL`AND ${columnRef(key)}[${{
|
|
856
888
|
value: mapKey,
|
|
857
889
|
type: TableColumnType.Text,
|
|
858
890
|
}}] != ${{
|
|
@@ -872,9 +904,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
872
904
|
mapColumn: tableColumn,
|
|
873
905
|
mapKey,
|
|
874
906
|
skip: equalityValue === "",
|
|
907
|
+
tableAlias: options?.tableAlias,
|
|
875
908
|
});
|
|
876
909
|
whereStatement.append(
|
|
877
|
-
SQL`AND ${key}[${{
|
|
910
|
+
SQL`AND ${columnRef(key)}[${{
|
|
878
911
|
value: mapKey,
|
|
879
912
|
type: TableColumnType.Text,
|
|
880
913
|
}}] = ${{
|
|
@@ -897,9 +930,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
897
930
|
whereStatement,
|
|
898
931
|
mapColumn: tableColumn,
|
|
899
932
|
mapKey,
|
|
933
|
+
tableAlias: options?.tableAlias,
|
|
900
934
|
});
|
|
901
935
|
whereStatement.append(
|
|
902
|
-
SQL`AND toFloat64OrNull(${key}[${{
|
|
936
|
+
SQL`AND toFloat64OrNull(${columnRef(key)}[${{
|
|
903
937
|
value: mapKey,
|
|
904
938
|
type: TableColumnType.Text,
|
|
905
939
|
}}]) > ${{
|
|
@@ -915,9 +949,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
915
949
|
whereStatement,
|
|
916
950
|
mapColumn: tableColumn,
|
|
917
951
|
mapKey,
|
|
952
|
+
tableAlias: options?.tableAlias,
|
|
918
953
|
});
|
|
919
954
|
whereStatement.append(
|
|
920
|
-
SQL`AND toFloat64OrNull(${key}[${{
|
|
955
|
+
SQL`AND toFloat64OrNull(${columnRef(key)}[${{
|
|
921
956
|
value: mapKey,
|
|
922
957
|
type: TableColumnType.Text,
|
|
923
958
|
}}]) >= ${{
|
|
@@ -933,9 +968,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
933
968
|
whereStatement,
|
|
934
969
|
mapColumn: tableColumn,
|
|
935
970
|
mapKey,
|
|
971
|
+
tableAlias: options?.tableAlias,
|
|
936
972
|
});
|
|
937
973
|
whereStatement.append(
|
|
938
|
-
SQL`AND toFloat64OrNull(${key}[${{
|
|
974
|
+
SQL`AND toFloat64OrNull(${columnRef(key)}[${{
|
|
939
975
|
value: mapKey,
|
|
940
976
|
type: TableColumnType.Text,
|
|
941
977
|
}}]) < ${{
|
|
@@ -951,9 +987,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
951
987
|
whereStatement,
|
|
952
988
|
mapColumn: tableColumn,
|
|
953
989
|
mapKey,
|
|
990
|
+
tableAlias: options?.tableAlias,
|
|
954
991
|
});
|
|
955
992
|
whereStatement.append(
|
|
956
|
-
SQL`AND toFloat64OrNull(${key}[${{
|
|
993
|
+
SQL`AND toFloat64OrNull(${columnRef(key)}[${{
|
|
957
994
|
value: mapKey,
|
|
958
995
|
type: TableColumnType.Text,
|
|
959
996
|
}}]) <= ${{
|
|
@@ -985,9 +1022,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
985
1022
|
mapColumn: tableColumn,
|
|
986
1023
|
mapKey,
|
|
987
1024
|
skip: includesValues.includes(""),
|
|
1025
|
+
tableAlias: options?.tableAlias,
|
|
988
1026
|
});
|
|
989
1027
|
whereStatement.append(
|
|
990
|
-
SQL`AND ${key}[${{
|
|
1028
|
+
SQL`AND ${columnRef(key)}[${{
|
|
991
1029
|
value: mapKey,
|
|
992
1030
|
type: TableColumnType.Text,
|
|
993
1031
|
}}] IN ${{
|
|
@@ -1017,7 +1055,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
1017
1055
|
continue;
|
|
1018
1056
|
}
|
|
1019
1057
|
whereStatement.append(
|
|
1020
|
-
SQL`AND ${key}[${{
|
|
1058
|
+
SQL`AND ${columnRef(key)}[${{
|
|
1021
1059
|
value: mapKey,
|
|
1022
1060
|
type: TableColumnType.Text,
|
|
1023
1061
|
}}] NOT IN ${{
|
|
@@ -1035,9 +1073,10 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
1035
1073
|
mapColumn: tableColumn,
|
|
1036
1074
|
mapKey,
|
|
1037
1075
|
skip: equalityValue === "",
|
|
1076
|
+
tableAlias: options?.tableAlias,
|
|
1038
1077
|
});
|
|
1039
1078
|
whereStatement.append(
|
|
1040
|
-
SQL`AND ${key}[${{
|
|
1079
|
+
SQL`AND ${columnRef(key)}[${{
|
|
1041
1080
|
value: mapKey,
|
|
1042
1081
|
type: TableColumnType.Text,
|
|
1043
1082
|
}}] = ${{
|
|
@@ -1060,7 +1099,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
1060
1099
|
|
|
1061
1100
|
if (flatValue[objKey] && typeof flatValue[objKey] === "string") {
|
|
1062
1101
|
whereStatement.append(
|
|
1063
|
-
SQL`AND JSONExtractString(${key}, ${{
|
|
1102
|
+
SQL`AND JSONExtractString(${columnRef(key)}, ${{
|
|
1064
1103
|
value: objKey,
|
|
1065
1104
|
type: TableColumnType.Text,
|
|
1066
1105
|
}}) = ${{
|
|
@@ -1073,7 +1112,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
1073
1112
|
|
|
1074
1113
|
if (flatValue[objKey] && typeof flatValue[objKey] === "number") {
|
|
1075
1114
|
whereStatement.append(
|
|
1076
|
-
SQL`AND JSONExtractInt(${key}, ${{
|
|
1115
|
+
SQL`AND JSONExtractInt(${columnRef(key)}, ${{
|
|
1077
1116
|
value: objKey,
|
|
1078
1117
|
type: TableColumnType.Text,
|
|
1079
1118
|
}}) = ${{
|
|
@@ -1086,7 +1125,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
1086
1125
|
|
|
1087
1126
|
if (flatValue[objKey] && typeof flatValue[objKey] === "boolean") {
|
|
1088
1127
|
whereStatement.append(
|
|
1089
|
-
SQL`AND JSONExtractBool(${key}, ${{
|
|
1128
|
+
SQL`AND JSONExtractBool(${columnRef(key)}, ${{
|
|
1090
1129
|
value: objKey,
|
|
1091
1130
|
type: TableColumnType.Text,
|
|
1092
1131
|
}}) = ${{
|
|
@@ -1099,7 +1138,7 @@ export default class StatementGenerator<TBaseModel extends AnalyticsBaseModel> {
|
|
|
1099
1138
|
}
|
|
1100
1139
|
} else {
|
|
1101
1140
|
whereStatement.append(
|
|
1102
|
-
SQL`AND ${key} = ${{ value, type: tableColumn.type }}`,
|
|
1141
|
+
SQL`AND ${columnRef(key)} = ${{ value, type: tableColumn.type }}`,
|
|
1103
1142
|
);
|
|
1104
1143
|
}
|
|
1105
1144
|
}
|
package/Server/Utils/Memory.ts
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import fs from "fs";
|
|
2
2
|
import os from "os";
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
/*
|
|
5
|
+
* Treat an absurdly large cgroup limit as "unlimited". Must be `2 ** 60`, not
|
|
6
|
+
* `1 << 60`: JavaScript's `<<` truncates to 32 bits and takes the shift count
|
|
7
|
+
* mod 32, so `1 << 60` is `1 << 28` = 256 MiB. That made every container with
|
|
8
|
+
* a limit of 256 MiB or more look unlimited, so getCgroupAvailableMemoryInBytes
|
|
9
|
+
* returned null and the container-aware helper silently fell back to the whole
|
|
10
|
+
* host's free memory — the exact OOM-kill case it exists to prevent.
|
|
11
|
+
*/
|
|
12
|
+
const UNLIMITED_CGROUP_THRESHOLD_BYTES: number = 2 ** 60;
|
|
5
13
|
|
|
6
14
|
export default class MemoryUtil {
|
|
7
15
|
public static getHostFreeMemoryInBytes(): number {
|