Reduce code duplication
Reduced source code by extracting duplicated code (measurements: http://openqa.sed.hu/dashboard/index/88?did=2) Change-Id: I62e68ab717d6c408b5e935e0866b7a5229b213bc
This commit is contained in:
parent
79dff805bb
commit
a8ea36090a
@ -18,6 +18,7 @@ from oslo_utils import timeutils
|
|||||||
import six
|
import six
|
||||||
|
|
||||||
from ceilometer.agent import plugin_base
|
from ceilometer.agent import plugin_base
|
||||||
|
from ceilometer.compute.pollsters import util
|
||||||
from ceilometer.compute.virt import inspector as virt_inspector
|
from ceilometer.compute.virt import inspector as virt_inspector
|
||||||
|
|
||||||
|
|
||||||
@ -75,3 +76,18 @@ class BaseComputePollster(plugin_base.PollsterBase):
|
|||||||
current_time)
|
current_time)
|
||||||
self._last_poll_time = current_time
|
self._last_poll_time = current_time
|
||||||
return duration
|
return duration
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _get_samples_per_devices(attribute, instance, _name, _type, _unit):
|
||||||
|
samples = []
|
||||||
|
for disk, value in six.iteritems(attribute):
|
||||||
|
samples.append(util.make_sample_from_instance(
|
||||||
|
instance,
|
||||||
|
name=_name,
|
||||||
|
type=_type,
|
||||||
|
unit=_unit,
|
||||||
|
volume=value,
|
||||||
|
resource_id="%s-%s" % (instance.id, disk),
|
||||||
|
additional_metadata={'disk_name': disk},
|
||||||
|
))
|
||||||
|
return samples
|
||||||
|
@ -130,21 +130,11 @@ class _Base(pollsters.BaseComputePollster):
|
|||||||
'device': c_data.per_disk_requests[_metadata].keys()},
|
'device': c_data.per_disk_requests[_metadata].keys()},
|
||||||
)]
|
)]
|
||||||
|
|
||||||
@staticmethod
|
def _get_samples_per_device(self, c_data, _attr, instance, _name, _unit):
|
||||||
def _get_samples_per_device(c_data, _attr, instance, _name, _unit):
|
|
||||||
"""Return one or more Samples for meter 'disk.device.*'"""
|
"""Return one or more Samples for meter 'disk.device.*'"""
|
||||||
samples = []
|
return self._get_samples_per_devices(c_data.per_disk_requests[_attr],
|
||||||
for disk, value in six.iteritems(c_data.per_disk_requests[_attr]):
|
instance, _name,
|
||||||
samples.append(util.make_sample_from_instance(
|
sample.TYPE_CUMULATIVE, _unit)
|
||||||
instance,
|
|
||||||
name=_name,
|
|
||||||
type=sample.TYPE_CUMULATIVE,
|
|
||||||
unit=_unit,
|
|
||||||
volume=value,
|
|
||||||
resource_id="%s-%s" % (instance.id, disk),
|
|
||||||
additional_metadata={'disk_name': disk},
|
|
||||||
))
|
|
||||||
return samples
|
|
||||||
|
|
||||||
def get_samples(self, manager, cache, resources):
|
def get_samples(self, manager, cache, resources):
|
||||||
for instance in resources:
|
for instance in resources:
|
||||||
@ -318,19 +308,9 @@ class _DiskRatesPollsterBase(pollsters.BaseComputePollster):
|
|||||||
def _get_samples_per_device(self, disk_rates_info, _attr, instance,
|
def _get_samples_per_device(self, disk_rates_info, _attr, instance,
|
||||||
_name, _unit):
|
_name, _unit):
|
||||||
"""Return one or more Samples for meter 'disk.device.*'."""
|
"""Return one or more Samples for meter 'disk.device.*'."""
|
||||||
samples = []
|
return self._get_samples_per_devices(
|
||||||
for disk, value in six.iteritems(disk_rates_info.per_disk_rate[
|
disk_rates_info.per_disk_rate[_attr],
|
||||||
_attr]):
|
instance, _name, sample.TYPE_GAUGE, _unit)
|
||||||
samples.append(util.make_sample_from_instance(
|
|
||||||
instance,
|
|
||||||
name=_name,
|
|
||||||
type=sample.TYPE_GAUGE,
|
|
||||||
unit=_unit,
|
|
||||||
volume=value,
|
|
||||||
resource_id="%s-%s" % (instance.id, disk),
|
|
||||||
additional_metadata={'disk_name': disk},
|
|
||||||
))
|
|
||||||
return samples
|
|
||||||
|
|
||||||
def _get_sample_read_and_write(self, instance, _name, _unit, _element,
|
def _get_sample_read_and_write(self, instance, _name, _unit, _element,
|
||||||
_attr1, _attr2):
|
_attr1, _attr2):
|
||||||
|
Loading…
Reference in New Issue
Block a user