从docker统计vs cgroups的cpuPercent度量

我是新来的cgroups,并尝试使用cgroups获取容器统计信息。 以前我使用docker stats但也尝试收集与cgroups类似的指标。

在docker统计,CPU统计部分如下所示:

 "cpu_usage": { "total_usage": 27120642519, "percpu_usage": [27120642519], "usage_in_kernelmode": 4550000000, "usage_in_usermode": 19140000000 }, "system_cpu_usage": 42803030000000, 

而且,CPU百分比度量使用以下等式来计算:

 cpuDelta = float64(v.CpuStats.CpuUsage.TotalUsage - previousCPU) systemDelta = float64(v.CpuStats.SystemUsage - previousSystem) cpuPct = cpuDelta/systemDelta 

我在看cgroups收集systemUsagetotalUsage ,但它似乎没有类似的指标:

cgroups有一个伪文件cpuacct.stats,它具有usersystem滴答,但是这些只与usage_in_user_mode docker stats输出中的usage_in_user_modeusage_in_kernel_mode匹配。

而cpuacct.usage_per_cpu伪文件的每个CPU使用率都与上面输出的total_usage stats的total_usage匹配。

 $cat cpuacct.stat user 1914 system 455 $cat cpuacct.usage_percpu 27120642519 

但是,我找不到任何方法来弄清楚如何从cgroups收集“systemUsage”。

任何线索将是非常有帮助的!

谢谢!