diff --git a/radicale/app/__init__.py b/radicale/app/__init__.py index 882787ec..d5d480e2 100644 --- a/radicale/app/__init__.py +++ b/radicale/app/__init__.py @@ -36,7 +36,7 @@ import random import time import zlib from http import client -from typing import Iterable, List, Mapping, Sequence, Tuple, Union +from typing import Iterable, List, Mapping, Tuple, Union from radicale import config, httputils, log, pathutils, types from radicale.app.base import ApplicationBase @@ -60,8 +60,6 @@ _IntermediateResponse = Tuple[str, List[Tuple[str, str]], Iterable[bytes]] REQUEST_METHODS = ["DELETE", "GET", "HEAD", "MKCALENDAR", "MKCOL", "MOVE", "OPTIONS", "POST", "PROPFIND", "PROPPATCH", "PUT", "REPORT"] -PROFILING: Sequence[str] = ("per_request", "per_request_method") - class Application(ApplicationPartDelete, ApplicationPartHead, ApplicationPartGet, ApplicationPartMkcalendar, @@ -134,14 +132,13 @@ class Application(ApplicationPartDelete, ApplicationPartHead, self._profiling_per_request_min_duration = configuration.get("logging", "profiling_per_request_min_duration") self._profiling_per_request_method_interval = configuration.get("logging", "profiling_per_request_method_interval") self._profiling_top_x_functions = configuration.get("logging", "profiling_top_x_functions") - if self._profiling == "per_request": - self._profiling_per_request = True - elif self._profiling == "per_request_method": - self._profiling_per_request_method = True - else: - logger.warning("profiling: %s (not supported, disabled)", self._profiling) - if self._profiling_per_request or self._profiling_per_request_method: + if self._profiling in config.PROFILING: logger.info("profiling: %s", self._profiling) + if self._profiling == "per_request": + self._profiling_per_request = True + elif self._profiling == "per_request_method": + self._profiling_per_request_method = True + if self._profiling_per_request or self._profiling_per_request_method: logger.info("profiling top X functions: %d", self._profiling_top_x_functions) if self._profiling_per_request: logger.info("profiling per request minimum duration: %d (below are skipped)", self._profiling_per_request_min_duration)