diff --git a/cpu_governor_auto_adjust.xml b/cpu_governor_auto_adjust.xml index 8e82b3e..93f1446 100644 --- a/cpu_governor_auto_adjust.xml +++ b/cpu_governor_auto_adjust.xml @@ -49,6 +49,7 @@ 0.3 0.2 0.1 + 3 diff --git a/cpu_governor_auto_adjust/triggers/cpu_load.py b/cpu_governor_auto_adjust/triggers/cpu_load.py index 9b9b53e..47ed6a0 100644 --- a/cpu_governor_auto_adjust/triggers/cpu_load.py +++ b/cpu_governor_auto_adjust/triggers/cpu_load.py @@ -8,7 +8,7 @@ from datetime import datetime, timedelta class CpuLoadTrigger(Trigger): def __init__(self, _config: Config) -> None: super().__init__(_config) - self.timestamp_last_governor_change = datetime.now() - timedelta(minutes=10) + self.timestamp_last_governor_change = datetime.now() - timedelta(minutes=self.cooldown_period_in_minutes + 1) @cached_property def one_minute_load_threshold(self) -> float: @@ -25,6 +25,10 @@ class CpuLoadTrigger(Trigger): @cached_property def threshold(self) -> tuple[float, float, float]: return self.one_minute_load_threshold, self.five_minute_load_threshold, self.ten_minute_load_threshold + + @cached_property + def cooldown_period_in_minutes(self) -> float: + return float(self.config.custom_config['cooldownPeriodInMinutes']) @property def current_load(self) -> tuple[float, float, float]: @@ -48,8 +52,8 @@ class CpuLoadTrigger(Trigger): self.timestamp_last_governor_change = current_time elif current_active and not new_active: - if (current_time - timedelta(minutes=5)) < self.timestamp_last_governor_change: - self.log.info("cooldown period, staying on governor: %s", self.governor.name) + 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) return self.log.info( diff --git a/pyproject.toml b/pyproject.toml index 7d2641d..c3c2e55 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "cpu_governor_auto_adjust" -version = "0.1.41" +version = "0.1.42" description = "This application has been developed to automatically change cpu governor based on certain triggers." authors = [ { name = "Martin Reurekas", email = "martin@semrks.nl" }