diff options
author | Erik Johnston <erik@matrix.org> | 2024-06-19 10:43:33 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2024-06-19 10:43:33 +0100 |
commit | afc675ba86f7b3e64b5975192012d947caa086fd (patch) | |
tree | 4f5fcbffbf5f6cd3ab08c2267e3ee0b695a249e5 /synapse/app/_base.py | |
parent | Handle large chain calc better (#17291) (diff) | |
download | synapse-afc675ba86f7b3e64b5975192012d947caa086fd.tar.xz |
Time atexit freeze
Diffstat (limited to '')
-rw-r--r-- | synapse/app/_base.py | 10 |
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: |