@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.71 kB
JavaScript
;
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("./useURLPoll");
const constants_1 = require("./constants");
const utils_1 = require("./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=index.js.map