From 25af0147823903cd168e493eb12964f438d712dc Mon Sep 17 00:00:00 2001 From: Olivier 'reivilibre Date: Fri, 13 Feb 2026 17:33:05 +0000 Subject: [PATCH] Add some measurements on what takes the time --- synapse/replication/tcp/redis.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/synapse/replication/tcp/redis.py b/synapse/replication/tcp/redis.py index fb39bb471d..d042d82ca4 100644 --- a/synapse/replication/tcp/redis.py +++ b/synapse/replication/tcp/redis.py @@ -54,6 +54,7 @@ from synapse.replication.tcp.protocol import ( tcp_outbound_commands_counter, ) from synapse.util.duration import Duration +from synapse.util.metrics import Measure if TYPE_CHECKING: from synapse.replication.tcp.handler import ReplicationCommandHandler @@ -222,8 +223,13 @@ class RedisSubscriber(SubscriberProtocol): # if so. if isawaitable(res): + + async def wrapper(): + with Measure(f"reireplication_on_{cmd.NAME}"): + return await res + self.hs.run_as_background_process( - "replication-" + cmd.get_logcontext_id(), lambda: res + "replication-" + cmd.get_logcontext_id(), wrapper ) def connectionLost(self, reason: Failure) -> None: # type: ignore[override]