summary refs log tree commit diff
path: root/synapse/app/_base.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2024-06-19 10:43:33 +0100
committerErik Johnston <erik@matrix.org>2024-06-19 10:43:33 +0100
commitafc675ba86f7b3e64b5975192012d947caa086fd (patch)
tree4f5fcbffbf5f6cd3ab08c2267e3ee0b695a249e5 /synapse/app/_base.py
parentHandle large chain calc better (#17291) (diff)
downloadsynapse-afc675ba86f7b3e64b5975192012d947caa086fd.tar.xz
Time atexit freeze
Diffstat (limited to '')
-rw-r--r--synapse/app/_base.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/synapse/app/_base.py b/synapse/app/_base.py
index 4cc260d551..722e817ffb 100644
--- a/synapse/app/_base.py
+++ b/synapse/app/_base.py
@@ -25,6 +25,7 @@ import os
 import signal
 import socket
 import sys
+import time
 import traceback
 import warnings
 from textwrap import indent
@@ -624,9 +625,16 @@ async def start(hs: "HomeServer") -> None:
         gc.collect()
         gc.freeze()
 
+        def exit() -> None:
+            start = time.time()
+            gc.freeze()
+            end = time.time()
+
+            logger.info("GC freeze took %d ms", (end - start) * 1000)
+
         # Speed up shutdowns by freezing all allocated objects. This moves everything
         # into the permanent generation and excludes them from the final GC.
-        atexit.register(gc.freeze)
+        atexit.register(exit)
 
 
 def reload_cache_config(config: HomeServerConfig) -> None: