summaryrefslogtreecommitdiff
path: root/ceilometer/compute
diff options
context:
space:
mode:
authorgord chung <gord@live.ca>2017-08-29 17:54:19 +0000
committergord chung <gord@live.ca>2017-08-29 17:54:19 +0000
commit0d4eb0bb863b8d9c6f8ad46897e6c19c816df5c2 (patch)
tree6807fa8464161a0d4f988a1e12d130acb6d1f91a /ceilometer/compute
parentf69f7711342995c74d9cc4cd4ce392668a1e591c (diff)
downloadceilometer-0d4eb0bb863b8d9c6f8ad46897e6c19c816df5c2.tar.gz
fix disk total_time metrics
libvirt rd_total_time and wr_total_time metrics are in nanoseconds[1]. the current computation puts it to us not ms as defined. just skip any conversion completely as we already capture cputime in nanoseconds. [1] https://linux.die.net/man/1/virsh Change-Id: I68951a2c7d08c58497952f2f2a448d813e17e2cb
Diffstat (limited to 'ceilometer/compute')
-rw-r--r--ceilometer/compute/pollsters/disk.py4
-rw-r--r--ceilometer/compute/virt/libvirt/inspector.py17
2 files changed, 9 insertions, 12 deletions
diff --git a/ceilometer/compute/pollsters/disk.py b/ceilometer/compute/pollsters/disk.py
index c3074309..c1928548 100644
--- a/ceilometer/compute/pollsters/disk.py
+++ b/ceilometer/compute/pollsters/disk.py
@@ -242,12 +242,12 @@ class PerDevicePhysicalPollster(PerDeviceDiskPollster):
class PerDeviceDiskReadLatencyPollster(PerDeviceDiskPollster):
sample_name = 'disk.device.read.latency'
sample_type = sample.TYPE_CUMULATIVE
- sample_unit = 'ms'
+ sample_unit = 'ns'
sample_stats_key = 'rd_total_times'
class PerDeviceDiskWriteLatencyPollster(PerDeviceDiskPollster):
sample_name = 'disk.device.write.latency'
sample_type = sample.TYPE_CUMULATIVE
- sample_unit = 'ms'
+ sample_unit = 'ns'
sample_stats_key = 'wr_total_times'
diff --git a/ceilometer/compute/virt/libvirt/inspector.py b/ceilometer/compute/virt/libvirt/inspector.py
index eaf4d575..543d533d 100644
--- a/ceilometer/compute/virt/libvirt/inspector.py
+++ b/ceilometer/compute/virt/libvirt/inspector.py
@@ -122,16 +122,13 @@ class LibvirtInspector(virt_inspector.Inspector):
for target in tree.findall('devices/disk/target')]):
block_stats = domain.blockStats(device)
block_stats_flags = domain.blockStatsFlags(device, 0)
- wr_times = block_stats_flags['wr_total_times']*1.0/1000
- rd_times = block_stats_flags['rd_total_times']*1.0/1000
- yield virt_inspector.DiskStats(device=device,
- read_requests=block_stats[0],
- read_bytes=block_stats[1],
- write_requests=block_stats[2],
- write_bytes=block_stats[3],
- errors=block_stats[4],
- wr_total_times=wr_times,
- rd_total_times=rd_times)
+ yield virt_inspector.DiskStats(
+ device=device,
+ read_requests=block_stats[0], read_bytes=block_stats[1],
+ write_requests=block_stats[2], write_bytes=block_stats[3],
+ errors=block_stats[4],
+ wr_total_times=block_stats_flags['wr_total_times'],
+ rd_total_times=block_stats_flags['rd_total_times'])
@libvirt_utils.retry_on_disconnect
def inspect_disk_info(self, instance, duration):