def test_basic_counter_sum():
        """
            Test basic counter sum function for grouping tail class.
        """

        counter_sum = CounterSum('^(\d)')
        grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\d)')
        #print grouping_tail.offsetpath
        grouping_tail.add_match('simple', 'counter', counter_sum)
        grouping_tail.update()

        assert_equal(len(counter_sum.data), 4)
        assert_true('3' in counter_sum.data)
        assert_equal(counter_sum.data['3'], 9.0)
        assert_true('2' in counter_sum.data)
        assert_equal(counter_sum.data['2'], 4.0)
        assert_true('1' in counter_sum.data)
        assert_equal(counter_sum.data['1'], 1.0)
        assert_true('8' in counter_sum.data)
        assert_equal(counter_sum.data['8'], 8.0)

        read_metrics = grouping_tail.read_metrics()

        for key, key_value in counter_sum.data.items():
            metric_name, value_type, value = read_metrics.next()
            assert_equal(metric_name, str(key) + '.simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)
Esempio n. 2
0
    def test_basic_counter_sum():
        """
            Test basic counter sum function for grouping tail class.
        """

        counter_sum = CounterSum('^(\d)')
        grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\d)')
        #print grouping_tail.offsetpath
        grouping_tail.add_match('simple', 'counter', counter_sum)
        grouping_tail.update()

        assert_equal(len(counter_sum.data), 4)
        assert_true('3' in counter_sum.data)
        assert_equal(counter_sum.data['3'], 9.0)
        assert_true('2' in counter_sum.data)
        assert_equal(counter_sum.data['2'], 4.0)
        assert_true('1' in counter_sum.data)
        assert_equal(counter_sum.data['1'], 1.0)
        assert_true('8' in counter_sum.data)
        assert_equal(counter_sum.data['8'], 8.0)

        read_metrics = grouping_tail.read_metrics()

        for key, key_value in counter_sum.data.items():
            metric_name, value_type, value = read_metrics.next()
            assert_equal(metric_name, str(key) + '.simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)
    def test_basic_multi_files():
        """
            Test basic tail multi files function for grouping tail class.
        """
        from pretaweb.collectd.groupingtail.groupingtail import GroupingTail
        from pretaweb.collectd.groupingtail.instruments import CounterInc

        counter_inc = CounterInc('.')
        grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\d)')

        second_counter_inc = CounterInc('.')
        second_grouping_tail = GroupingTail(second_simple_log_file, '^(\d)')

        grouping_tail.add_match('simple', 'counter', counter_inc)
        grouping_tail.update()

        third_counter_inc = CounterInc('.')
        third_grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\D)')

        second_grouping_tail.add_match('second_simple', 'counter', second_counter_inc)
        second_grouping_tail.update()

        third_grouping_tail.add_match('third_simple', 'counter', third_counter_inc)
        third_grouping_tail.update()

        assert_equal(len(counter_inc.data), 4)
        assert_true('3' in counter_inc.data)
        assert_equal(counter_inc.data['3'], 3)
        assert_true('2' in counter_inc.data)
        assert_equal(counter_inc.data['2'], 2)
        assert_true('1' in counter_inc.data)
        assert_equal(counter_inc.data['1'], 1)
        assert_true('8' in counter_inc.data)
        assert_equal(counter_inc.data['8'], 1)

        assert_equal(len(second_counter_inc.data), 2)
        assert_true('3' in second_counter_inc.data)
        assert_equal(second_counter_inc.data['3'], 4)
        assert_true('2' in second_counter_inc.data)
        assert_equal(second_counter_inc.data['2'], 1)
        assert_false('1' in second_counter_inc.data)

        assert_equal(len(third_counter_inc.data), 2)
        assert_true('w' in third_counter_inc.data)
        assert_equal(third_counter_inc.data['w'], 3)
        assert_true('y' in third_counter_inc.data)
        assert_equal(third_counter_inc.data['y'], 1)
        assert_false('z' in third_counter_inc.data)

        read_metrics = grouping_tail.read_metrics()

        for key, key_value in counter_inc.data.items():
            metric_name, value_type, value = read_metrics.next()
            assert_equal(metric_name, str(key) + '.simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)

        second_read_metrics = second_grouping_tail.read_metrics()

        for key, key_value in second_counter_inc.data.items():
            metric_name, value_type, value = second_read_metrics.next()
            assert_equal(metric_name, str(key) + '.second_simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)

        third_read_metrics = third_grouping_tail.read_metrics()

        for key, key_value in third_counter_inc.data.items():
            metric_name, value_type, value = third_read_metrics.next()
            assert_equal(metric_name, str(key) + '.third_simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)
Esempio n. 4
0
    def test_basic_multi_files():
        """
            Test basic tail multi files function for grouping tail class.
        """
        from pretaweb.collectd.groupingtail.groupingtail import GroupingTail
        from pretaweb.collectd.groupingtail.instruments import CounterInc

        counter_inc = CounterInc('.')
        grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\d)')

        second_counter_inc = CounterInc('.')
        second_grouping_tail = GroupingTail(second_simple_log_file, '^(\d)')

        grouping_tail.add_match('simple', 'counter', counter_inc)
        grouping_tail.update()

        third_counter_inc = CounterInc('.')
        third_grouping_tail = GroupingTail(SIMPLE_LOG_FILE, '^(\D)')

        second_grouping_tail.add_match('second_simple', 'counter',
                                       second_counter_inc)
        second_grouping_tail.update()

        third_grouping_tail.add_match('third_simple', 'counter',
                                      third_counter_inc)
        third_grouping_tail.update()

        assert_equal(len(counter_inc.data), 4)
        assert_true('3' in counter_inc.data)
        assert_equal(counter_inc.data['3'], 3)
        assert_true('2' in counter_inc.data)
        assert_equal(counter_inc.data['2'], 2)
        assert_true('1' in counter_inc.data)
        assert_equal(counter_inc.data['1'], 1)
        assert_true('8' in counter_inc.data)
        assert_equal(counter_inc.data['8'], 1)

        assert_equal(len(second_counter_inc.data), 2)
        assert_true('3' in second_counter_inc.data)
        assert_equal(second_counter_inc.data['3'], 4)
        assert_true('2' in second_counter_inc.data)
        assert_equal(second_counter_inc.data['2'], 1)
        assert_false('1' in second_counter_inc.data)

        assert_equal(len(third_counter_inc.data), 2)
        assert_true('w' in third_counter_inc.data)
        assert_equal(third_counter_inc.data['w'], 3)
        assert_true('y' in third_counter_inc.data)
        assert_equal(third_counter_inc.data['y'], 1)
        assert_false('z' in third_counter_inc.data)

        read_metrics = grouping_tail.read_metrics()

        for key, key_value in counter_inc.data.items():
            metric_name, value_type, value = read_metrics.next()
            assert_equal(metric_name, str(key) + '.simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)

        second_read_metrics = second_grouping_tail.read_metrics()

        for key, key_value in second_counter_inc.data.items():
            metric_name, value_type, value = second_read_metrics.next()
            assert_equal(metric_name, str(key) + '.second_simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)

        third_read_metrics = third_grouping_tail.read_metrics()

        for key, key_value in third_counter_inc.data.items():
            metric_name, value_type, value = third_read_metrics.next()
            assert_equal(metric_name, str(key) + '.third_simple')
            assert_equal(value_type, 'counter')
            assert_equal(value, key_value)