def main(): if (diskstats.OS_NAME != 'Linux'): print('diskstats plugin currently works for Linux only') print('os_name: %s' % (diskstats.os_name)) print('Finished') return logging.basicConfig(level=logging.INFO) diskstats.get_dev_list() diskstats.dev_stats_cache = diskstats.collect_diskstats() logging.info('netstats_ftest: dev_list: %s' % (diskstats.dev_list)) logging.debug('netstats_ftest: dev_stats_cache: %s' % (diskstats.dev_stats_cache)) print('netstats_ftest: ... sleeping for 10 sec...') time.sleep(10) diskstats.dev_stats_current = diskstats.collect_diskstats() logging.debug('netstats_ftest: dev_stats_cur: %s' % (diskstats.dev_stats_current)) metric_names = ['iops_rw', 'bytes_ps_read', 'bytes_ps_write'] print_header() metric_key_vals = {} metric_vals = [] for i in diskstats.dev_list: metric_key_vals = diskstats.calc_metrics(i) logging.debug('metric_key_vals: %s' % (metric_key_vals)) metric_vals = [metric_key_vals[k] for k in metric_names] dev_pretty_prints(i, metric_vals) logging.debug('metric_vals: %s' % (metric_vals))
def test_3_diskstats_metrics_calc(self): diskstats.dev_stats_cache = diskstats.collect_diskstats() diskstats.dev_stats_current = diskstats.collect_diskstats() metrics_key_vals = diskstats.calc_metrics(diskstats.dev_list[0]) dev_metrics_vals = metrics_key_vals.values() num_metrics_keys = len(diskstats.diskstat_metrics) num_metrics_vals = len(dev_metrics_vals) try: self.assertEqual(num_metrics_keys, num_metrics_vals, "number of metric names not equals to vals") self.assertEqual(metrics_key_vals["util_pct"], 0.0, "wrong util_pct") self.assertEqual(metrics_key_vals["bytes_per_write"], None, "wrong bytes_per_write value") except: print("del_t: %f" % (diskstats.calc_del_t(diskstats.dev_list[0]))) print("metris_key_vals: %s" % (metrics_key_vals)) print("Exception: %s" % (sys.exc_info()[0])) raise
def test_3_diskstats_metrics_calc(self): diskstats.dev_stats_cache = diskstats.collect_diskstats() diskstats.dev_stats_current = diskstats.collect_diskstats() metrics_key_vals = diskstats.calc_metrics(diskstats.dev_list[0]) dev_metrics_vals = metrics_key_vals.values() num_metrics_keys = len(diskstats.diskstat_metrics) num_metrics_vals = len(dev_metrics_vals) try: self.assertEqual(num_metrics_keys, num_metrics_vals, 'number of metric names not equals to vals') self.assertEqual(metrics_key_vals['util_pct'], 0.0, 'wrong util_pct') self.assertEqual(metrics_key_vals['bytes_per_write'], None, 'wrong bytes_per_write value') except: print('del_t: %f' % (diskstats.calc_del_t(diskstats.dev_list[0]))) print('metris_key_vals: %s' % (metrics_key_vals)) print('Exception: %s' % (sys.exc_info()[0])) raise