diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2021-03-16 10:57:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-16 10:57:54 +0000 |
commit | 5b5bc188cfc3c31be83058ccbe5a17bfde1b0021 (patch) | |
tree | 6749e4a449223e192c03d2fa1d5c61573e28b9a0 /synapse/config | |
parent | Prevent bundling aggregations for state events (#9619) (diff) | |
download | synapse-5b5bc188cfc3c31be83058ccbe5a17bfde1b0021.tar.xz |
Clean up config settings for stats (#9604)
... and complain if people try to turn it off.
Diffstat (limited to 'synapse/config')
-rw-r--r-- | synapse/config/stats.py | 45 |
1 files changed, 28 insertions, 17 deletions
diff --git a/synapse/config/stats.py b/synapse/config/stats.py index b559bfa411..2258329a52 100644 --- a/synapse/config/stats.py +++ b/synapse/config/stats.py @@ -13,10 +13,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -import sys +import logging from ._base import Config +ROOM_STATS_DISABLED_WARN = """\ +WARNING: room/user statistics have been disabled via the stats.enabled +configuration setting. This means that certain features (such as the room +directory) will not operate correctly. Future versions of Synapse may ignore +this setting. + +To fix this warning, remove the stats.enabled setting from your configuration +file. +--------------------------------------------------------------------------------""" + +logger = logging.getLogger(__name__) + class StatsConfig(Config): """Stats Configuration @@ -28,30 +40,29 @@ class StatsConfig(Config): def read_config(self, config, **kwargs): self.stats_enabled = True self.stats_bucket_size = 86400 * 1000 - self.stats_retention = sys.maxsize stats_config = config.get("stats", None) if stats_config: self.stats_enabled = stats_config.get("enabled", self.stats_enabled) self.stats_bucket_size = self.parse_duration( stats_config.get("bucket_size", "1d") ) - self.stats_retention = self.parse_duration( - stats_config.get("retention", "%ds" % (sys.maxsize,)) - ) + if not self.stats_enabled: + logger.warning(ROOM_STATS_DISABLED_WARN) def generate_config_section(self, config_dir_path, server_name, **kwargs): return """ - # Local statistics collection. Used in populating the room directory. + # Settings for local room and user statistics collection. See + # docs/room_and_user_statistics.md. # - # 'bucket_size' controls how large each statistics timeslice is. It can - # be defined in a human readable short form -- e.g. "1d", "1y". - # - # 'retention' controls how long historical statistics will be kept for. - # It can be defined in a human readable short form -- e.g. "1d", "1y". - # - # - #stats: - # enabled: true - # bucket_size: 1d - # retention: 1y + stats: + # Uncomment the following to disable room and user statistics. Note that doing + # so may cause certain features (such as the room directory) not to work + # correctly. + # + #enabled: false + + # The size of each timeslice in the room_stats_historical and + # user_stats_historical tables, as a time period. Defaults to "1d". + # + #bucket_size: 1h """ |