mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Add back total capacity for node resources
Display both Total Capacity and Allocatable Capacity on node and cluster graphs . Signed-off-by: Michael Pappas <mhagen@mapcom.com>
This commit is contained in:
parent
a7851b7420
commit
b6c0c30ebd
@ -53,24 +53,31 @@ export class PrometheusLens implements PrometheusProvider {
|
||||
node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)
|
||||
) by (kubernetes_name)
|
||||
`.replace(/_bytes/g, `_bytes{kubernetes_node=~"${opts.nodes}"}`),
|
||||
workloadMemoryUsage: `sum(container_memory_working_set_bytes{container!="POD",container!="",instance=~"${opts.nodes}"}) by (component)`,
|
||||
memoryRequests: `sum(kube_pod_container_resource_requests{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryLimits: `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
cpuUsage: `sum(rate(node_cpu_seconds_total{kubernetes_node=~"${opts.nodes}", mode=~"user|system"}[${this.rateAccuracy}]))`,
|
||||
cpuRequests:`sum(kube_pod_container_resource_requests{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuLimits: `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
podUsage: `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", instance=~"${opts.nodes}"})`,
|
||||
podCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"}) by (component)`,
|
||||
podAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="pods"}) by (component)`,
|
||||
fsSize: `sum(node_filesystem_size_bytes{kubernetes_node=~"${opts.nodes}", mountpoint="/"}) by (kubernetes_node)`,
|
||||
fsUsage: `sum(node_filesystem_size_bytes{kubernetes_node=~"${opts.nodes}", mountpoint="/"} - node_filesystem_avail_bytes{kubernetes_node=~"${opts.nodes}", mountpoint="/"}) by (kubernetes_node)`
|
||||
};
|
||||
case "nodes":
|
||||
return {
|
||||
memoryUsage: `sum (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_node)`,
|
||||
memoryCapacity: `sum(kube_node_status_allocatable{resource="memory"}) by (node)`,
|
||||
workloadMemoryUsage: `sum(container_memory_working_set_bytes{container!="POD",container!=""}) by (instance)`,
|
||||
memoryCapacity: `sum(kube_node_status_capacity{resource="memory"}) by (node)`,
|
||||
memoryAllocatableCapacity: `sum(kube_node_status_allocatable{resource="memory"}) by (node)`,
|
||||
cpuUsage: `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])) by(kubernetes_node)`,
|
||||
cpuCapacity: `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`,
|
||||
cpuCapacity: `sum(kube_node_status_capacity{resource="cpu"}) by (node)`,
|
||||
cpuAllocatableCapacity: `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`,
|
||||
fsSize: `sum(node_filesystem_size_bytes{mountpoint="/"}) by (kubernetes_node)`,
|
||||
fsUsage: `sum(node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_avail_bytes{mountpoint="/"}) by (kubernetes_node)`
|
||||
};
|
||||
|
||||
@ -63,24 +63,31 @@ export class PrometheusOperator implements PrometheusProvider {
|
||||
node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)
|
||||
)
|
||||
`.replace(/_bytes/g, `_bytes * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"}`),
|
||||
workloadMemoryUsage: `sum(container_memory_working_set_bytes{container!="POD",container!="",instance=~"${opts.nodes}"}) by (component)`,
|
||||
memoryRequests: `sum(kube_pod_container_resource_requests{node=~"${opts.nodes}", resource="memory"})`,
|
||||
memoryLimits: `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"})`,
|
||||
memoryCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"})`,
|
||||
memoryCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"})`,
|
||||
memoryAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"})`,
|
||||
cpuUsage: `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])* on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`,
|
||||
cpuRequests:`sum(kube_pod_container_resource_requests{node=~"${opts.nodes}", resource="cpu"})`,
|
||||
cpuLimits: `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"})`,
|
||||
cpuCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"})`,
|
||||
cpuCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"})`,
|
||||
cpuAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"})`,
|
||||
podUsage: `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", node=~"${opts.nodes}"})`,
|
||||
podCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"})`,
|
||||
podAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="pods"})`,
|
||||
fsSize: `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`,
|
||||
fsUsage: `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"} - node_filesystem_avail_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`
|
||||
};
|
||||
case "nodes":
|
||||
return {
|
||||
memoryUsage: `sum((node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) * on (pod,namespace) group_left(node) kube_pod_info) by (node)`,
|
||||
memoryCapacity: `sum(kube_node_status_allocatable{resource="memory"}) by (node)`,
|
||||
workloadMemoryUsage: `sum(container_memory_working_set_bytes{container!="POD",container!=""}) by (instance)`,
|
||||
memoryCapacity: `sum(kube_node_status_capacity{resource="memory"}) by (node)`,
|
||||
memoryAllocatableCapacity: `sum(kube_node_status_allocatable{resource="memory"}) by (node)`,
|
||||
cpuUsage: `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}]) * on (pod,namespace) group_left(node) kube_pod_info) by (node)`,
|
||||
cpuCapacity: `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`,
|
||||
cpuCapacity: `sum(kube_node_status_capacity{resource="cpu"}) by (node)`,
|
||||
cpuAllocatableCapacity: `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`,
|
||||
fsSize: `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info) by (node)`,
|
||||
fsUsage: `sum((node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_avail_bytes{mountpoint="/"}) * on (pod,namespace) group_left(node) kube_pod_info) by (node)`
|
||||
};
|
||||
|
||||
@ -23,22 +23,29 @@ import type { CoreV1Api } from "@kubernetes/client-node";
|
||||
|
||||
export type PrometheusClusterQuery = {
|
||||
memoryUsage: string;
|
||||
workloadMemoryUsage: string;
|
||||
memoryRequests: string;
|
||||
memoryLimits: string;
|
||||
memoryCapacity: string;
|
||||
memoryAllocatableCapacity: string;
|
||||
cpuUsage: string;
|
||||
cpuRequests: string;
|
||||
cpuLimits: string;
|
||||
cpuCapacity: string;
|
||||
cpuAllocatableCapacity: string;
|
||||
podUsage: string;
|
||||
podCapacity: string;
|
||||
podAllocatableCapacity: string;
|
||||
};
|
||||
|
||||
export type PrometheusNodeQuery = {
|
||||
memoryUsage: string;
|
||||
workloadMemoryUsage: string;
|
||||
memoryCapacity: string;
|
||||
memoryAllocatableCapacity: string;
|
||||
cpuUsage: string;
|
||||
cpuCapacity: string;
|
||||
cpuAllocatableCapacity: string;
|
||||
fsSize: string;
|
||||
fsUsage: string;
|
||||
};
|
||||
|
||||
@ -53,24 +53,31 @@ export class PrometheusStacklight implements PrometheusProvider {
|
||||
node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)
|
||||
) by (kubernetes_name)
|
||||
`.replace(/_bytes/g, `_bytes{node=~"${opts.nodes}"}`),
|
||||
workloadMemoryUsage: `sum(container_memory_working_set_bytes{container!="POD",container!="",instance=~"${opts.nodes}"}) by (component)`,
|
||||
memoryRequests: `sum(kube_pod_container_resource_requests{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryLimits: `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
memoryAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"}) by (component)`,
|
||||
cpuUsage: `sum(rate(node_cpu_seconds_total{node=~"${opts.nodes}", mode=~"user|system"}[${this.rateAccuracy}]))`,
|
||||
cpuRequests:`sum(kube_pod_container_resource_requests{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuLimits: `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
cpuAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"}) by (component)`,
|
||||
podUsage: `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", instance=~"${opts.nodes}"})`,
|
||||
podCapacity: `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"}) by (component)`,
|
||||
podAllocatableCapacity: `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="pods"}) by (component)`,
|
||||
fsSize: `sum(node_filesystem_size_bytes{node=~"${opts.nodes}", mountpoint="/"}) by (node)`,
|
||||
fsUsage: `sum(node_filesystem_size_bytes{node=~"${opts.nodes}", mountpoint="/"} - node_filesystem_avail_bytes{node=~"${opts.nodes}", mountpoint="/"}) by (node)`
|
||||
};
|
||||
case "nodes":
|
||||
return {
|
||||
memoryUsage: `sum (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (node)`,
|
||||
memoryCapacity: `sum(kube_node_status_allocatable{resource="memory"}) by (node)`,
|
||||
workloadMemoryUsage: `sum(container_memory_working_set_bytes{container!="POD",container!=""}) by (instance)`,
|
||||
memoryCapacity: `sum(kube_node_status_capacity{resource="memory"}) by (node)`,
|
||||
memoryAllocatableCapacity: `sum(kube_node_status_allocatable{resource="memory"}) by (node)`,
|
||||
cpuUsage: `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])) by(node)`,
|
||||
cpuCapacity: `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`,
|
||||
cpuCapacity: `sum(kube_node_status_capacity{resource="cpu"}) by (node)`,
|
||||
cpuAllocatableCapacity: `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`,
|
||||
fsSize: `sum(node_filesystem_size_bytes{mountpoint="/"}) by (node)`,
|
||||
fsUsage: `sum(node_filesystem_size_bytes{mountpoint="/"} - node_filesystem_avail_bytes{mountpoint="/"}) by (node)`
|
||||
};
|
||||
|
||||
@ -33,15 +33,19 @@ export class ClusterApi extends KubeApi<Cluster> {
|
||||
|
||||
return metricsApi.getMetrics({
|
||||
memoryUsage: opts,
|
||||
workloadMemoryUsage: opts,
|
||||
memoryRequests: opts,
|
||||
memoryLimits: opts,
|
||||
memoryCapacity: opts,
|
||||
memoryAllocatableCapacity: opts,
|
||||
cpuUsage: opts,
|
||||
cpuRequests: opts,
|
||||
cpuLimits: opts,
|
||||
cpuCapacity: opts,
|
||||
cpuAllocatableCapacity: opts,
|
||||
podUsage: opts,
|
||||
podCapacity: opts,
|
||||
podAllocatableCapacity: opts,
|
||||
fsSize: opts,
|
||||
fsUsage: opts
|
||||
}, params);
|
||||
|
||||
@ -30,7 +30,9 @@ export class NodesApi extends KubeApi<Node> {
|
||||
|
||||
return metricsApi.getMetrics({
|
||||
memoryUsage: opts,
|
||||
workloadMemoryUsage: opts,
|
||||
memoryCapacity: opts,
|
||||
memoryAllocatableCapacity: opts,
|
||||
cpuUsage: opts,
|
||||
cpuCapacity: opts,
|
||||
fsSize: opts,
|
||||
@ -42,7 +44,9 @@ export class NodesApi extends KubeApi<Node> {
|
||||
export interface INodeMetrics<T = IMetrics> {
|
||||
[metric: string]: T;
|
||||
memoryUsage: T;
|
||||
workloadMemoryUsage: T;
|
||||
memoryCapacity: T;
|
||||
memoryAllocatableCapacity: T;
|
||||
cpuUsage: T;
|
||||
cpuCapacity: T;
|
||||
fsUsage: T;
|
||||
|
||||
@ -45,20 +45,20 @@ export const ClusterPieCharts = observer(() => {
|
||||
|
||||
const renderCharts = () => {
|
||||
const data = getMetricLastPoints(clusterOverviewStore.metrics);
|
||||
const { memoryUsage, memoryRequests, memoryCapacity, memoryLimits } = data;
|
||||
const { cpuUsage, cpuRequests, cpuCapacity, cpuLimits } = data;
|
||||
const { podUsage, podCapacity } = data;
|
||||
const cpuLimitsOverload = cpuLimits > cpuCapacity;
|
||||
const memoryLimitsOverload = memoryLimits > memoryCapacity;
|
||||
const { memoryUsage, memoryRequests, memoryAllocatableCapacity, memoryCapacity, memoryLimits } = data;
|
||||
const { cpuUsage, cpuRequests, cpuAllocatableCapacity, cpuCapacity, cpuLimits } = data;
|
||||
const { podUsage, podAllocatableCapacity, podCapacity } = data;
|
||||
const cpuLimitsOverload = cpuLimits > cpuAllocatableCapacity;
|
||||
const memoryLimitsOverload = memoryLimits > memoryAllocatableCapacity;
|
||||
const defaultColor = ThemeStore.getInstance().activeTheme.colors.pieChartDefaultColor;
|
||||
|
||||
if (!memoryCapacity || !cpuCapacity || !podCapacity) return null;
|
||||
|
||||
if (!memoryCapacity || !cpuCapacity || !podCapacity || !memoryAllocatableCapacity || !cpuAllocatableCapacity || !podAllocatableCapacity) return null;
|
||||
const cpuData: ChartData = {
|
||||
datasets: [
|
||||
{
|
||||
data: [
|
||||
cpuUsage,
|
||||
cpuUsage ? cpuCapacity - cpuUsage : 1,
|
||||
cpuUsage ? cpuAllocatableCapacity - cpuUsage : 1,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#c93dce",
|
||||
@ -69,7 +69,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
{
|
||||
data: [
|
||||
cpuRequests,
|
||||
cpuRequests ? cpuCapacity - cpuRequests : 1,
|
||||
cpuRequests ? cpuAllocatableCapacity - cpuRequests : 1,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#4caf50",
|
||||
@ -80,7 +80,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
{
|
||||
data: [
|
||||
cpuLimits,
|
||||
cpuLimitsOverload ? 0 : cpuCapacity - cpuLimits,
|
||||
cpuLimitsOverload ? 0 : cpuAllocatableCapacity - cpuLimits,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#3d90ce",
|
||||
@ -93,6 +93,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
`Usage: ${cpuUsage ? cpuUsage.toFixed(2) : "N/A"}`,
|
||||
`Requests: ${cpuRequests ? cpuRequests.toFixed(2) : "N/A"}`,
|
||||
`Limits: ${cpuLimits ? cpuLimits.toFixed(2) : "N/A"}`,
|
||||
`Allocatable Capacity: ${cpuAllocatableCapacity || "N/A"}`,
|
||||
`Capacity: ${cpuCapacity || "N/A"}`
|
||||
]
|
||||
};
|
||||
@ -101,7 +102,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
{
|
||||
data: [
|
||||
memoryUsage,
|
||||
memoryUsage ? memoryCapacity - memoryUsage : 1,
|
||||
memoryUsage ? memoryAllocatableCapacity - memoryUsage : 1,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#c93dce",
|
||||
@ -112,7 +113,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
{
|
||||
data: [
|
||||
memoryRequests,
|
||||
memoryRequests ? memoryCapacity - memoryRequests : 1,
|
||||
memoryRequests ? memoryAllocatableCapacity - memoryRequests : 1,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#4caf50",
|
||||
@ -123,7 +124,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
{
|
||||
data: [
|
||||
memoryLimits,
|
||||
memoryLimitsOverload ? 0 : memoryCapacity - memoryLimits,
|
||||
memoryLimitsOverload ? 0 : memoryAllocatableCapacity - memoryLimits,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#3d90ce",
|
||||
@ -136,7 +137,8 @@ export const ClusterPieCharts = observer(() => {
|
||||
`Usage: ${bytesToUnits(memoryUsage)}`,
|
||||
`Requests: ${bytesToUnits(memoryRequests)}`,
|
||||
`Limits: ${bytesToUnits(memoryLimits)}`,
|
||||
`Capacity: ${bytesToUnits(memoryCapacity)}`,
|
||||
`Allocatable Capacity: ${bytesToUnits(memoryAllocatableCapacity)}`,
|
||||
`Capacity: ${bytesToUnits(memoryCapacity)}`
|
||||
]
|
||||
};
|
||||
const podsData: ChartData = {
|
||||
@ -144,7 +146,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
{
|
||||
data: [
|
||||
podUsage,
|
||||
podUsage ? podCapacity - podUsage : 1,
|
||||
podUsage ? podAllocatableCapacity - podUsage : 1,
|
||||
],
|
||||
backgroundColor: [
|
||||
"#4caf50",
|
||||
@ -155,7 +157,7 @@ export const ClusterPieCharts = observer(() => {
|
||||
],
|
||||
labels: [
|
||||
`Usage: ${podUsage || 0}`,
|
||||
`Capacity: ${podCapacity}`,
|
||||
`Capacity: ${podAllocatableCapacity}`,
|
||||
]
|
||||
};
|
||||
|
||||
|
||||
@ -47,8 +47,10 @@ export const NodeCharts = observer(() => {
|
||||
|
||||
const {
|
||||
memoryUsage,
|
||||
workloadMemoryUsage,
|
||||
memoryRequests,
|
||||
memoryCapacity,
|
||||
memoryAllocatableCapacity,
|
||||
cpuUsage,
|
||||
cpuRequests,
|
||||
cpuCapacity,
|
||||
@ -92,6 +94,13 @@ export const NodeCharts = observer(() => {
|
||||
borderColor: "#c93dce",
|
||||
data: memoryUsage.map(([x, y]) => ({ x, y }))
|
||||
},
|
||||
{
|
||||
id: `${id}-workloadMemoryUsage`,
|
||||
label: `Workload Memory Usage`,
|
||||
tooltip: `Workload memory usage`,
|
||||
borderColor: "#9cd3ce",
|
||||
data: workloadMemoryUsage.map(([x, y]) => ({ x, y }))
|
||||
},
|
||||
{
|
||||
id: "memoryRequests",
|
||||
label: `Requests`,
|
||||
@ -99,6 +108,13 @@ export const NodeCharts = observer(() => {
|
||||
borderColor: "#30b24d",
|
||||
data: memoryRequests.map(([x, y]) => ({ x, y }))
|
||||
},
|
||||
{
|
||||
id: `${id}-memoryAllocatableCapacity`,
|
||||
label: `Allocatable Capacity`,
|
||||
tooltip: `Memory allocatable capacity`,
|
||||
borderColor: "#032b4d",
|
||||
data: memoryAllocatableCapacity.map(([x, y]) => ({ x, y }))
|
||||
},
|
||||
{
|
||||
id: `${id}-memoryCapacity`,
|
||||
label: `Capacity`,
|
||||
@ -148,7 +164,7 @@ export const NodeCharts = observer(() => {
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
callback: value => value
|
||||
}
|
||||
}
|
||||
}]
|
||||
},
|
||||
tooltips: {
|
||||
|
||||
@ -90,7 +90,7 @@ export class Nodes extends React.Component<Props> {
|
||||
}
|
||||
|
||||
renderMemoryUsage(node: Node) {
|
||||
const metrics = nodesStore.getLastMetricValues(node, ["memoryUsage", "memoryCapacity"]);
|
||||
const metrics = nodesStore.getLastMetricValues(node, ["workloadMemoryUsage", "memoryAllocatableCapacity"]);
|
||||
|
||||
if (!metrics || !metrics[1]) return <LineProgress value={0}/>;
|
||||
const usage = metrics[0];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user