|
@@ -33,6 +33,8 @@ class BaseStorage(object):
|
|
|
DATAKEY_VPN = '__VPN__'
|
|
|
FIELDKEY_UPDATED = '__UPDATED__'
|
|
|
|
|
|
+ metric_handler = None
|
|
|
+
|
|
|
def open(self):
|
|
|
"""
|
|
|
When overridden in a subclass,
|
|
@@ -129,6 +131,17 @@ class BaseStorage(object):
|
|
|
|
|
|
return update
|
|
|
|
|
|
+ def __send_metric(self, key, value, ts=None):
|
|
|
+ if ts is None:
|
|
|
+ ts = time.time()
|
|
|
+
|
|
|
+ func = self.metric_handler
|
|
|
+ if func is None or not callable(func):
|
|
|
+ # no handler -> do nothing
|
|
|
+ return
|
|
|
+
|
|
|
+ func(self, key, value, ts)
|
|
|
+
|
|
|
def merge_new_data(self, newdata):
|
|
|
"""Updates data in the storage by merging the new data."""
|
|
|
|