mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Fix residual typing issues related to metrics
Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
parent
d249c4c679
commit
6a359e8ddb
@ -24,7 +24,7 @@ const NonInjectedClusterMetricSwitchers = observer(({
|
||||
nodeStore,
|
||||
}: Dependencies) => {
|
||||
const { masterNodes, workerNodes } = nodeStore;
|
||||
const { cpuUsage, memoryUsage } = clusterOverviewStore.metrics;
|
||||
const { cpuUsage, memoryUsage } = clusterOverviewStore.metrics ?? {};
|
||||
const hasMasterNodes = masterNodes.length > 0;
|
||||
const hasWorkerNodes = workerNodes.length > 0;
|
||||
const hasCpuMetrics = normalizeMetrics(cpuUsage).data.result[0].values.length > 0;
|
||||
|
||||
@ -26,8 +26,8 @@ interface Dependencies {
|
||||
|
||||
const NonInjectedClusterMetrics = observer(({ clusterOverviewStore: { metricType, metricNodeRole, getMetricsValues, metricsLoaded, metrics }}: Dependencies) => {
|
||||
const [plugins] = useState([new ZebraStripesPlugin()]);
|
||||
const { memoryCapacity, cpuCapacity } = getMetricLastPoints(metrics);
|
||||
const metricValues = getMetricsValues(metrics);
|
||||
const { memoryCapacity, cpuCapacity } = getMetricLastPoints(metrics ?? {});
|
||||
const metricValues = getMetricsValues(metrics ?? {});
|
||||
const colors = { cpu: "#3D90CE", memory: "#C93DCE" };
|
||||
const data = metricValues.map(value => ({
|
||||
x: value[0],
|
||||
|
||||
@ -12,6 +12,7 @@ import clusterApiInjectable from "../../../../common/k8s-api/endpoints/cluster.a
|
||||
import storesAndApisCanBeCreatedInjectable from "../../../stores-apis-can-be-created.injectable";
|
||||
import assert from "assert";
|
||||
import nodeStoreInjectable from "../../+nodes/store.injectable";
|
||||
import requestClusterMetricsByNodeNamesInjectable from "../../../../common/k8s-api/endpoints/metrics.api/get-cluster-metrics-by-node-names.injectable";
|
||||
|
||||
const clusterOverviewStoreInjectable = getInjectable({
|
||||
id: "cluster-overview-store",
|
||||
@ -30,6 +31,7 @@ const clusterOverviewStoreInjectable = getInjectable({
|
||||
},
|
||||
),
|
||||
nodeStore: di.inject(nodeStoreInjectable),
|
||||
requestClusterMetricsByNodeNames: di.inject(requestClusterMetricsByNodeNamesInjectable),
|
||||
}, clusterApi);
|
||||
},
|
||||
injectionToken: kubeObjectStoreInjectionToken,
|
||||
|
||||
@ -37,6 +37,10 @@ interface ClusterOverviewStoreDependencies {
|
||||
export class ClusterOverviewStore extends KubeObjectStore<Cluster, ClusterApi> implements ClusterOverviewStorageState {
|
||||
@observable metrics: ClusterMetricData | undefined = undefined;
|
||||
|
||||
get metricsLoaded() {
|
||||
return !!this.metrics;
|
||||
}
|
||||
|
||||
get metricType(): MetricType {
|
||||
return this.dependencies.storage.get().metricType;
|
||||
}
|
||||
|
||||
@ -105,7 +105,7 @@ class NonInjectedPodDetailsContainer extends React.Component<PodDetailsContainer
|
||||
<StatusBrick className={cssNames(state, { ready })}/>
|
||||
{name}
|
||||
</div>
|
||||
{!isMetricHidden && !isInitContainer && (
|
||||
{(!isMetricHidden && !isInitContainer && metrics) && (
|
||||
<ResourceMetrics
|
||||
object={pod}
|
||||
tabs={[
|
||||
|
||||
@ -22,7 +22,7 @@ export interface ResourceMetricsProps<Keys extends string> {
|
||||
loader?: () => void;
|
||||
interval?: number;
|
||||
className?: string;
|
||||
metrics: Record<Keys, MetricData> | null | undefined;
|
||||
metrics: Partial<Record<Keys, MetricData>> | null | undefined;
|
||||
children: React.ReactChild | React.ReactChild[];
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user