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()
Exemple #2
0
def test_perfcounters_columns_match_status_length():
    c = Perfcounters(logger)
    assert len(c.status_columns()) == len(c.get_status())