set logging per trigger
This commit is contained in:
@@ -1,23 +1,26 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<cpuGovernorAutoAdjust>
|
<cpuGovernorAutoAdjust>
|
||||||
<logLevel>Debug</logLevel>
|
<logLevel>Info</logLevel>
|
||||||
<testMode>true</testMode>
|
<testMode>true</testMode>
|
||||||
<defaultGovernor>powersave</defaultGovernor>
|
<defaultGovernor>powersave</defaultGovernor>
|
||||||
<triggers>
|
<triggers>
|
||||||
<trigger>
|
<trigger>
|
||||||
<name>test_trigger1</name>
|
<name>test_trigger1</name>
|
||||||
|
<logLevel>Info</logLevel>
|
||||||
<type>run_once</type>
|
<type>run_once</type>
|
||||||
<intervalInSeconds>1</intervalInSeconds>
|
<intervalInSeconds>1</intervalInSeconds>
|
||||||
<governor>ondemand</governor>
|
<governor>ondemand</governor>
|
||||||
</trigger>
|
</trigger>
|
||||||
<trigger>
|
<trigger>
|
||||||
<name>test_trigger2</name>
|
<name>test_trigger2</name>
|
||||||
|
<logLevel>Info</logLevel>
|
||||||
<type>run_once</type>
|
<type>run_once</type>
|
||||||
<intervalInSeconds>3</intervalInSeconds>
|
<intervalInSeconds>3</intervalInSeconds>
|
||||||
<governor>conservative</governor>
|
<governor>conservative</governor>
|
||||||
</trigger>
|
</trigger>
|
||||||
<trigger>
|
<trigger>
|
||||||
<name>roon</name>
|
<name>roon</name>
|
||||||
|
<logLevel>Info</logLevel>
|
||||||
<type>callback</type>
|
<type>callback</type>
|
||||||
<intervalInSeconds>2</intervalInSeconds>
|
<intervalInSeconds>2</intervalInSeconds>
|
||||||
<governor>performance</governor>
|
<governor>performance</governor>
|
||||||
@@ -32,6 +35,7 @@
|
|||||||
</trigger>
|
</trigger>
|
||||||
<trigger>
|
<trigger>
|
||||||
<name>wakeup</name>
|
<name>wakeup</name>
|
||||||
|
<logLevel>Info</logLevel>
|
||||||
<type>run_once</type>
|
<type>run_once</type>
|
||||||
<intervalInSeconds>5</intervalInSeconds>
|
<intervalInSeconds>5</intervalInSeconds>
|
||||||
<governor>conservative</governor>
|
<governor>conservative</governor>
|
||||||
@@ -42,6 +46,7 @@
|
|||||||
</trigger>
|
</trigger>
|
||||||
<trigger>
|
<trigger>
|
||||||
<name>cpu_load</name>
|
<name>cpu_load</name>
|
||||||
|
<logLevel>Debug</logLevel>
|
||||||
<type>run_once</type>
|
<type>run_once</type>
|
||||||
<intervalInSeconds>5</intervalInSeconds>
|
<intervalInSeconds>5</intervalInSeconds>
|
||||||
<governor>performance</governor>
|
<governor>performance</governor>
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ from cpu_governor_auto_adjust.logger import getLogger
|
|||||||
|
|
||||||
class TriggerTuple(NamedTuple):
|
class TriggerTuple(NamedTuple):
|
||||||
name: str
|
name: str
|
||||||
|
loglevel: str
|
||||||
type: str
|
type: str
|
||||||
interval_in_seconds: int
|
interval_in_seconds: int
|
||||||
governor: str
|
governor: str
|
||||||
@@ -82,6 +83,7 @@ class Config:
|
|||||||
_trigger_elements = self._get_multiple_elements_by_xpath('triggers/trigger')
|
_trigger_elements = self._get_multiple_elements_by_xpath('triggers/trigger')
|
||||||
for trigger_elem in _trigger_elements:
|
for trigger_elem in _trigger_elements:
|
||||||
name = self._get_single_text_value_from_xpath('name', trigger_elem)
|
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)
|
type = self._get_single_text_value_from_xpath('type', trigger_elem)
|
||||||
interval_in_seconds = self._get_single_text_value_from_xpath('intervalInSeconds', 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)
|
governor = self._get_single_text_value_from_xpath('governor', trigger_elem)
|
||||||
@@ -93,6 +95,7 @@ class Config:
|
|||||||
custom_config = OrderedDict({})
|
custom_config = OrderedDict({})
|
||||||
_new_trigger = TriggerTuple(
|
_new_trigger = TriggerTuple(
|
||||||
name=name,
|
name=name,
|
||||||
|
loglevel=loglevel,
|
||||||
type=type,
|
type=type,
|
||||||
interval_in_seconds=int(interval_in_seconds),
|
interval_in_seconds=int(interval_in_seconds),
|
||||||
governor=governor,
|
governor=governor,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ class Trigger(AppClass):
|
|||||||
def __init__(self, _config: Config) -> None:
|
def __init__(self, _config: Config) -> None:
|
||||||
super().__init__(_config)
|
super().__init__(_config)
|
||||||
self.active: bool = False
|
self.active: bool = False
|
||||||
|
self.log.setLevel(self.config.loglevel.upper())
|
||||||
|
|
||||||
def __hash__(self):
|
def __hash__(self):
|
||||||
return super().__hash__(hash(self.name))
|
return super().__hash__(hash(self.name))
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class CpuLoadTrigger(Trigger):
|
|||||||
|
|
||||||
elif current_active and not new_active:
|
elif current_active and not new_active:
|
||||||
if (current_time - timedelta(minutes=self.cooldown_period_in_minutes)) < self.timestamp_last_governor_change:
|
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
|
return
|
||||||
|
|
||||||
self.log.info(
|
self.log.info(
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[project]
|
[project]
|
||||||
name = "cpu_governor_auto_adjust"
|
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."
|
description = "This application has been developed to automatically change cpu governor based on certain triggers."
|
||||||
authors = [
|
authors = [
|
||||||
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
{ name = "Martin Reurekas", email = "martin@semrks.nl" }
|
||||||
|
|||||||
Reference in New Issue
Block a user