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,
|
||||
memoryUsage: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: opts,
|
||||
networkTransmit: opts,
|
||||
}, {
|
||||
|
||||
@ -83,6 +83,8 @@ export function getMetricsForDeployments(deployments: Deployment[], namespace: s
|
||||
cpuUsage: opts,
|
||||
memoryUsage: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: opts,
|
||||
networkTransmit: opts,
|
||||
}, {
|
||||
|
||||
@ -133,6 +133,8 @@ export function getMetricsForJobs(jobs: Job[], namespace: string, selector = "")
|
||||
cpuUsage: opts,
|
||||
memoryUsage: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: opts,
|
||||
networkTransmit: opts,
|
||||
}, {
|
||||
|
||||
@ -65,6 +65,8 @@ export interface IResourceMetrics<T extends IMetrics> {
|
||||
cpuUsage: T;
|
||||
memoryUsage: T;
|
||||
fsUsage: T;
|
||||
fsWrites: T;
|
||||
fsReads: T;
|
||||
networkReceive: T;
|
||||
networkTransmit: T;
|
||||
}
|
||||
|
||||
@ -63,6 +63,8 @@ export function getMetricsForNamespace(namespace: string, selector = ""): Promis
|
||||
cpuUsage: opts,
|
||||
memoryUsage: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: opts,
|
||||
networkTransmit: opts,
|
||||
}, {
|
||||
|
||||
@ -46,6 +46,8 @@ export function getMetricsForPods(pods: Pod[], namespace: string, selector = "po
|
||||
memoryRequests: opts,
|
||||
memoryLimits: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: opts,
|
||||
networkTransmit: opts,
|
||||
}, {
|
||||
@ -57,7 +59,9 @@ export interface IPodMetrics<T = IMetrics> {
|
||||
[metric: string]: T;
|
||||
cpuUsage: T;
|
||||
memoryUsage: T;
|
||||
fsUsage: T;
|
||||
fsUsage: T,
|
||||
fsWrites: T,
|
||||
fsReads: T,
|
||||
networkReceive: T;
|
||||
networkTransmit: T;
|
||||
cpuRequests?: T;
|
||||
|
||||
@ -59,6 +59,8 @@ export function getMetricsForReplicaSets(replicasets: ReplicaSet[], namespace: s
|
||||
cpuUsage: opts,
|
||||
memoryUsage: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: opts,
|
||||
networkTransmit: opts,
|
||||
}, {
|
||||
|
||||
@ -62,6 +62,8 @@ export function getMetricsForStatefulSets(statefulSets: StatefulSet[], namespace
|
||||
cpuUsage: opts,
|
||||
memoryUsage: opts,
|
||||
fsUsage: opts,
|
||||
fsWrites: opts,
|
||||
fsReads: opts,
|
||||
networkReceive: 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})`;
|
||||
case "fsUsage":
|
||||
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":
|
||||
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}",namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||
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})`;
|
||||
case "fsUsage":
|
||||
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":
|
||||
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}", namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||
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})`;
|
||||
case "fsUsage":
|
||||
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":
|
||||
return `sum(rate(container_network_receive_bytes_total{pod=~"${opts.pods}",namespace="${opts.namespace}"}[${this.rateAccuracy}])) by (${opts.selector})`;
|
||||
case "networkTransmit":
|
||||
|
||||
@ -46,6 +46,8 @@ export const ContainerCharts = observer(() => {
|
||||
memoryRequests,
|
||||
memoryLimits,
|
||||
fsUsage,
|
||||
fsWrites,
|
||||
fsReads
|
||||
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
|
||||
|
||||
const datasets = [
|
||||
@ -106,6 +108,20 @@ export const ContainerCharts = observer(() => {
|
||||
borderColor: "#ffc63d",
|
||||
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,
|
||||
memoryUsage,
|
||||
fsUsage,
|
||||
fsWrites,
|
||||
fsReads,
|
||||
networkReceive,
|
||||
networkTransmit,
|
||||
} = mapValues(metrics, metric => normalizeMetrics(metric).data.result[0].values);
|
||||
@ -102,6 +104,20 @@ export const PodCharts = observer(() => {
|
||||
borderColor: "#ffc63d",
|
||||
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