mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Merge branch 'allocatable'
Signed-off-by: Jon Stelly <967068+jonstelly@users.noreply.github.com>
This commit is contained in:
commit
fdab33d244
@ -60,6 +60,8 @@ export class PrometheusLens extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
||||||
case "memoryCapacity":
|
case "memoryCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
||||||
|
case "memoryAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
||||||
case "cpuUsage":
|
case "cpuUsage":
|
||||||
return `sum(rate(node_cpu_seconds_total{kubernetes_node=~"${opts.nodes}", mode=~"user|system"}[${this.rateAccuracy}]))`;
|
return `sum(rate(node_cpu_seconds_total{kubernetes_node=~"${opts.nodes}", mode=~"user|system"}[${this.rateAccuracy}]))`;
|
||||||
case "cpuRequests":
|
case "cpuRequests":
|
||||||
@ -68,10 +70,14 @@ export class PrometheusLens extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
||||||
case "cpuCapacity":
|
case "cpuCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
||||||
|
case "cpuAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
||||||
case "podUsage":
|
case "podUsage":
|
||||||
return `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", instance=~"${opts.nodes}"})`;
|
return `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", instance=~"${opts.nodes}"})`;
|
||||||
case "podCapacity":
|
case "podCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"}) by (component)`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"}) by (component)`;
|
||||||
|
case "podAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="pods"}) by (component)`;
|
||||||
case "fsSize":
|
case "fsSize":
|
||||||
return `sum(node_filesystem_size_bytes{kubernetes_node=~"${opts.nodes}", mountpoint="/"}) by (kubernetes_node)`;
|
return `sum(node_filesystem_size_bytes{kubernetes_node=~"${opts.nodes}", mountpoint="/"}) by (kubernetes_node)`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
@ -84,10 +90,14 @@ export class PrometheusLens extends PrometheusProvider {
|
|||||||
return `sum (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_node)`;
|
return `sum (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (kubernetes_node)`;
|
||||||
case "memoryCapacity":
|
case "memoryCapacity":
|
||||||
return `sum(kube_node_status_capacity{resource="memory"}) by (node)`;
|
return `sum(kube_node_status_capacity{resource="memory"}) by (node)`;
|
||||||
|
case "memoryAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{resource="memory"}) by (node)`;
|
||||||
case "cpuUsage":
|
case "cpuUsage":
|
||||||
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])) by(kubernetes_node)`;
|
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])) by(kubernetes_node)`;
|
||||||
case "cpuCapacity":
|
case "cpuCapacity":
|
||||||
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
||||||
|
case "cpuAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
||||||
case "fsSize":
|
case "fsSize":
|
||||||
return `sum(node_filesystem_size_bytes{mountpoint="/"}) by (kubernetes_node)`;
|
return `sum(node_filesystem_size_bytes{mountpoint="/"}) by (kubernetes_node)`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
|
|||||||
@ -45,6 +45,8 @@ export class PrometheusOperator extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"})`;
|
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"})`;
|
||||||
case "memoryCapacity":
|
case "memoryCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"})`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"})`;
|
||||||
|
case "memoryAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"})`;
|
||||||
case "cpuUsage":
|
case "cpuUsage":
|
||||||
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])* on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`;
|
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])* on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`;
|
||||||
case "cpuRequests":
|
case "cpuRequests":
|
||||||
@ -53,10 +55,14 @@ export class PrometheusOperator extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"})`;
|
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"})`;
|
||||||
case "cpuCapacity":
|
case "cpuCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"})`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"})`;
|
||||||
|
case "cpuAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"})`;
|
||||||
case "podUsage":
|
case "podUsage":
|
||||||
return `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", node=~"${opts.nodes}"})`;
|
return `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", node=~"${opts.nodes}"})`;
|
||||||
case "podCapacity":
|
case "podCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"})`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"})`;
|
||||||
|
case "podAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="pods"})`;
|
||||||
case "fsSize":
|
case "fsSize":
|
||||||
return `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`;
|
return `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info{node=~"${opts.nodes}"})`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
@ -69,10 +75,14 @@ export class PrometheusOperator extends PrometheusProvider {
|
|||||||
return `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)`;
|
return `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)`;
|
||||||
case "memoryCapacity":
|
case "memoryCapacity":
|
||||||
return `sum(kube_node_status_capacity{resource="memory"}) by (node)`;
|
return `sum(kube_node_status_capacity{resource="memory"}) by (node)`;
|
||||||
|
case "memoryAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{resource="memory"}) by (node)`;
|
||||||
case "cpuUsage":
|
case "cpuUsage":
|
||||||
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}]) * on (pod,namespace) group_left(node) kube_pod_info) by (node)`;
|
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}]) * on (pod,namespace) group_left(node) kube_pod_info) by (node)`;
|
||||||
case "cpuCapacity":
|
case "cpuCapacity":
|
||||||
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
||||||
|
case "cpuAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
||||||
case "fsSize":
|
case "fsSize":
|
||||||
return `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info) by (node)`;
|
return `sum(node_filesystem_size_bytes{mountpoint="/"} * on (pod,namespace) group_left(node) kube_pod_info) by (node)`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
|
|||||||
@ -60,6 +60,8 @@ export class PrometheusStacklight extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
||||||
case "memoryCapacity":
|
case "memoryCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
||||||
|
case "memoryAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="memory"}) by (component)`;
|
||||||
case "cpuUsage":
|
case "cpuUsage":
|
||||||
return `sum(rate(node_cpu_seconds_total{node=~"${opts.nodes}", mode=~"user|system"}[${this.rateAccuracy}]))`;
|
return `sum(rate(node_cpu_seconds_total{node=~"${opts.nodes}", mode=~"user|system"}[${this.rateAccuracy}]))`;
|
||||||
case "cpuRequests":
|
case "cpuRequests":
|
||||||
@ -68,10 +70,14 @@ export class PrometheusStacklight extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
return `sum(kube_pod_container_resource_limits{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
||||||
case "cpuCapacity":
|
case "cpuCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
||||||
|
case "cpuAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="cpu"}) by (component)`;
|
||||||
case "podUsage":
|
case "podUsage":
|
||||||
return `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", instance=~"${opts.nodes}"})`;
|
return `sum({__name__=~"kubelet_running_pod_count|kubelet_running_pods", instance=~"${opts.nodes}"})`;
|
||||||
case "podCapacity":
|
case "podCapacity":
|
||||||
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"}) by (component)`;
|
return `sum(kube_node_status_capacity{node=~"${opts.nodes}", resource="pods"}) by (component)`;
|
||||||
|
case "podAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{node=~"${opts.nodes}", resource="pods"}) by (component)`;
|
||||||
case "fsSize":
|
case "fsSize":
|
||||||
return `sum(node_filesystem_size_bytes{node=~"${opts.nodes}", mountpoint="/"}) by (node)`;
|
return `sum(node_filesystem_size_bytes{node=~"${opts.nodes}", mountpoint="/"}) by (node)`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
@ -84,10 +90,14 @@ export class PrometheusStacklight extends PrometheusProvider {
|
|||||||
return `sum (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (node)`;
|
return `sum (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes)) by (node)`;
|
||||||
case "memoryCapacity":
|
case "memoryCapacity":
|
||||||
return `sum(kube_node_status_capacity{resource="memory"}) by (node)`;
|
return `sum(kube_node_status_capacity{resource="memory"}) by (node)`;
|
||||||
|
case "memoryAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{resource="memory"}) by (node)`;
|
||||||
case "cpuUsage":
|
case "cpuUsage":
|
||||||
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])) by(node)`;
|
return `sum(rate(node_cpu_seconds_total{mode=~"user|system"}[${this.rateAccuracy}])) by(node)`;
|
||||||
case "cpuCapacity":
|
case "cpuCapacity":
|
||||||
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
||||||
|
case "cpuAllocatableCapacity":
|
||||||
|
return `sum(kube_node_status_allocatable{resource="cpu"}) by (node)`;
|
||||||
case "fsSize":
|
case "fsSize":
|
||||||
return `sum(node_filesystem_size_bytes{mountpoint="/"}) by (node)`;
|
return `sum(node_filesystem_size_bytes{mountpoint="/"}) by (node)`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
|
|||||||
@ -33,15 +33,19 @@ export class ClusterApi extends KubeApi<Cluster> {
|
|||||||
|
|
||||||
return metricsApi.getMetrics({
|
return metricsApi.getMetrics({
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
|
workloadMemoryUsage: opts,
|
||||||
memoryRequests: opts,
|
memoryRequests: opts,
|
||||||
memoryLimits: opts,
|
memoryLimits: opts,
|
||||||
memoryCapacity: opts,
|
memoryCapacity: opts,
|
||||||
|
memoryAllocatableCapacity: opts,
|
||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
cpuRequests: opts,
|
cpuRequests: opts,
|
||||||
cpuLimits: opts,
|
cpuLimits: opts,
|
||||||
cpuCapacity: opts,
|
cpuCapacity: opts,
|
||||||
|
cpuAllocatableCapacity: opts,
|
||||||
podUsage: opts,
|
podUsage: opts,
|
||||||
podCapacity: opts,
|
podCapacity: opts,
|
||||||
|
podAllocatableCapacity: opts,
|
||||||
fsSize: opts,
|
fsSize: opts,
|
||||||
fsUsage: opts
|
fsUsage: opts
|
||||||
}, params);
|
}, params);
|
||||||
|
|||||||
@ -31,7 +31,9 @@ export class NodesApi extends KubeApi<Node> {
|
|||||||
|
|
||||||
return metricsApi.getMetrics({
|
return metricsApi.getMetrics({
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
|
workloadMemoryUsage: opts,
|
||||||
memoryCapacity: opts,
|
memoryCapacity: opts,
|
||||||
|
memoryAllocatableCapacity: opts,
|
||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
cpuCapacity: opts,
|
cpuCapacity: opts,
|
||||||
fsSize: opts,
|
fsSize: opts,
|
||||||
@ -43,7 +45,9 @@ export class NodesApi extends KubeApi<Node> {
|
|||||||
export interface INodeMetrics<T = IMetrics> {
|
export interface INodeMetrics<T = IMetrics> {
|
||||||
[metric: string]: T;
|
[metric: string]: T;
|
||||||
memoryUsage: T;
|
memoryUsage: T;
|
||||||
|
workloadMemoryUsage: T;
|
||||||
memoryCapacity: T;
|
memoryCapacity: T;
|
||||||
|
memoryAllocatableCapacity: T;
|
||||||
cpuUsage: T;
|
cpuUsage: T;
|
||||||
cpuCapacity: T;
|
cpuCapacity: T;
|
||||||
fsUsage: T;
|
fsUsage: T;
|
||||||
|
|||||||
@ -45,20 +45,20 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
|
|
||||||
const renderCharts = () => {
|
const renderCharts = () => {
|
||||||
const data = getMetricLastPoints(clusterOverviewStore.metrics);
|
const data = getMetricLastPoints(clusterOverviewStore.metrics);
|
||||||
const { memoryUsage, memoryRequests, memoryCapacity, memoryLimits } = data;
|
const { memoryUsage, memoryRequests, memoryAllocatableCapacity, memoryCapacity, memoryLimits } = data;
|
||||||
const { cpuUsage, cpuRequests, cpuCapacity, cpuLimits } = data;
|
const { cpuUsage, cpuRequests, cpuAllocatableCapacity, cpuCapacity, cpuLimits } = data;
|
||||||
const { podUsage, podCapacity } = data;
|
const { podUsage, podAllocatableCapacity, podCapacity } = data;
|
||||||
const cpuLimitsOverload = cpuLimits > cpuCapacity;
|
const cpuLimitsOverload = cpuLimits > cpuAllocatableCapacity;
|
||||||
const memoryLimitsOverload = memoryLimits > memoryCapacity;
|
const memoryLimitsOverload = memoryLimits > memoryAllocatableCapacity;
|
||||||
const defaultColor = ThemeStore.getInstance().activeTheme.colors.pieChartDefaultColor;
|
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 = {
|
const cpuData: ChartData = {
|
||||||
datasets: [
|
datasets: [
|
||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
cpuUsage,
|
cpuUsage,
|
||||||
cpuUsage ? cpuCapacity - cpuUsage : 1,
|
cpuUsage ? cpuAllocatableCapacity - cpuUsage : 1,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#c93dce",
|
"#c93dce",
|
||||||
@ -70,7 +70,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
cpuRequests,
|
cpuRequests,
|
||||||
cpuRequests ? cpuCapacity - cpuRequests : 1,
|
cpuRequests ? cpuAllocatableCapacity - cpuRequests : 1,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#4caf50",
|
"#4caf50",
|
||||||
@ -82,7 +82,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
cpuLimits,
|
cpuLimits,
|
||||||
cpuLimitsOverload ? 0 : cpuCapacity - cpuLimits,
|
cpuLimitsOverload ? 0 : cpuAllocatableCapacity - cpuLimits,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#3d90ce",
|
"#3d90ce",
|
||||||
@ -96,6 +96,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
`Usage: ${cpuUsage ? cpuUsage.toFixed(2) : "N/A"}`,
|
`Usage: ${cpuUsage ? cpuUsage.toFixed(2) : "N/A"}`,
|
||||||
`Requests: ${cpuRequests ? cpuRequests.toFixed(2) : "N/A"}`,
|
`Requests: ${cpuRequests ? cpuRequests.toFixed(2) : "N/A"}`,
|
||||||
`Limits: ${cpuLimits ? cpuLimits.toFixed(2) : "N/A"}`,
|
`Limits: ${cpuLimits ? cpuLimits.toFixed(2) : "N/A"}`,
|
||||||
|
`Allocatable Capacity: ${cpuAllocatableCapacity || "N/A"}`,
|
||||||
`Capacity: ${cpuCapacity || "N/A"}`
|
`Capacity: ${cpuCapacity || "N/A"}`
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@ -104,7 +105,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
memoryUsage,
|
memoryUsage,
|
||||||
memoryUsage ? memoryCapacity - memoryUsage : 1,
|
memoryUsage ? memoryAllocatableCapacity - memoryUsage : 1,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#c93dce",
|
"#c93dce",
|
||||||
@ -116,7 +117,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
memoryRequests,
|
memoryRequests,
|
||||||
memoryRequests ? memoryCapacity - memoryRequests : 1,
|
memoryRequests ? memoryAllocatableCapacity - memoryRequests : 1,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#4caf50",
|
"#4caf50",
|
||||||
@ -128,7 +129,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
memoryLimits,
|
memoryLimits,
|
||||||
memoryLimitsOverload ? 0 : memoryCapacity - memoryLimits,
|
memoryLimitsOverload ? 0 : memoryAllocatableCapacity - memoryLimits,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#3d90ce",
|
"#3d90ce",
|
||||||
@ -142,7 +143,8 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
`Usage: ${bytesToUnits(memoryUsage)}`,
|
`Usage: ${bytesToUnits(memoryUsage)}`,
|
||||||
`Requests: ${bytesToUnits(memoryRequests)}`,
|
`Requests: ${bytesToUnits(memoryRequests)}`,
|
||||||
`Limits: ${bytesToUnits(memoryLimits)}`,
|
`Limits: ${bytesToUnits(memoryLimits)}`,
|
||||||
`Capacity: ${bytesToUnits(memoryCapacity)}`,
|
`Allocatable Capacity: ${bytesToUnits(memoryAllocatableCapacity)}`,
|
||||||
|
`Capacity: ${bytesToUnits(memoryCapacity)}`
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
const podsData: ChartData = {
|
const podsData: ChartData = {
|
||||||
@ -150,7 +152,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
{
|
{
|
||||||
data: [
|
data: [
|
||||||
podUsage,
|
podUsage,
|
||||||
podUsage ? podCapacity - podUsage : 1,
|
podUsage ? podAllocatableCapacity - podUsage : 1,
|
||||||
],
|
],
|
||||||
backgroundColor: [
|
backgroundColor: [
|
||||||
"#4caf50",
|
"#4caf50",
|
||||||
@ -162,7 +164,7 @@ export const ClusterPieCharts = observer(() => {
|
|||||||
],
|
],
|
||||||
labels: [
|
labels: [
|
||||||
`Usage: ${podUsage || 0}`,
|
`Usage: ${podUsage || 0}`,
|
||||||
`Capacity: ${podCapacity}`,
|
`Capacity: ${podAllocatableCapacity}`,
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -47,8 +47,10 @@ export const NodeCharts = observer(() => {
|
|||||||
|
|
||||||
const {
|
const {
|
||||||
memoryUsage,
|
memoryUsage,
|
||||||
|
workloadMemoryUsage,
|
||||||
memoryRequests,
|
memoryRequests,
|
||||||
memoryCapacity,
|
memoryCapacity,
|
||||||
|
memoryAllocatableCapacity,
|
||||||
cpuUsage,
|
cpuUsage,
|
||||||
cpuRequests,
|
cpuRequests,
|
||||||
cpuCapacity,
|
cpuCapacity,
|
||||||
@ -92,6 +94,13 @@ export const NodeCharts = observer(() => {
|
|||||||
borderColor: "#c93dce",
|
borderColor: "#c93dce",
|
||||||
data: memoryUsage.map(([x, y]) => ({ x, y }))
|
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",
|
id: "memoryRequests",
|
||||||
label: `Requests`,
|
label: `Requests`,
|
||||||
@ -99,6 +108,13 @@ export const NodeCharts = observer(() => {
|
|||||||
borderColor: "#30b24d",
|
borderColor: "#30b24d",
|
||||||
data: memoryRequests.map(([x, y]) => ({ x, y }))
|
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`,
|
id: `${id}-memoryCapacity`,
|
||||||
label: `Capacity`,
|
label: `Capacity`,
|
||||||
@ -148,7 +164,7 @@ export const NodeCharts = observer(() => {
|
|||||||
yAxes: [{
|
yAxes: [{
|
||||||
ticks: {
|
ticks: {
|
||||||
callback: value => value
|
callback: value => value
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
tooltips: {
|
tooltips: {
|
||||||
|
|||||||
@ -97,7 +97,7 @@ export class Nodes extends React.Component<Props> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderMemoryUsage(node: Node) {
|
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}/>;
|
if (!metrics || !metrics[1]) return <LineProgress value={0}/>;
|
||||||
const usage = metrics[0];
|
const usage = metrics[0];
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user