diff --git a/ceilometer_zvm/compute/virt/zvm/inspector.py b/ceilometer_zvm/compute/virt/zvm/inspector.py index 09e6180..0d6c475 100644 --- a/ceilometer_zvm/compute/virt/zvm/inspector.py +++ b/ceilometer_zvm/compute/virt/zvm/inspector.py @@ -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