From 50b7e147b435f9ee7f076c367addf34fb7ccff1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Ma=C5=9Blanka?= <piotr.maslanka@henrietta.com.pl> Date: Mon, 7 Jun 2021 16:24:28 +0200 Subject: [PATCH] 2.17.2 --- CHANGELOG.md | 2 ++ satella/__init__.py | 2 +- satella/instrumentation/metrics/metric_types/simple.py | 5 ++++- tests/test_coding/test_concurrent.py | 10 +++++----- .../test_instrumentation/test_metrics/test_metrics.py | 6 ++++++ 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dec1f20..cb60eea2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,2 +1,4 @@ # v2.17.2 +* **bugfix release** default values for metrics + diff --git a/satella/__init__.py b/satella/__init__.py index 123e9fd7..cee49d06 100644 --- a/satella/__init__.py +++ b/satella/__init__.py @@ -1 +1 @@ -__version__ = '2.17.2a1' +__version__ = '2.17.2' diff --git a/satella/instrumentation/metrics/metric_types/simple.py b/satella/instrumentation/metrics/metric_types/simple.py index eae3726c..03c844dc 100644 --- a/satella/instrumentation/metrics/metric_types/simple.py +++ b/satella/instrumentation/metrics/metric_types/simple.py @@ -11,10 +11,11 @@ class SimpleMetric(EmbeddedSubmetrics): CLASS_NAME = 'string' CONSTRUCTOR = str + DEFAULT_VALUE = '' def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - self.data = None # type: tp.Any + self.data = self.DEFAULT_VALUE # type: tp.Any def _handle(self, value, **labels) -> None: if self.embedded_submetrics_enabled or labels: @@ -33,9 +34,11 @@ class SimpleMetric(EmbeddedSubmetrics): class IntegerMetric(SimpleMetric): CLASS_NAME = 'int' CONSTRUCTOR = int + DEFAULT_VALUE = 0 @register_metric class FloatMetric(SimpleMetric, MeasurableMixin): CLASS_NAME = 'float' CONSTRUCTOR = float + DEFAULT_VALUE = 0.0 diff --git a/tests/test_coding/test_concurrent.py b/tests/test_coding/test_concurrent.py index 49db4072..cdbff9c6 100644 --- a/tests/test_coding/test_concurrent.py +++ b/tests/test_coding/test_concurrent.py @@ -485,15 +485,16 @@ class TestConcurrent(unittest.TestCase): @unittest.skipUnless(sys.implementation.name == 'cpython', 'Does not work on PyPy :(') def test_condition(self): dct = {'a': False} + slf = self cond = Condition() interlock_cond = Condition() class MyThread(TerminableThread): - def run(self2) -> None: - self2.safe_sleep(-2) - self2.safe_sleep(0.5) + def run(self) -> None: + self.safe_sleep(-2) + self.safe_sleep(0.5) interlock_cond.notify() - self.assertRaises(WouldWaitMore, lambda: cond.wait(timeout=0.5)) + slf.assertRaises(WouldWaitMore, lambda: cond.wait(timeout=0.5)) cond.wait(timeout=0.5, dont_raise=True) cond.wait() dct['a'] = True @@ -590,7 +591,6 @@ class TestConcurrent(unittest.TestCase): mtt = MyTerminableThread() mtt.start() - a = mtt.a time.sleep(0.3) self.assertIn(mtt.a, (1, 2)) self.assertFalse(mtt.overrun) diff --git a/tests/test_instrumentation/test_metrics/test_metrics.py b/tests/test_instrumentation/test_metrics/test_metrics.py index d64ee8c2..df00b539 100644 --- a/tests/test_instrumentation/test_metrics/test_metrics.py +++ b/tests/test_instrumentation/test_metrics/test_metrics.py @@ -29,6 +29,12 @@ class TestMetric(unittest.TestCase): kid = choose('.kid', data) self.assertIsNone(kid) + def test_default_float(self): + met = getMetric('test.float', 'float') + data = met.to_metric_data() + v = choose('', data) + self.assertEqual(v.value, 0.0) + def test_uptime_metric(self): up_metric = getMetric('uptime.metric', 'uptime') time.sleep(1) -- GitLab