set logging per trigger
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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" }
|
||||
|
||||
Reference in New Issue
Block a user