set logging per trigger

This commit is contained in:
2025-03-14 15:42:22 +01:00
parent 7d826b97af
commit 81af6180db
5 changed files with 12 additions and 3 deletions
+6 -1
View File
@@ -1,23 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<cpuGovernorAutoAdjust>
<logLevel>Debug</logLevel>
<logLevel>Info</logLevel>
<testMode>true</testMode>
<defaultGovernor>powersave</defaultGovernor>
<triggers>
<trigger>
<name>test_trigger1</name>
<logLevel>Info</logLevel>
<type>run_once</type>
<intervalInSeconds>1</intervalInSeconds>
<governor>ondemand</governor>
</trigger>
<trigger>
<name>test_trigger2</name>
<logLevel>Info</logLevel>
<type>run_once</type>
<intervalInSeconds>3</intervalInSeconds>
<governor>conservative</governor>
</trigger>
<trigger>
<name>roon</name>
<logLevel>Info</logLevel>
<type>callback</type>
<intervalInSeconds>2</intervalInSeconds>
<governor>performance</governor>
@@ -32,6 +35,7 @@
</trigger>
<trigger>
<name>wakeup</name>
<logLevel>Info</logLevel>
<type>run_once</type>
<intervalInSeconds>5</intervalInSeconds>
<governor>conservative</governor>
@@ -42,6 +46,7 @@
</trigger>
<trigger>
<name>cpu_load</name>
<logLevel>Debug</logLevel>
<type>run_once</type>
<intervalInSeconds>5</intervalInSeconds>
<governor>performance</governor>
+3
View File
@@ -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,
+1
View File
@@ -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))
@@ -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(
+1 -1
View File
@@ -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" }