From 81af6180db3acf6a02c02b913970864f82a7cab7 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 14 Mar 2025 15:42:22 +0100 Subject: [PATCH] set logging per trigger --- cpu_governor_auto_adjust.xml | 7 ++++++- cpu_governor_auto_adjust/config.py | 3 +++ cpu_governor_auto_adjust/trigger.py | 1 + cpu_governor_auto_adjust/triggers/cpu_load.py | 2 +- pyproject.toml | 2 +- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/cpu_governor_auto_adjust.xml b/cpu_governor_auto_adjust.xml index 93f1446..0d1ba11 100644 --- a/cpu_governor_auto_adjust.xml +++ b/cpu_governor_auto_adjust.xml @@ -1,23 +1,26 @@ - Debug + Info true powersave test_trigger1 + Info run_once 1 ondemand test_trigger2 + Info run_once 3 conservative roon + Info callback 2 performance @@ -32,6 +35,7 @@ wakeup + Info run_once 5 conservative @@ -42,6 +46,7 @@ cpu_load + Debug run_once 5 performance diff --git a/cpu_governor_auto_adjust/config.py b/cpu_governor_auto_adjust/config.py index 4d530f7..90b5c6d 100644 --- a/cpu_governor_auto_adjust/config.py +++ b/cpu_governor_auto_adjust/config.py @@ -12,6 +12,7 @@ from cpu_governor_auto_adjust.logger import getLogger class TriggerTuple(NamedTuple): name: str + loglevel: str type: str interval_in_seconds: int governor: str @@ -82,6 +83,7 @@ class Config: _trigger_elements = self._get_multiple_elements_by_xpath('triggers/trigger') for trigger_elem in _trigger_elements: name = self._get_single_text_value_from_xpath('name', trigger_elem) + loglevel = self._get_single_text_value_from_xpath('logLevel', trigger_elem) type = self._get_single_text_value_from_xpath('type', trigger_elem) interval_in_seconds = self._get_single_text_value_from_xpath('intervalInSeconds', trigger_elem) governor = self._get_single_text_value_from_xpath('governor', trigger_elem) @@ -93,6 +95,7 @@ class Config: custom_config = OrderedDict({}) _new_trigger = TriggerTuple( name=name, + loglevel=loglevel, type=type, interval_in_seconds=int(interval_in_seconds), governor=governor, diff --git a/cpu_governor_auto_adjust/trigger.py b/cpu_governor_auto_adjust/trigger.py index 60e887a..6e5fe41 100644 --- a/cpu_governor_auto_adjust/trigger.py +++ b/cpu_governor_auto_adjust/trigger.py @@ -9,6 +9,7 @@ class Trigger(AppClass): def __init__(self, _config: Config) -> None: super().__init__(_config) self.active: bool = False + self.log.setLevel(self.config.loglevel.upper()) def __hash__(self): return super().__hash__(hash(self.name)) diff --git a/cpu_governor_auto_adjust/triggers/cpu_load.py b/cpu_governor_auto_adjust/triggers/cpu_load.py index 47ed6a0..1d0cb44 100644 --- a/cpu_governor_auto_adjust/triggers/cpu_load.py +++ b/cpu_governor_auto_adjust/triggers/cpu_load.py @@ -53,7 +53,7 @@ class CpuLoadTrigger(Trigger): elif current_active and not new_active: if (current_time - timedelta(minutes=self.cooldown_period_in_minutes)) < self.timestamp_last_governor_change: - self.log.info("cooldown period, staying on governor: %s, current load: %s", self.governor.name, self.current_load) + self.log.debug("cooldown period, staying on governor: %s, current load: %s", self.governor.name, self.current_load) return self.log.info( diff --git a/pyproject.toml b/pyproject.toml index c3c2e55..5c8f0d4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "cpu_governor_auto_adjust" -version = "0.1.42" +version = "0.1.43" description = "This application has been developed to automatically change cpu governor based on certain triggers." authors = [ { name = "Martin Reurekas", email = "martin@semrks.nl" }