Add the ability to hide metrics from the UI (#2036)

This commit is contained in:
Violetta authored and GitHub committed 2021-03-16 09:22:08 -04:00
1 parent 7d14ba5e48
commit a9a5766920
19 files changed
+303 -38

No files matched your search

@@ -11,6 +11,8 @@ import { PodContainerPort } from "./pod-container-port";
import { ResourceMetrics } from "../resource-metrics";
import { IMetrics } from "../../api/endpoints/metrics.api";
import { ContainerCharts } from "./container-charts";
import { ResourceType } from "../+cluster-settings/components/cluster-metrics-setting";
import { clusterStore } from "../../../common/cluster-store";
interface Props {
pod: Pod;
@@ -63,13 +65,14 @@ export class PodDetailsContainer extends React.Component<Props> {
"Memory",
"Filesystem",
];
const isMetricHidden = clusterStore.isMetricHidden(ResourceType.Container);
return (
<div className="PodDetailsContainer">
<div className="pod-container-title">
<StatusBrick className={cssNames(state, { ready })}/>{name}
</div>
{!isInitContainer &&
{!isMetricHidden && !isInitContainer &&
<ResourceMetrics tabs={metricTabs} params={{ metrics }}>
<ContainerCharts/>
</ResourceMetrics>
@@ -22,6 +22,8 @@ import { getItemMetrics } from "../../api/endpoints/metrics.api";
import { PodCharts, podMetricTabs } from "./pod-charts";
import { KubeObjectMeta } from "../kube-object/kube-object-meta";
import { kubeObjectDetailRegistry } from "../../api/kube-object-detail-registry";
import { ResourceType } from "../+cluster-settings/components/cluster-metrics-setting";
import { clusterStore } from "../../../common/cluster-store";
interface Props extends KubeObjectDetailsProps<Pod> {
}
@@ -66,15 +68,18 @@ export class PodDetails extends React.Component<Props> {
const nodeSelector = pod.getNodeSelectors();
const volumes = pod.getVolumes();
const metrics = podsStore.metrics;
const isMetricHidden = clusterStore.isMetricHidden(ResourceType.Pod);
return (
<div className="PodDetails">
<ResourceMetrics
loader={() => podsStore.loadMetrics(pod)}
tabs={podMetricTabs} object={pod} params={{ metrics }}
>
<PodCharts/>
</ResourceMetrics>
{!isMetricHidden && (
<ResourceMetrics
loader={() => podsStore.loadMetrics(pod)}
tabs={podMetricTabs} object={pod} params={{ metrics }}
>
<PodCharts/>
</ResourceMetrics>
)}
<KubeObjectMeta object={pod}/>
<DrawerItem name="Status">
<span className={cssNames("status", kebabCase(pod.getStatusMessage()))}>{pod.getStatusMessage()}</span>