def test_enabled(self): metrics._prepare_for_test(enabled=True) c = metrics.MapCounter("foo") # Check contents of an empty map. self.assertEquals(0, c._total) # Increment a few values and check again. c.inc("x") c.inc("y", 2) c.inc("x", 5) self.assertEquals(8, c._total) self.assertDictEqual(dict(x=6, y=2), c._counts) self.assertEquals("foo: 8 {x=6, y=2}", str(c))
def test_summary(self): metrics._prepare_for_test() d = metrics.Distribution("foo") self.assertEquals( "foo: total=0.0, count=0, min=None, max=None, mean=None, stdev=None", str(d)) # This test is delicate because it is checking the string output of # floating point calculations. This specific data set was chosen because # the number of samples is a power of two (thus the division is exact) and # the variance is a natural square (thus the sqrt() is exact). d.add(1) d.add(5) self.assertEquals( "foo: total=6.0, count=2, min=1, max=5, mean=3.0, stdev=2.0", str(d))
def test_merge_from(self): # Create a counter, increment it, and dump it. c1 = metrics.Counter("foo") c1.inc(1) dump = metrics.dump([c1], encoding=None) # Reset metrics, merge from dump, which will create a new metric. metrics._prepare_for_test() self.assertFalse(metrics._registered_metrics) metrics.merge_from_file(moves.cStringIO(dump)) m = metrics._registered_metrics["foo"] self.assertEqual(1, m._total) # Merge again, this time it will merge data into the existing metric. metrics.merge_from_file(moves.cStringIO(dump)) self.assertEqual(2, m._total) # It's an error to merge an incompatible type. metrics._prepare_for_test() _ = metrics.MapCounter("foo") self.assertRaises(TypeError, metrics.merge_from_file, moves.cStringIO(dump))
def test_merge_from(self): # Create a counter, increment it, and dump it. c1 = metrics.Counter("foo") c1.inc(1) dump = yaml.dump([c1]) # Reset metrics, merge from dump, which will create a new metric. metrics._prepare_for_test() self.assertEquals(0, len(metrics._registered_metrics)) metrics.merge_from_file(cStringIO.StringIO(dump)) m = metrics._registered_metrics["foo"] self.assertEquals(1, m._total) # Merge again, this time it will merge data into the existing metric. metrics.merge_from_file(cStringIO.StringIO(dump)) self.assertEquals(2, m._total) # It's an error to merge an incompatible type. metrics._prepare_for_test() _ = metrics.MapCounter("foo") self.assertRaises(TypeError, metrics.merge_from_file, cStringIO.StringIO(dump))
def test_accumulation(self): metrics._prepare_for_test() d = metrics.Distribution("foo") # Check contents of an empty distribution. self.assertEquals(0, d._count) self.assertEquals(0, d._total) self.assertIsNone(d._min) self.assertIsNone(d._max) self.assertIsNone(d._mean()) self.assertIsNone(d._stdev()) # Add some values. d.add(3) d.add(2) d.add(5) # Check the final contents. self.assertEquals(3, d._count) self.assertEquals(10, d._total) self.assertEquals(2, d._min) self.assertEquals(5, d._max) self.assertAlmostEqual(10.0 / 3, d._mean()) # Stddev should be sqrt(14/9). self.assertAlmostEqual(math.sqrt(14.0 / 9), d._stdev())
def test_counter_disabled(self): metrics._prepare_for_test(enabled=False) c = metrics.Counter("foo") c.inc() self.assertEqual(0, c._total)
def setUp(self): super().setUp() metrics._prepare_for_test(False) self._counter = metrics.Counter("foo")
def test_disabled(self): metrics._prepare_for_test(enabled=False) d = metrics.Distribution("foo") d.add(123) self.assertEqual(0, d._count)
def setUp(self): super().setUp() metrics._prepare_for_test()
def setUp(self): metrics._prepare_for_test()
def test_disabled(self): metrics._prepare_for_test(enabled=False) c = metrics.MapCounter("foo") c.inc("x") self.assertEquals(0, c._total)
def setUp(self): metrics._prepare_for_test(False) self._counter = metrics.Counter("foo")
def setUp(self): metrics._prepare_for_test()
def test_disabled(self): metrics._prepare_for_test(enabled=False) d = metrics.Distribution("foo") d.add(123) self.assertEquals(0, d._count)