diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2018-04-11 11:20:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-11 11:20:01 +0100 |
commit | 233699c42e1cc6c0b3f3fa28bf62f80204f701ee (patch) | |
tree | ece93e263e91f64f1bb24725b69734b4bf32274b /synapse/metrics/__init__.py | |
parent | Merge pull request #3086 from matrix-org/r30_stats (diff) | |
parent | Don't disable GC when running on PyPy (diff) | |
download | synapse-233699c42e1cc6c0b3f3fa28bf62f80204f701ee.tar.xz |
Merge pull request #2760 from Valodim/pypy
Synapse on PyPy
Diffstat (limited to 'synapse/metrics/__init__.py')
-rw-r--r-- | synapse/metrics/__init__.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/synapse/metrics/__init__.py b/synapse/metrics/__init__.py index 50d99d7a5c..2ed82b04a5 100644 --- a/synapse/metrics/__init__.py +++ b/synapse/metrics/__init__.py @@ -17,6 +17,7 @@ import logging import functools import time import gc +import platform from twisted.internet import reactor @@ -30,6 +31,7 @@ from .process_collector import register_process_collector logger = logging.getLogger(__name__) +running_on_pypy = platform.python_implementation() == 'PyPy' all_metrics = [] all_collectors = [] @@ -174,6 +176,9 @@ def runUntilCurrentTimer(func): tick_time.inc_by(end - start) pending_calls_metric.inc_by(num_pending) + if running_on_pypy: + return ret + # Check if we need to do a manual GC (since its been disabled), and do # one if necessary. threshold = gc.get_threshold() @@ -206,6 +211,7 @@ try: # We manually run the GC each reactor tick so that we can get some metrics # about time spent doing GC, - gc.disable() + if not running_on_pypy: + gc.disable() except AttributeError: pass |