Store serialized metrics locally (#13833)

This commit is contained in:
Seth Foster
2023-04-11 15:06:48 -04:00
committed by GitHub
parent 6b0fe8d137
commit 1c51ef8a69

View File

@@ -298,11 +298,13 @@ class Metrics:
try: try:
current_time = time.time() current_time = time.time()
if current_time - self.previous_send_metrics.decode(self.conn) > self.send_metrics_interval: if current_time - self.previous_send_metrics.decode(self.conn) > self.send_metrics_interval:
serialized_metrics = self.serialize_local_metrics()
payload = { payload = {
'instance': self.instance_name, 'instance': self.instance_name,
'metrics': self.serialize_local_metrics(), 'metrics': serialized_metrics,
} }
# store the serialized data locally as well, so that load_other_metrics will read it
self.conn.set(root_key + '_instance_' + self.instance_name, serialized_metrics)
emit_channel_notification("metrics", payload) emit_channel_notification("metrics", payload)
self.previous_send_metrics.set(current_time) self.previous_send_metrics.set(current_time)