diff options
author | Erik Johnston <erikj@jki.re> | 2016-08-22 12:13:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-08-22 12:13:07 +0100 |
commit | e65bc7d3153db2c2670a5bd255dd76a6906679d4 (patch) | |
tree | f96f7e285fbb4d678fab6e95e7ec936859027cd6 /synapse/notifier.py | |
parent | Merge pull request #1032 from matrix-org/matthew/workerdoc (diff) | |
parent | Add exception logging. Fix typo (diff) | |
download | synapse-e65bc7d3153db2c2670a5bd255dd76a6906679d4.tar.xz |
Merge pull request #1031 from matrix-org/erikj/measure_notifier
Add more Measure blocks
Diffstat (limited to 'synapse/notifier.py')
-rw-r--r-- | synapse/notifier.py | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/synapse/notifier.py b/synapse/notifier.py index 40a148994f..c48024096d 100644 --- a/synapse/notifier.py +++ b/synapse/notifier.py @@ -20,6 +20,7 @@ from synapse.api.errors import AuthError from synapse.util.logutils import log_function from synapse.util.async import ObservableDeferred from synapse.util.logcontext import PreserveLoggingContext +from synapse.util.metrics import Measure from synapse.types import StreamToken from synapse.visibility import filter_events_for_client import synapse.metrics @@ -231,24 +232,25 @@ class Notifier(object): Will wake up all listeners for the given users and rooms. """ with PreserveLoggingContext(): - user_streams = set() + with Measure(self.clock, "on_new_event"): + user_streams = set() - for user in users: - user_stream = self.user_to_user_stream.get(str(user)) - if user_stream is not None: - user_streams.add(user_stream) + for user in users: + user_stream = self.user_to_user_stream.get(str(user)) + if user_stream is not None: + user_streams.add(user_stream) - for room in rooms: - user_streams |= self.room_to_user_streams.get(room, set()) + for room in rooms: + user_streams |= self.room_to_user_streams.get(room, set()) - time_now_ms = self.clock.time_msec() - for user_stream in user_streams: - try: - user_stream.notify(stream_key, new_token, time_now_ms) - except: - logger.exception("Failed to notify listener") + time_now_ms = self.clock.time_msec() + for user_stream in user_streams: + try: + user_stream.notify(stream_key, new_token, time_now_ms) + except: + logger.exception("Failed to notify listener") - self.notify_replication() + self.notify_replication() def on_new_replication_data(self): """Used to inform replication listeners that something has happend |