diff --git a/src/diamond/metric.py b/src/diamond/metric.py index b3d606bc9..6ba177aba 100644 --- a/src/diamond/metric.py +++ b/src/diamond/metric.py @@ -85,7 +85,7 @@ def parse(cls, string): Parse a string and create a metric """ match = re.match(r'^(?P[A-Za-z0-9\.\-_]+)\s+' - + '\(?P[0-9\.]+)\s+' + + '(?P[0-9\.]+)\s+' + '(?P[0-9\.]+)(\n?)$', string) try: diff --git a/src/diamond/test/testmetric.py b/src/diamond/test/testmetric.py index 77c4a2e4d..649bcacfb 100644 --- a/src/diamond/test/testmetric.py +++ b/src/diamond/test/testmetric.py @@ -84,6 +84,15 @@ def testgetMetricPathHostNone(self): message = 'Actual %s, expected %s' % (actual_value, expected_value) self.assertEqual(actual_value, expected_value, message) + def test_parse(self): + metric = Metric('test.parse', 0) + + actual_value = str(metric).strip() + expected_value = str(Metric.parse(actual_value)).strip() + + message = 'Actual %s, expected %s' % (actual_value, expected_value) + self.assertEqual(actual_value, expected_value, message) + def test_issue_723(self): metrics = [ 9.97143369909e-05,