def setUp(self): self.metrics = { "metric1": CountMetric(), "metric2": MultiCountMetric(), "metric3": MeanReducedMetric(), "metric4": MultiMeanReducedMetric() } self.metrics_helper = BaseMetricsHelper(self.metrics) self.metrics_collector = mock_generator.MockMetricsCollector()
def setUp(self): self.metrics = {"metric1": CountMetric(), "metric2": MultiCountMetric(), "metric3": MeanReducedMetric(), "metric4": MultiMeanReducedMetric()} self.metrics_helper = BaseMetricsHelper(self.metrics) self.metrics_collector = mock_generator.MockMetricsCollector()
class BaseMetricsHelperTest(unittest.TestCase): def setUp(self): self.metrics = { "metric1": CountMetric(), "metric2": MultiCountMetric(), "metric3": MeanReducedMetric(), "metric4": MultiMeanReducedMetric() } self.metrics_helper = BaseMetricsHelper(self.metrics) self.metrics_collector = mock_generator.MockMetricsCollector() def tearDown(self): self.metrics = None self.metrics_helper = None self.metrics_collector = None def test_register_metrics(self): self.metrics_helper.register_metrics(self.metrics_collector, 60) for name, metric in self.metrics.items(): self.assertEqual(self.metrics_collector.metrics_map[name], metric) self.assertEqual( len(self.metrics_collector.time_bucket_in_sec_to_metrics_name[60]), 4) self.assertIn(60, self.metrics_collector.registered_timers) def test_update_count(self): self.metrics_helper.update_count("metric1") self.assertEqual(self.metrics["metric1"].get_value_and_reset(), 1) self.assertEqual(self.metrics["metric1"].get_value_and_reset(), 0) self.metrics_helper.update_count("metric1", incr_by=10) self.assertEqual(self.metrics["metric1"].get_value_and_reset(), 10) self.metrics_helper.update_count("metric2", key="key1") self.assertEqual(self.metrics["metric2"].get_value_and_reset(), {"key1": 1}) self.assertEqual(self.metrics["metric2"].get_value_and_reset(), {"key1": 0}) self.metrics_helper.update_count("metric2", incr_by=10, key="key2") self.assertEqual(self.metrics["metric2"].get_value_and_reset(), { "key1": 0, "key2": 10 }) def test_update_reduced_metric(self): for i in range(1, 11): self.metrics_helper.update_reduced_metric("metric3", i) self.assertEqual(self.metrics["metric3"].get_value_and_reset(), 5.5) self.assertIsNone(self.metrics["metric3"].get_value_and_reset()) for i in range(1, 11): self.metrics_helper.update_reduced_metric("metric4", i, key="key1") self.metrics_helper.update_reduced_metric("metric4", i * 2, key="key2") self.metrics_helper.update_reduced_metric("metric4", i * 3, key="key3") self.assertEqual(self.metrics["metric4"].get_value_and_reset(), { "key1": 5.5, "key2": 11, "key3": 16.5 }) self.assertEqual(self.metrics["metric4"].get_value_and_reset(), { "key1": None, "key2": None, "key3": None })
class BaseMetricsHelperTest(unittest.TestCase): def setUp(self): self.metrics = {"metric1": CountMetric(), "metric2": MultiCountMetric(), "metric3": MeanReducedMetric(), "metric4": MultiMeanReducedMetric()} self.metrics_helper = BaseMetricsHelper(self.metrics) self.metrics_collector = mock_generator.MockMetricsCollector() def tearDown(self): self.metrics = None self.metrics_helper = None self.metrics_collector = None def test_register_metrics(self): self.metrics_helper.register_metrics(self.metrics_collector, 60) for name, metric in self.metrics.iteritems(): self.assertEqual(self.metrics_collector.metrics_map[name], metric) self.assertEqual(len(self.metrics_collector.time_bucket_in_sec_to_metrics_name[60]), 4) self.assertIn(60, self.metrics_collector.registered_timers) def test_update_count(self): self.metrics_helper.update_count("metric1") self.assertEqual(self.metrics["metric1"].get_value_and_reset(), 1) self.assertEqual(self.metrics["metric1"].get_value_and_reset(), 0) self.metrics_helper.update_count("metric1", incr_by=10) self.assertEqual(self.metrics["metric1"].get_value_and_reset(), 10) self.metrics_helper.update_count("metric2", key="key1") self.assertEqual(self.metrics["metric2"].get_value_and_reset(), {"key1": 1}) self.assertEqual(self.metrics["metric2"].get_value_and_reset(), {"key1": 0}) self.metrics_helper.update_count("metric2", incr_by=10, key="key2") self.assertEqual(self.metrics["metric2"].get_value_and_reset(), {"key1": 0, "key2": 10}) def test_update_reduced_metric(self): for i in range(1, 11): self.metrics_helper.update_reduced_metric("metric3", i) self.assertEqual(self.metrics["metric3"].get_value_and_reset(), 5.5) self.assertIsNone(self.metrics["metric3"].get_value_and_reset()) for i in range(1, 11): self.metrics_helper.update_reduced_metric("metric4", i, key="key1") self.metrics_helper.update_reduced_metric("metric4", i * 2, key="key2") self.metrics_helper.update_reduced_metric("metric4", i * 3, key="key3") self.assertEqual(self.metrics["metric4"].get_value_and_reset(), {"key1": 5.5, "key2": 11, "key3": 16.5}) self.assertEqual(self.metrics["metric4"].get_value_and_reset(), {"key1": None, "key2": None, "key3": None})