def test_perfcounters_correct_status_values(): c = Perfcounters(logger) for _x in range(5): c.count("messages") for _x in range(10): c.count("events") for _x in range(10): c.count("connects") for _x in range(2): c.count("rule_tries") for column_name, column_value in zip([n for n, _d in c.status_columns()], c.get_status()): if column_name.startswith("status_average_") and column_name.endswith("_time"): counter_name = column_name.split("_")[-2] assert column_value == c._times.get(counter_name, 0.0) elif column_name.startswith("status_average_") and column_name.endswith("_rate"): counter_name = column_name.split("_")[-2] assert column_value == c._average_rates.get(counter_name, 0.0) elif column_name.startswith("status_") and column_name.endswith("_rate"): counter_name = column_name.split("_")[-2] assert column_value == c._rates.get(counter_name, 0.0) elif column_name.startswith("status_"): counter_name = "_".join(column_name.split("_")[1:]) assert column_value == c._counters[counter_name], "Invalid value %r: %r" % ( column_name, c._counters[counter_name]) else: raise NotImplementedError()
def test_perfcounters_columns_match_status_length(): c = Perfcounters(logger) assert len(c.status_columns()) == len(c.get_status())