Initial attempt at a scalar callback-based metric to give instantaneous snapshot gauges

This commit is contained in:
Paul "LeoNerd" Evans 2015-03-04 16:46:44 +00:00
parent b0cdf097f4
commit d8caa5454d
3 changed files with 45 additions and 2 deletions

View file

@ -15,7 +15,9 @@
from tests import unittest
from synapse.metrics.metric import CounterMetric, CacheCounterMetric
from synapse.metrics.metric import (
CounterMetric, CallbackMetric, CacheCounterMetric
)
class CounterMetricTestCase(unittest.TestCase):
@ -61,6 +63,24 @@ class CounterMetricTestCase(unittest.TestCase):
])
class CallbackMetricTestCase(unittest.TestCase):
def test_callback(self):
d = dict()
metric = CallbackMetric("size", lambda: len(d))
self.assertEquals(metric.render(), [
"size 0",
])
d["key"] = "value"
self.assertEquals(metric.render(), [
"size 1",
])
class CacheCounterMetricTestCase(unittest.TestCase):
def test_cachecounter(self):