diff options
-rw-r--r-- | changelog.d/3590.misc | 1 | ||||
-rw-r--r-- | synapse/storage/events.py | 32 |
2 files changed, 22 insertions, 11 deletions
diff --git a/changelog.d/3590.misc b/changelog.d/3590.misc new file mode 100644 index 0000000000..0f1688fd0f --- /dev/null +++ b/changelog.d/3590.misc @@ -0,0 +1 @@ +Add some measure blocks to persist_events diff --git a/synapse/storage/events.py b/synapse/storage/events.py index c2910094d0..392935cacf 100644 --- a/synapse/storage/events.py +++ b/synapse/storage/events.py @@ -417,19 +417,29 @@ class EventsStore(EventsWorkerStore): logger.info( "Calculating state delta for room %s", room_id, ) - current_state = yield self._get_new_state_after_events( - room_id, - ev_ctx_rm, - latest_event_ids, - new_latest_event_ids, - ) + + with Measure( + self._clock, + "persist_events.get_new_state_after_events", + ): + current_state = yield self._get_new_state_after_events( + room_id, + ev_ctx_rm, + latest_event_ids, + new_latest_event_ids, + ) + if current_state is not None: current_state_for_room[room_id] = current_state - delta = yield self._calculate_state_delta( - room_id, current_state, - ) - if delta is not None: - state_delta_for_room[room_id] = delta + with Measure( + self._clock, + "persist_events.calculate_state_delta", + ): + delta = yield self._calculate_state_delta( + room_id, current_state, + ) + if delta is not None: + state_delta_for_room[room_id] = delta yield self.runInteraction( "persist_events", |