UNPKG

@stolostron/multicluster-sdk

Version:

Provides extensions and APIs that dynamic plugins can use to leverage multicluster capabilities provided by Red Hat Advanced Cluster Management.

39 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useFleetPrometheusPoll = void 0; /* Copyright Contributors to the Open Cluster Management project */ const dynamic_plugin_sdk_1 = require("@openshift-console/dynamic-plugin-sdk"); const useURLPoll_1 = require("../internal/useURLPoll"); const constants_1 = require("../internal/constants"); const utils_1 = require("../internal/utils"); const useHubClusterName_1 = require("./useHubClusterName"); const apiRequests_1 = require("./apiRequests"); const useFleetPrometheusPoll = ({ delay, endpoint, endTime, namespace, query, samples = constants_1.DEFAULT_PROMETHEUS_SAMPLES, timeout, timespan = constants_1.DEFAULT_PROMETHEUS_TIMESPAN, customDataSource, cluster, allClusters, }) => { const [hubClusterName] = (0, useHubClusterName_1.useHubClusterName)(); const clusterForQuery = hubClusterName !== cluster ? cluster : undefined; const useFleet = !!clusterForQuery || allClusters; const prometheusURLProps = { endpoint, endTime, namespace, query, samples, timeout, timespan, }; const fleetPool = (0, useURLPoll_1.useURLPoll)(useFleet ? (0, utils_1.getFleetPrometheusURL)(prometheusURLProps, `${(0, apiRequests_1.getBackendUrl)()}/observability`) : null, delay, query, timespan); const k8sPool = (0, dynamic_plugin_sdk_1.usePrometheusPoll)({ delay, endpoint, endTime, namespace, query: useFleet ? undefined : query, samples, timeout, timespan, customDataSource, }); return useFleet ? fleetPool : k8sPool; }; exports.useFleetPrometheusPoll = useFleetPrometheusPoll; //# sourceMappingURL=useFleetPrometheusPoll.js.map