Exemple #1
0
 def test_default_aggregator(self, logger_mock):
     meter = metrics.MeterProvider().get_meter(__name__)
     counter = metrics.Counter("", "", "1", int, meter)
     self.assertEqual(view.get_default_aggregator(counter),
                      aggregate.SumAggregator)
     ud_counter = metrics.UpDownCounter("", "", "1", int, meter)
     self.assertEqual(view.get_default_aggregator(ud_counter),
                      aggregate.SumAggregator)
     observer = metrics.SumObserver(lambda: None, "", "", "1", int)
     self.assertEqual(
         view.get_default_aggregator(observer),
         aggregate.LastValueAggregator,
     )
     ud_observer = metrics.SumObserver(lambda: None, "", "", "1", int)
     self.assertEqual(
         view.get_default_aggregator(ud_observer),
         aggregate.LastValueAggregator,
     )
     recorder = metrics.ValueRecorder("", "", "1", int, meter)
     self.assertEqual(
         view.get_default_aggregator(recorder),
         aggregate.MinMaxSumCountAggregator,
     )
     v_observer = metrics.ValueObserver(lambda: None, "", "", "1", int)
     self.assertEqual(
         view.get_default_aggregator(v_observer),
         aggregate.ValueObserverAggregator,
     )
     self.assertEqual(view.get_default_aggregator(DummyMetric()),
                      aggregate.SumAggregator)
     self.assertEqual(logger_mock.warning.call_count, 1)
 def test_add(self):
     meter = metrics.MeterProvider().get_meter(__name__)
     metric = metrics.UpDownCounter("name", "desc", "unit", int, meter)
     labels = {"key": "value"}
     bound_counter = metric.bind(labels)
     counter_v = View(metric, SumAggregator)
     meter.register_view(counter_v)
     metric.add(3, labels)
     metric.add(2, labels)
     self.assertEqual(bound_counter.view_datas.pop().aggregator.current, 5)
Exemple #3
0
    def test_add(self, logger_mock):
        meter = metrics.MeterProvider().get_meter(__name__)
        metric = metrics.UpDownCounter("name", "desc", "unit", int, meter,
                                       ("key", ))
        labels = {"key": "value"}
        bound_counter = metric.bind(labels)
        metric.add(3, labels)
        metric.add(2, labels)
        self.assertEqual(bound_counter.aggregator.current, 5)

        metric.add(0, labels)
        metric.add(-3, labels)
        metric.add(-1, labels)
        self.assertEqual(bound_counter.aggregator.current, 1)
        self.assertEqual(logger_mock.warning.call_count, 0)