From ef7865e2f2a8cd353a332244e81de8db0370b6d2 Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Wed, 23 Jan 2019 14:17:21 +0000 Subject: Track user_dir current event stream position --- synapse/handlers/user_directory.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/synapse/handlers/user_directory.py b/synapse/handlers/user_directory.py index 3c40999338..55e0332549 100644 --- a/synapse/handlers/user_directory.py +++ b/synapse/handlers/user_directory.py @@ -19,6 +19,7 @@ from six import iteritems from twisted.internet import defer +from prometheus_client import Gauge from synapse.api.constants import EventTypes, JoinRules, Membership from synapse.metrics.background_process_metrics import run_as_background_process from synapse.storage.roommember import ProfileInfo @@ -27,6 +28,8 @@ from synapse.util.metrics import Measure logger = logging.getLogger(__name__) +# Expose event stream processing position +event_processing_position = Gauge("event_stream_processing_position", "Currently processed up to position in the event stream") class UserDirectoryHandler(object): """Handles querying of and keeping updated the user_directory. @@ -163,6 +166,10 @@ class UserDirectoryHandler(object): yield self._handle_deltas(deltas) self.pos = deltas[-1]["stream_id"] + + # Expose current event processing position to prometheus + event_processing_position.set(self.pos) + yield self.store.update_user_directory_stream_pos(self.pos) @defer.inlineCallbacks -- cgit 1.5.1