Пример #1
0
 def test_multiple_increments(self):
     batch_counter = metrics.BatchCounter(self.transport, b"example")
     batch_counter.increment()
     self.assertFalse(self.transport.send.called)
     batch_counter.increment()
     self.assertEqual(batch_counter.packets[1.0], 2)
     self.assertFalse(self.transport.send.called)
Пример #2
0
 def test_flush(self):
     batch_counter = metrics.BatchCounter(self.transport, b"example")
     batch_counter.increment()
     batch_counter.increment(3)
     self.assertEqual(batch_counter.packets[1.0], 4)
     batch_counter.flush()
     self.assertEqual(self.transport.send.call_count, 1)
     self.assertEqual(self.transport.send.call_args,
                      mock.call(b"example:4|c"))
Пример #3
0
    def test_multiple_sample_rates(self):
        batch_counter = metrics.BatchCounter(self.transport, b"example")
        batch_counter.increment()
        batch_counter.increment()
        batch_counter.increment(sample_rate=0.5)
        batch_counter.flush()

        self.assertEqual(len(batch_counter.packets), 2)
        self.assertEqual(batch_counter.packets[1.0], 2)
        self.assertEqual(batch_counter.packets[0.5], 1)
        self.assertEqual(self.transport.send.call_count, 2)
        expected_call_args = [
            mock.call(b"example:2|c"),
            mock.call(b"example:1|c|@0.5")
        ]
        for expected in expected_call_args:
            self.assertTrue(expected in self.transport.send.call_args_list)