Esempio n. 1
0
 def test_create_gauge(self):
     meter = metrics.Meter()
     gauge = meter.create_metric("name", "desc", "unit", float,
                                 metrics.Gauge, ())
     self.assertTrue(isinstance(gauge, metrics.Gauge))
     self.assertEqual(gauge.value_type, float)
     self.assertEqual(gauge.name, "name")
Esempio n. 2
0
 def test_create_measure(self):
     meter = metrics.Meter()
     measure = meter.create_metric("name", "desc", "unit", float,
                                   metrics.Measure, ())
     self.assertTrue(isinstance(measure, metrics.Measure))
     self.assertEqual(measure.value_type, float)
     self.assertEqual(measure.name, "name")
Esempio n. 3
0
 def test_create_metric(self):
     meter = metrics.Meter()
     counter = meter.create_metric("name", "desc", "unit", int,
                                   metrics.Counter, ())
     self.assertTrue(isinstance(counter, metrics.Counter))
     self.assertEqual(counter.value_type, int)
     self.assertEqual(counter.name, "name")
Esempio n. 4
0
 def test_record_batch(self):
     meter = metrics.Meter()
     label_keys = ("key1", )
     label_values = ("value1", )
     counter = metrics.Counter("name", "desc", "unit", float, label_keys)
     record_tuples = [(counter, 1.0)]
     meter.record_batch(label_values, record_tuples)
     self.assertEqual(counter.get_handle(label_values).data, 1.0)
Esempio n. 5
0
 def test_record(self):
     meter = metrics.Meter()
     metric = metrics.Measure("name", "desc", "unit", int, ("key",))
     kvp = {"key": "value"}
     label_set = meter.get_label_set(kvp)
     handle = metric.get_handle(label_set)
     metric.record(label_set, 3)
     # Record not implemented yet
     self.assertEqual(handle.data, 0)
Esempio n. 6
0
 def test_add(self):
     meter = metrics.Meter()
     metric = metrics.Counter("name", "desc", "unit", int, ("key",))
     kvp = {"key": "value"}
     label_set = meter.get_label_set(kvp)
     handle = metric.get_handle(label_set)
     metric.add(label_set, 3)
     metric.add(label_set, 2)
     self.assertEqual(handle.data, 5)
Esempio n. 7
0
 def test_get_handle(self):
     meter = metrics.Meter()
     metric_types = [metrics.Counter, metrics.Gauge, metrics.Measure]
     for _type in metric_types:
         metric = _type("name", "desc", "unit", int, meter, ("key",))
         kvp = {"key": "value"}
         label_set = meter.get_label_set(kvp)
         handle = metric.get_handle(label_set)
         self.assertEqual(metric.handles.get(label_set), handle)
Esempio n. 8
0
 def test_record_batch(self):
     meter = metrics.Meter()
     label_keys = ("key1",)
     counter = metrics.Counter(
         "name", "desc", "unit", float, meter, label_keys
     )
     kvp = {"key1": "value1"}
     label_set = meter.get_label_set(kvp)
     record_tuples = [(counter, 1.0)]
     meter.record_batch(label_set, record_tuples)
     self.assertEqual(counter.get_handle(label_set).data, 1.0)
Esempio n. 9
0
 def test_record_batch_multiple(self):
     meter = metrics.Meter()
     label_keys = ("key1", "key2", "key3")
     label_values = ("value1", "value2", "value3")
     counter = metrics.Counter("name", "desc", "unit", float, label_keys)
     gauge = metrics.Gauge("name", "desc", "unit", int, label_keys)
     measure = metrics.Measure("name", "desc", "unit", float, label_keys)
     record_tuples = [(counter, 1.0), (gauge, 5), (measure, 3.0)]
     meter.record_batch(label_values, record_tuples)
     self.assertEqual(counter.get_handle(label_values).data, 1.0)
     self.assertEqual(gauge.get_handle(label_values).data, 5)
     self.assertEqual(measure.get_handle(label_values).data, 0)
Esempio n. 10
0
 def test_export(self):
     meter = metrics.Meter()
     exporter = ConsoleMetricsExporter()
     metric = metrics.Counter(
         "available memory",
         "available memory",
         "bytes",
         int,
         meter,
         ("environment",),
     )
     kvp = {"environment": "staging"}
     label_set = meter.get_label_set(kvp)
     handle = metric.get_handle(label_set)
     result = '{}(data="{}", label_values="{}", metric_data={})'.format(
         ConsoleMetricsExporter.__name__, metric, label_set, handle
     )
     with mock.patch("sys.stdout") as mock_stdout:
         exporter.export([(metric, label_set)])
         mock_stdout.write.assert_any_call(result)
Esempio n. 11
0
 def test_get_label_set(self):
     meter = metrics.Meter()
     kvp = {"environment": "staging", "a": "z"}
     label_set = meter.get_label_set(kvp)
     encoded = tuple(sorted(kvp.items()))
     self.assertIs(meter.labels[encoded], label_set)
Esempio n. 12
0
 def test_extends_api(self):
     meter = metrics.Meter()
     self.assertIsInstance(meter, metrics_api.Meter)
Esempio n. 13
0
 def test_get_label_set_exists(self):
     meter = metrics.Meter()
     kvp = {"environment": "staging", "a": "z"}
     label_set = meter.get_label_set(kvp)
     label_set2 = meter.get_label_set(kvp)
     self.assertIs(label_set, label_set2)
Esempio n. 14
0
 def test_get_label_set_empty(self):
     meter = metrics.Meter()
     kvp = {}
     label_set = meter.get_label_set(kvp)
     self.assertEqual(label_set, metrics.EMPTY_LABEL_SET)
 def test_meter(self):
     meter = metrics.Meter()
     metric = meter.create_metric("", "", "", float, metrics.Counter)
     self.assertNotIsInstance(metric, DefaultMetric)