コード例 #1
0
ファイル: testpgq.py プロジェクト: Affirm/Diamond
class TestPgQCollector(CollectorTestCase):

    def setUp(self):
        config = get_collector_config('PgQCollector', {})
        self.collector = PgQCollector(config, None)

    def test_import(self):
        self.assertTrue(PgQCollector)

    @patch.object(PgQCollector, 'publish')
    @patch.object(PgQCollector, 'get_consumer_info')
    @patch.object(PgQCollector, 'get_queue_info')
    def test_collect(self, get_queue_info, get_consumer_info, publish):
        get_queue_info.return_value = iter([
            ('q1', {
                'ticker_lag': 1,
                'ev_per_sec': 2,
            }),
            ('q2', {
                'ticker_lag': 3,
                'ev_per_sec': 4,
            }),
        ])

        get_consumer_info.return_value = iter([
            ('q1', 'c1', {
                'lag': 1,
                'pending_events': 2,
                'last_seen': 3,
            }),
            ('q2', 'c1', {
                'lag': 4,
                'pending_events': 5,
                'last_seen': 6,
            }),
        ])

        self.collector._collect_for_instance('db1', connection=MagicMock())

        self.assertPublished(publish, 'db1.q1.ticker_lag', 1)
        self.assertPublished(publish, 'db1.q1.ev_per_sec', 2)
        self.assertPublished(publish, 'db1.q2.ticker_lag', 3)
        self.assertPublished(publish, 'db1.q2.ev_per_sec', 4)

        self.assertPublished(publish, 'db1.q1.consumers.c1.lag', 1)
        self.assertPublished(publish, 'db1.q1.consumers.c1.pending_events', 2)
        self.assertPublished(publish, 'db1.q1.consumers.c1.last_seen', 3)
        self.assertPublished(publish, 'db1.q2.consumers.c1.lag', 4)
        self.assertPublished(publish, 'db1.q2.consumers.c1.pending_events', 5)
        self.assertPublished(publish, 'db1.q2.consumers.c1.last_seen', 6)
コード例 #2
0
ファイル: testpgq.py プロジェクト: qnib/qcollect
class TestPgQCollector(CollectorTestCase):
    def setUp(self):
        config = get_collector_config('PgQCollector', {})
        self.collector = PgQCollector(config, None)

    def test_import(self):
        self.assertTrue(PgQCollector)

    @patch.object(PgQCollector, 'publish')
    @patch.object(PgQCollector, 'get_consumer_info')
    @patch.object(PgQCollector, 'get_queue_info')
    def test_collect(self, get_queue_info, get_consumer_info, publish):
        get_queue_info.return_value = iter([
            ('q1', {
                'ticker_lag': 1,
                'ev_per_sec': 2,
            }),
            ('q2', {
                'ticker_lag': 3,
                'ev_per_sec': 4,
            }),
        ])

        get_consumer_info.return_value = iter([
            ('q1', 'c1', {
                'lag': 1,
                'pending_events': 2,
                'last_seen': 3,
            }),
            ('q2', 'c1', {
                'lag': 4,
                'pending_events': 5,
                'last_seen': 6,
            }),
        ])

        self.collector._collect_for_instance('db1', connection=MagicMock())

        self.assertPublished(publish, 'db1.q1.ticker_lag', 1)
        self.assertPublished(publish, 'db1.q1.ev_per_sec', 2)
        self.assertPublished(publish, 'db1.q2.ticker_lag', 3)
        self.assertPublished(publish, 'db1.q2.ev_per_sec', 4)

        self.assertPublished(publish, 'db1.q1.consumers.c1.lag', 1)
        self.assertPublished(publish, 'db1.q1.consumers.c1.pending_events', 2)
        self.assertPublished(publish, 'db1.q1.consumers.c1.last_seen', 3)
        self.assertPublished(publish, 'db1.q2.consumers.c1.lag', 4)
        self.assertPublished(publish, 'db1.q2.consumers.c1.pending_events', 5)
        self.assertPublished(publish, 'db1.q2.consumers.c1.last_seen', 6)
コード例 #3
0
ファイル: testpgq.py プロジェクト: qnib/qcollect
 def setUp(self):
     config = get_collector_config('PgQCollector', {})
     self.collector = PgQCollector(config, None)