[Openstack-operators] [ceilometer] what is cpu_util: directly measured or derived?
gord at live.ca
Mon Nov 21 21:08:08 UTC 2016
On 18/11/16 05:10 PM, Danek Duvall wrote:
>> this pollster is used by other hypervisor polling. there was a patch for
>> libvirt driver to use libvirt native functionality to retrieve cpu_util
>> info rather than computing it. unfortunately, at the time, the
>> functionality was in a version too new to match with Nova libvirt
> If I'm reading this correctly, it's more than that. Solving the overcommit
> issue is different, and requires the new meters. But simply keeping the
> more naive definition of cpu_util wouldn't have. Even the libvirt has an
> inspect_cpu_util() call whose data, feeding into the cpu_util meter defined
> by ceilometer.cpu.CPUUtilPollster will presumably be masked by the the
> cpu_util meter defined by the pipeline.
i'm not sure it requires new meters but i'm not entirely sure. some of
the code in that patch was actually deferred to libvirt rather than
having a ceilometer specific implementation.
the derived cpu_util meter in the pipeline is uniquely a libvirt/hyperv
meter. those two solutions can't query for cpu utilisation so it's
compute. if you look at xenapi/vsphere, they are able to provide
cpu_util so they don't actually generate cpu time meter and therefore
never derive the cpu_util meter in pipeline.
> It's that masking I'm wondering about, and the change you reference doesn't
> get rid of it, either.
i originally assumed the patch would allow us to query cpu utilisation
directly but it seems that might be a wrong assumption.
> It might be easier for me to drop my implementation of inspect_cpu_util()
> and let the ceilometer-computed version of cpu_util take care of it, but
> since we have a way of getting the number directly, it might be nice to use
i'm not entirely sure your plans but if in Solaris, you are able to poll
for cpu utilisation directly, you can just modify the pipeline and drop
More information about the OpenStack-operators