mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Add more file system metrics to the pod and container graphs (#3961)
This commit is contained in:
parent
2148dbda7c
commit
b3723de3ec
@ -110,6 +110,8 @@ export function getMetricsForDaemonSets(daemonsets: DaemonSet[], namespace: stri
|
|||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@ -83,6 +83,8 @@ export function getMetricsForDeployments(deployments: Deployment[], namespace: s
|
|||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@ -133,6 +133,8 @@ export function getMetricsForJobs(jobs: Job[], namespace: string, selector = "")
|
|||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@ -65,6 +65,8 @@ export interface IResourceMetrics<T extends IMetrics> {
|
|||||||
cpuUsage: T;
|
cpuUsage: T;
|
||||||
memoryUsage: T;
|
memoryUsage: T;
|
||||||
fsUsage: T;
|
fsUsage: T;
|
||||||
|
fsWrites: T;
|
||||||
|
fsReads: T;
|
||||||
networkReceive: T;
|
networkReceive: T;
|
||||||
networkTransmit: T;
|
networkTransmit: T;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -63,6 +63,8 @@ export function getMetricsForNamespace(namespace: string, selector = ""): Promis
|
|||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@ -46,6 +46,8 @@ export function getMetricsForPods(pods: Pod[], namespace: string, selector = "po
|
|||||||
memoryRequests: opts,
|
memoryRequests: opts,
|
||||||
memoryLimits: opts,
|
memoryLimits: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
@ -57,7 +59,9 @@ export interface IPodMetrics<T = IMetrics> {
|
|||||||
[metric: string]: T;
|
[metric: string]: T;
|
||||||
cpuUsage: T;
|
cpuUsage: T;
|
||||||
memoryUsage: T;
|
memoryUsage: T;
|
||||||
fsUsage: T;
|
fsUsage: T,
|
||||||
|
fsWrites: T,
|
||||||
|
fsReads: T,
|
||||||
networkReceive: T;
|
networkReceive: T;
|
||||||
networkTransmit: T;
|
networkTransmit: T;
|
||||||
cpuRequests?: T;
|
cpuRequests?: T;
|
||||||
|
|||||||
@ -59,6 +59,8 @@ export function getMetricsForReplicaSets(replicasets: ReplicaSet[], namespace: s
|
|||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@ -62,6 +62,8 @@ export function getMetricsForStatefulSets(statefulSets: StatefulSet[], namespace
|
|||||||
cpuUsage: opts,
|
cpuUsage: opts,
|
||||||
memoryUsage: opts,
|
memoryUsage: opts,
|
||||||
fsUsage: opts,
|
fsUsage: opts,
|
||||||
|
fsWrites: opts,
|
||||||
|
fsReads: opts,
|
||||||
networkReceive: opts,
|
networkReceive: opts,
|
||||||
networkTransmit: opts,
|
networkTransmit: opts,
|
||||||
}, {
|
}, {
|
||||||
|
|||||||
@ -109,6 +109,10 @@ export class PrometheusLens extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{pod=~"${opts.pods}",resource="memory",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
return `sum(kube_pod_container_resource_limits{pod=~"${opts.pods}",resource="memory",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
return `sum(container_fs_usage_bytes{container!="POD",container!="",pod=~"${opts.pods}",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
return `sum(container_fs_usage_bytes{container!="POD",container!="",pod=~"${opts.pods}",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
||||||
|
case "fsWrites":
|
||||||
|
return `sum(rate(container_fs_writes_bytes_total{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
|
case "fsReads":
|
||||||
|
return `sum(rate(container_fs_reads_bytes_total{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
case "networkReceive":
|
case "networkReceive":
|
||||||
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}",namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}",namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
case "networkTransmit":
|
case "networkTransmit":
|
||||||
|
|||||||
@ -109,6 +109,10 @@ export class PrometheusOperator extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{pod=~"${opts.pods}", resource="memory", namespace="${opts.namespace}"}) by (${opts.selector})`;
|
return `sum(kube_pod_container_resource_limits{pod=~"${opts.pods}", resource="memory", namespace="${opts.namespace}"}) by (${opts.selector})`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
return `sum(container_fs_usage_bytes{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}) by (${opts.selector})`;
|
return `sum(container_fs_usage_bytes{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}) by (${opts.selector})`;
|
||||||
|
case "fsWrites":
|
||||||
|
return `sum(rate(container_fs_writes_bytes_total{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
|
case "fsReads":
|
||||||
|
return `sum(rate(container_fs_reads_bytes_total{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
case "networkReceive":
|
case "networkReceive":
|
||||||
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
case "networkTransmit":
|
case "networkTransmit":
|
||||||
|
|||||||
@ -109,6 +109,10 @@ export class PrometheusStacklight extends PrometheusProvider {
|
|||||||
return `sum(kube_pod_container_resource_limits{pod=~"${opts.pods}",resource="memory",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
return `sum(kube_pod_container_resource_limits{pod=~"${opts.pods}",resource="memory",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
||||||
case "fsUsage":
|
case "fsUsage":
|
||||||
return `sum(container_fs_usage_bytes{container!="POD",container!="",pod=~"${opts.pods}",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
return `sum(container_fs_usage_bytes{container!="POD",container!="",pod=~"${opts.pods}",namespace="${opts.namespace}"}) by (${opts.selector})`;
|
||||||
|
case "fsWrites":
|
||||||
|
return `sum(rate(container_fs_writes_bytes_total{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
|
case "fsReads":
|
||||||
|
return `sum(rate(container_fs_reads_bytes_total{container!="", pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
case "networkReceive":
|
case "networkReceive":
|
||||||
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}",namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}",namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||||
case "networkTransmit":
|
case "networkTransmit":
|
||||||
|
|||||||
@ -46,6 +46,8 @@ export const ContainerCharts = observer(() => {
|
|||||||
memoryRequests,
|
memoryRequests,
|
||||||
memoryLimits,
|
memoryLimits,
|
||||||
fsUsage,
|
fsUsage,
|
||||||
|
fsWrites,
|
||||||
|
fsReads
|
||||||
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
|
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
|
||||||
|
|
||||||
const datasets = [
|
const datasets = [
|
||||||
@ -106,6 +108,20 @@ export const ContainerCharts = observer(() => {
|
|||||||
borderColor: "#ffc63d",
|
borderColor: "#ffc63d",
|
||||||
data: fsUsage.map(([x, y]) => ({ x, y })),
|
data: fsUsage.map(([x, y]) => ({ x, y })),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: "fsWrites",
|
||||||
|
label: `Writes`,
|
||||||
|
tooltip: `Bytes written on this filesystem`,
|
||||||
|
borderColor: "#ff963d",
|
||||||
|
data: fsWrites.map(([x, y]) => ({ x, y })),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "fsReads",
|
||||||
|
label: `Reads`,
|
||||||
|
tooltip: `Bytes read on this filesystem`,
|
||||||
|
borderColor: "#fff73d",
|
||||||
|
data: fsReads.map(([x, y]) => ({ x, y })),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,8 @@ export const PodCharts = observer(() => {
|
|||||||
cpuUsage,
|
cpuUsage,
|
||||||
memoryUsage,
|
memoryUsage,
|
||||||
fsUsage,
|
fsUsage,
|
||||||
|
fsWrites,
|
||||||
|
fsReads,
|
||||||
networkReceive,
|
networkReceive,
|
||||||
networkTransmit,
|
networkTransmit,
|
||||||
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
|
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
|
||||||
@ -102,6 +104,20 @@ export const PodCharts = observer(() => {
|
|||||||
borderColor: "#ffc63d",
|
borderColor: "#ffc63d",
|
||||||
data: fsUsage.map(([x, y]) => ({ x, y })),
|
data: fsUsage.map(([x, y]) => ({ x, y })),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
id: `${id}-fsWrites`,
|
||||||
|
label: `Writes`,
|
||||||
|
tooltip: `Bytes written on this filesystem`,
|
||||||
|
borderColor: "#ff963d",
|
||||||
|
data: fsWrites.map(([x, y]) => ({ x, y })),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: `${id}-fsReads`,
|
||||||
|
label: `Reads`,
|
||||||
|
tooltip: `Bytes read on this filesystem`,
|
||||||
|
borderColor: "#fff73d",
|
||||||
|
data: fsReads.map(([x, y]) => ({ x, y })),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user