Apart from looking at docker stats, I want to know how docker consumes physical CPU or where will it be classified between CPU User, CPU System and CPU Guest, etc, stats?
I am collecting metrics using netdata. I am looking at different types of workloads; this means just some prepackaged code that may contain a docker image because that is where some software is installed or databases that other parts of this workload or code in question depend on. Nedata returns a lot of metrics, for example,at the system level for CPU: you will have the following:
netdata.system.cpu.guest
netdata.system.cpu.guest_nice
netdata.system.cpu.idle
netdata.system.cpu.iowait
netdata.system.cpu.irq
netdata.system.cpu.nice
netdata.system.cpu.softirq
netdata.system.cpu.steal
netdata.system.cpu.system
netdata.system.cpu.user
If I am dealing with a VM, I know that the guest operating system cpu ticks values would be recorded as netdata.system.cpu.guest
; I am trying to know where those for docker images would be recorded.
I have looked at docker stat and read over articles on the internet but I can't seem to find where these cpu values would be recorded.
This is important to me because I am trying to characterize these workloads, and I want to know things I shouldn't bother looking too much at with respect to characterization if the workloads do not have a docker image
Containers are no VMs. Nothing is virtualized, it all just runs as isolated processes on the host. Even the kernel is shared.
So the kind of CPU utilization you can observe from a container process is just the same as from a host process.