take out cpu_util as it will be calculated in nova

Change-Id: If809a37674ad768f96a6656053505df39b0a372e
This commit is contained in:
DCC 2020-12-28 17:12:04 +08:00
parent ec8cecac00
commit ca7b76193b
1 changed files with 2 additions and 34 deletions

View File

@ -21,8 +21,8 @@ from ceilometer.i18n import _
from ceilometer_zvm.compute.virt.zvm import exception
from ceilometer_zvm.compute.virt.zvm import utils as zvmutils
from oslo_config import cfg
from oslo_utils import units
from oslo_log import log
from oslo_utils import units
LOG = log.getLogger(__name__)
@ -86,45 +86,13 @@ class ZVMInspector(virt_inspector.Inspector):
LOG.debug("instance stats:%s", str(inst_stats))
cpu_number = inst_stats['guest_cpus']
used_cpu_time = (inst_stats['used_cpu_time_us'] * units.k)
cpu_util = self._calc_cpu_util(instance, inst_stats)
used_mem_mb = inst_stats['used_mem_kb'] / units.Ki
# Construct the final result
return virt_inspector.InstanceStats(cpu_number=cpu_number,
cpu_time=used_cpu_time,
memory_usage=used_mem_mb,
cpu_util=cpu_util
memory_usage=used_mem_mb
)
def _save_inst_data(self, instance, inst_stats):
inst_name = zvmutils.get_inst_name(instance).upper()
data = inst_stats
data['time_stamp'] = time.time()
self.cache[inst_name] = data
def _load_inst_data(self, instance):
inst_name = zvmutils.get_inst_name(instance).upper()
try:
return self.cache[inst_name]
except KeyError:
LOG.info('no cache for instance %s', inst_name)
return None
def _calc_cpu_util(self, instance, inst_stats):
previous_stats = self._load_inst_data(instance)
if previous_stats:
current_time = time.time()
previous_time = previous_stats['time_stamp']
cpu_util = (inst_stats['used_cpu_time_us']/inst_stats['guest_cpus'] - \
previous_stats['used_cpu_time_us']/previous_stats['guest_cpus']) / \
((current_time-previous_time)*units.k)
self._save_inst_data(instance, inst_stats)
return cpu_util
else:
cpu_util = inst_stats['used_cpu_time_us']/ \
inst_stats['elapsed_cpu_time_us']
self._save_inst_data(instance, inst_stats)
return cpu_util
def _inspect_inst_data(self, instance, inspect_type):
inspect_data = {}
# Make sure the inst name in upper case