class TestDiskLatencyPollsters(TestBaseDiskIO): DISKS = [ (virt_inspector.Disk(device='disk1'), virt_inspector.DiskLatencyStats(1000)), (virt_inspector.Disk(device='disk2'), virt_inspector.DiskLatencyStats(2000)) ] TYPE = 'gauge' CACHE_KEY = "CACHE_KEY_DISK_LATENCY" def setUp(self): super(TestDiskLatencyPollsters, self).setUp() self.inspector.inspect_disk_latency = mock.Mock( return_value=self.DISKS) def test_disk_latency(self): self._check_aggregate_samples(disk.DiskLatencyPollster, 'disk.latency', 3) def test_per_device_latency(self): self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster, 'disk.device.latency', 1, 'disk1') self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster, 'disk.device.latency', 2, 'disk2')
def inspect_disk_latency(self, instance, duration): instance_name = util.instance_name(instance) for disk_metrics in self._utils.get_disk_latency_metrics( instance_name): yield virt_inspector.DiskLatencyStats( device=disk_metrics['instance_id'], disk_latency=disk_metrics['disk_latency'] / 1000)
def inspect_disk_latency(self, instance): instance_name = util.instance_name(instance) for disk_metrics in self._utils.get_disk_latency_metrics( instance_name): disk = virt_inspector.Disk(device=disk_metrics['instance_id']) stats = virt_inspector.DiskLatencyStats( disk_latency=disk_metrics['disk_latency']) yield (disk, stats)
class TestDiskLatencyPollsters(TestBaseDiskIO): DISKS = [(virt_inspector.Disk(device='disk1'), virt_inspector.DiskLatencyStats(1000)), (virt_inspector.Disk(device='disk2'), virt_inspector.DiskLatencyStats(2000))] TYPE = 'gauge' def setUp(self): super(TestDiskLatencyPollsters, self).setUp() self.inspector.inspect_disk_latency = mock.Mock( return_value=self.DISKS) @mock.patch('ceilometer.pipeline.setup_pipeline', mock.MagicMock()) def _check_get_samples(self, factory, sample_name, expected_count=2): pollster = factory() mgr = manager.AgentManager() cache = {} samples = list(pollster.get_samples(mgr, cache, self.instance)) self.assertIsNotNone(samples) self.assertIsNotEmpty(samples) self.assertIn(pollster.CACHE_KEY_DISK_LATENCY, cache) for instance in self.instance: self.assertIn(instance.id, cache[pollster.CACHE_KEY_DISK_LATENCY]) self.assertEqual(set([sample_name]), set([s.name for s in samples])) match = [s for s in samples if s.name == sample_name] self.assertEqual(expected_count, len(match), 'missing counter %s' % sample_name) return match def test_disk_latency(self): self._check_aggregate_samples(disk.DiskLatencyPollster, 'disk.latency', 3) def test_per_device_latency(self): self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster, 'disk.device.latency', 1, 'disk1') self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster, 'disk.device.latency', 2, 'disk2')
class TestDiskLatencyPollsters(TestBaseDiskIO): DISKS = [ virt_inspector.DiskLatencyStats("disk1", 1), virt_inspector.DiskLatencyStats("disk2", 2) ] TYPE = 'gauge' def setUp(self): super(TestDiskLatencyPollsters, self).setUp() self.inspector.inspect_disk_latency = mock.Mock( return_value=self.DISKS) def test_per_device_latency(self): self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster, 'disk.device.latency', 1, 'disk1') self._check_per_device_samples(disk.PerDeviceDiskLatencyPollster, 'disk.device.latency', 2, 'disk2')