Example #1
0
 def test_init(self):
     phpfpm_pool_metrics_collector = PHPFPMPoolMetricsCollector(
         object=self.phpfpm_pool_obj,
         interval=self.phpfpm_pool_obj.intervals['metrics'])
     assert_that(phpfpm_pool_metrics_collector, not_none())
     assert_that(phpfpm_pool_metrics_collector,
                 is_(PHPFPMPoolMetricsCollector))
Example #2
0
 def _setup_metrics_collector(self):
     self.collectors.append(
         PHPFPMPoolMetricsCollector(object=self, interval=self.intervals['metrics'])
     )
Example #3
0
    def test_collect(self):
        phpfpm_pool_metrics_collector = PHPFPMPoolMetricsCollector(
            object=self.phpfpm_pool_obj,
            interval=self.phpfpm_pool_obj.intervals['metrics'])
        assert_that(phpfpm_pool_metrics_collector, not_none())
        assert_that(self.phpfpm_pool_obj.statsd.current,
                    equal_to({}))  # check that current is empty for obj.statsd

        # run collect
        phpfpm_pool_metrics_collector.collect()

        time.sleep(0.1)

        # run collect a second time for counters
        phpfpm_pool_metrics_collector.collect()

        # check that current is not empty
        assert_that(self.phpfpm_pool_obj.statsd.current, not_(equal_to({})))
        """
        statsd.current::

        {
            'counter': {
                'php.fpm.queue.req': [[1481301159.456794, 0]],
                'php.fpm.slow_req': [[1481301159.456794, 0]],
                'php.fpm.conn.accepted': [[1481301159.456794, 1]]
            },
            'gauge': {
                'php.fpm.proc.max_active': [(1481301159.355574, '1'), (1481301159.456794, '1')],
                'php.fpm.proc.max_child': [(1481301159.355574, '0'), (1481301159.456794, '0')],
                'php.fpm.queue.len': [(1481301159.355574, '0'), (1481301159.456794, '0')],
                'php.fpm.queue.max': [(1481301159.355574, '0'), (1481301159.456794, '0')],
                'php.fpm.proc.idle': [(1481301159.355574, '1'), (1481301159.456794, '1')],
                'php.fpm.proc.total': [(1481301159.355574, '2'), (1481301159.456794, '2')],
                'php.fpm.proc.active': [(1481301159.355574, '1'), (1481301159.456794, '1')]
            }
        }
        """
        counters = self.phpfpm_pool_obj.statsd.current['counter']
        assert_that(counters, has_length(3))

        gauges = self.phpfpm_pool_obj.statsd.current['gauge']
        assert_that(gauges, has_length(7))

        # run parent collect and check that child inserted metrics appropriately
        self.phpfpm_obj.collectors[1].collect()

        time.sleep(0.1)

        # need to run a second collect cycle for counters to populate in parent
        phpfpm_pool_metrics_collector.collect()

        time.sleep(0.1)

        self.phpfpm_obj.collectors[1].collect()

        time.sleep(0.1)

        # check parent to see also not empty
        assert_that(self.phpfpm_obj.statsd.current, not_(equal_to({})))
        counters = self.phpfpm_obj.statsd.current['counter']
        assert_that(counters, has_length(3))

        gauges = self.phpfpm_obj.statsd.current['gauge']
        assert_that(gauges, has_length(8))