profiling: fix for 'none'

This commit is contained in:
Peter Bieringer
2025-12-08 17:55:11 +01:00
parent 15ebb1e647
commit 2df265617b

View File

@@ -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)