Track user_dir current event stream position
This commit is contained in:
parent
5cb15c0443
commit
ef7865e2f2
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue