Track user_dir current event stream position
1 files changed, 7 insertions, 0 deletions
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
|