Browse Source

Add some comments about the reactor tick time metric

Richard van der Hoff 6 years ago
parent
commit
87b7d72760
1 changed files with 6 additions and 1 deletions
  1. 6 1
      synapse/metrics/__init__.py

+ 6 - 1
synapse/metrics/__init__.py

@@ -146,10 +146,15 @@ def runUntilCurrentTimer(func):
             num_pending += 1
 
         num_pending += len(reactor.threadCallQueue)
-
         start = time.time() * 1000
         ret = func(*args, **kwargs)
         end = time.time() * 1000
+
+        # record the amount of wallclock time spent running pending calls.
+        # This is a proxy for the actual amount of time between reactor polls,
+        # since about 25% of time is actually spent running things triggered by
+        # I/O events, but that is harder to capture without rewriting half the
+        # reactor.
         tick_time.inc_by(end - start)
         pending_calls_metric.inc_by(num_pending)