我想计算Python脚本中运行的Docker容器的CPU使用率百分比。为了获得docker统计数据,我使用了docker SDK for Python 5.0.0版。使用以下代码,我检索Docker容器的统计数据作为dict:
import docker
client = docker.from_env()
container_list = client.containers.list()
for container in container_list:
container_stats = container.stats(decode=True).__next__()
print(container_stats)
我找到了以百分比(https://forums.docker.com/t/how-to-calculate-the-cpu-usage-in-percent/27509/2)计算CPU使用率的公式。然而,当检索如上所示的容器统计信息时,我缺少一个变量。它不包含precpu_stats.system_cpu_usage
我的cpu_统计数据和precpu_统计数据如下:
"cpu_stats":{
"cpu_usage":{
"total_usage":131226143110,
"percpu_usage":[
96196570,
2133871570,
349858200,
32568251630,
2009016800,
13927275650,
39496203460,
40645469230
],
"usage_in_kernelmode":5959000000,
"usage_in_usermode":125246000000
},
"system_cpu_usage":16738784000000,
"online_cpus":8,
"throttling_data":{
"periods":0,
"throttled_periods":0,
"throttled_time":0
}
},
"precpu_stats":{
"cpu_usage":{
"total_usage":0,
"usage_in_kernelmode":0,
"usage_in_usermode":0
},
"throttling_data":{
"periods":0,
"throttled_periods":0,
"throttled_time":0
}
}
但是,我需要precpu_stats.system_cpu_usage来计算system_cpu_usage delta,以便能够以百分比的形式计算cpu使用率
有人知道为什么它不显示precpu_stats.system_cpu_使用情况吗?也许我做错了什么
目前没有回答
相关问题 更多 >
编程相关推荐