summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-04-14 13:42:22 +0100
committerErik Johnston <erik@matrix.org>2016-04-14 13:42:22 +0100
commit9ae64c9910e8d6cef2dcb9aba6330e497195b8c7 (patch)
tree9c152015405fca040c9a6f4c091062279593c56e /synapse
parentMerge pull request #725 from matrix-org/dbkr/push_only_joined (diff)
downloadsynapse-9ae64c9910e8d6cef2dcb9aba6330e497195b8c7.tar.xz
Measure push action generator
Diffstat (limited to 'synapse')
-rw-r--r--synapse/push/action_generator.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/synapse/push/action_generator.py b/synapse/push/action_generator.py

index 59e512f507..a0160994b7 100644 --- a/synapse/push/action_generator.py +++ b/synapse/push/action_generator.py
@@ -17,6 +17,8 @@ from twisted.internet import defer from .bulk_push_rule_evaluator import evaluator_for_event +from synapse.util.metrics import Measure + import logging logger = logging.getLogger(__name__) @@ -25,6 +27,7 @@ logger = logging.getLogger(__name__) class ActionGenerator: def __init__(self, hs): self.hs = hs + self.clock = hs.get_clock() self.store = hs.get_datastore() # really we want to get all user ids and all profile tags too, # since we want the actions for each profile tag for every user and @@ -35,14 +38,15 @@ class ActionGenerator: @defer.inlineCallbacks def handle_push_actions_for_event(self, event, context, handler): - bulk_evaluator = yield evaluator_for_event( - event, self.hs, self.store - ) - - actions_by_user = yield bulk_evaluator.action_for_event_by_user( - event, handler, context.current_state - ) - - context.push_actions = [ - (uid, actions) for uid, actions in actions_by_user.items() - ] + with Measure(self.clock, "handle_push_actions_for_event"): + bulk_evaluator = yield evaluator_for_event( + event, self.hs, self.store + ) + + actions_by_user = yield bulk_evaluator.action_for_event_by_user( + event, handler, context.current_state + ) + + context.push_actions = [ + (uid, actions) for uid, actions in actions_by_user.items() + ]