18 Sep 2023
11:53 AM
- last edited on
19 Sep 2023
12:46 AM
by
MaciejNeumann
I am starting to grab more container-level statistics within Kubernetes/OpenShift. Someone mentioned to me about the importance of measuring CPU throttling. What is the best metric in DT for measuring CPU throttling?
I am already grabbing container CPU, millicores, millicores and maximum. Is there an actual statistic for the percentage or degree of throttling?
Any help would be appreciated.
Thanks,
Lou
Solved! Go to Solution.
Yes exist, the metric is literally CPU throttling haha
"The CPU throttling metric tells you how long the application was throttled, so you can determine where more CPU time would have been needed for processing. This usually happens when the containers don't have enough CPU resources (limits) in the workload definition. This might affect the performance of the processes and applications running inside the containers."
Take a look on this documentation page
You can also see the number of running pods versus desired pods for every cloud application.
Hi @crabbylou,
I usually use these ones at clinets:
( builtin:containers.cpu.throttledMilliCores:avg:parents:parents:splitBy("dt.entity.cloud_application_instance","dt.entity.cloud_application"):sum
/ builtin:containers.cpu.usageMilliCores:avg:parents:parents:splitBy("dt.entity.cloud_application_instance","dt.entity.cloud_application"):sum
* 100
)
:splitBy("dt.entity.cloud_application_instance","dt.entity.cloud_application")
:setUnit(Percent)
:sort(value(avg,descending))
:limit(5)
or
builtin:containers.cpu.throttledMilliCores
:filter(series(avg,gt,10))
:parents:parents:splitBy("dt.entity.cloud_application_instance","dt.entity.cloud_application")
:avg
:auto
:sort(value(avg,descending))
:limit(5)
I hope it helps.
Best regards,
Mizső
Featured Posts