1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/src/renderer/components/resource-metrics/resource-metrics-text.tsx

35 lines
1.0 KiB
TypeScript

/**
* Copyright (c) OpenLens Authors. All rights reserved.
* Licensed under MIT License. See LICENSE in root directory for more information.
*/
import React from "react";
import type { PodMetricData } from "../../../common/k8s-api/endpoints";
import { getMetricLastPoints } from "../../../common/k8s-api/endpoints/metrics.api";
import { bytesToUnits } from "../../utils";
import { Badge } from "../badge";
import { DrawerItem } from "../drawer";
export interface ResourceMetricsTextProps {
metrics: PodMetricData | null | undefined;
}
export function ResourceMetricsText({ metrics }: ResourceMetricsTextProps) {
if (!metrics) {
return null;
}
const { cpuUsage, memoryUsage } = getMetricLastPoints(metrics);
return (
<>
<DrawerItem name="CPU" labelsOnly>
{cpuUsage > 0 && <Badge label={`Usage: ${cpuUsage.toPrecision(2)}`}/>}
</DrawerItem>
<DrawerItem name="Memory" labelsOnly>
{memoryUsage > 0 && <Badge label={`Usage: ${bytesToUnits(memoryUsage)}`}/>}
</DrawerItem>
</>
);
}