!109 optimize log printing
From: @boluo56 Reviewed-by: @hubin95 Signed-off-by: @hubin95
This commit is contained in:
commit
65459d322c
125
optimize-log-printing.patch
Normal file
125
optimize-log-printing.patch
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
From 91c37cec1639c79b2b5ddcd6b173b4d7aa0ce9db Mon Sep 17 00:00:00 2001
|
||||||
|
From: jinsaihang <jinsaihang@h-partners.com>
|
||||||
|
Date: Wed, 16 Oct 2024 14:51:24 +0800
|
||||||
|
Subject: [PATCH] optimize log printing
|
||||||
|
|
||||||
|
Signed-off-by: jinsaihang <jinsaihang@h-partners.com>
|
||||||
|
---
|
||||||
|
src/python/syssentry/alarm.py | 53 ++++++++++++++++---------------
|
||||||
|
src/python/syssentry/load_mods.py | 15 +++++----
|
||||||
|
2 files changed, 35 insertions(+), 33 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/python/syssentry/alarm.py b/src/python/syssentry/alarm.py
|
||||||
|
index bff527c..c3f2ee1 100644
|
||||||
|
--- a/src/python/syssentry/alarm.py
|
||||||
|
+++ b/src/python/syssentry/alarm.py
|
||||||
|
@@ -76,16 +76,26 @@ def update_alarm_list(alarm_info: Xalarm):
|
||||||
|
finally:
|
||||||
|
alarm_list_lock.release()
|
||||||
|
|
||||||
|
-def check_alarm_id_if_number(alarm_id):
|
||||||
|
- if isinstance(alarm_id, int):
|
||||||
|
- return True
|
||||||
|
- else:
|
||||||
|
+def validate_alarm_id(alarm_id):
|
||||||
|
+ if alarm_id is None:
|
||||||
|
+ return False
|
||||||
|
+ try:
|
||||||
|
+ alarm_id = int(alarm_id)
|
||||||
|
+ if MIN_ALARM_ID <= alarm_id <= MAX_ALARM_ID:
|
||||||
|
+ return True
|
||||||
|
+ else:
|
||||||
|
+ return False
|
||||||
|
+ except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
-def check_alarm_clear_time_if_positive_integer(alarm_clear_time):
|
||||||
|
- if isinstance(alarm_clear_time, int) and alarm_clear_time > 0:
|
||||||
|
- return True
|
||||||
|
- else:
|
||||||
|
+def validate_alarm_clear_time(alarm_clear_time):
|
||||||
|
+ try:
|
||||||
|
+ alarm_clear_time = int(alarm_clear_time)
|
||||||
|
+ if alarm_clear_time > 0 and alarm_clear_time <= sys.maxsize:
|
||||||
|
+ return True
|
||||||
|
+ else:
|
||||||
|
+ return False
|
||||||
|
+ except ValueError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def alarm_register():
|
||||||
|
@@ -93,34 +103,25 @@ def alarm_register():
|
||||||
|
# 初始化告警ID映射字典、告警老化时间字典
|
||||||
|
for task_type in TasksMap.tasks_dict:
|
||||||
|
for task_name in TasksMap.tasks_dict[task_type]:
|
||||||
|
- logging.info(f"alarm_register: {task_name} is registered")
|
||||||
|
task = TasksMap.tasks_dict[task_type][task_name]
|
||||||
|
- alarm_id = task.alarm_id
|
||||||
|
- if not check_alarm_id_if_number(alarm_id):
|
||||||
|
- logging.warning(f"Invalid alarm_id {alarm_id}: ignore {task_name} alarm")
|
||||||
|
+ if not validate_alarm_id(task.alarm_id):
|
||||||
|
+ logging.warning(f"Invalid alarm_id {task.alarm_id}: ignore {task_name} alarm")
|
||||||
|
continue
|
||||||
|
- if alarm_id < MIN_ALARM_ID or alarm_id > MAX_ALARM_ID:
|
||||||
|
- logging.warning(f"Invalid alarm_id {alarm_id}: ignore {task_name} alarm")
|
||||||
|
+ if not validate_alarm_clear_time(task.alarm_clear_time):
|
||||||
|
+ logging.warning(f"Invalid alarm_clear_time {task.alarm_clear_time}: ignore {task_name} alarm")
|
||||||
|
continue
|
||||||
|
+ task.alarm_id = int(task.alarm_id)
|
||||||
|
+ task.alarm_clear_time = int(task.alarm_clear_time)
|
||||||
|
+ alarm_id = task.alarm_id
|
||||||
|
alarm_clear_time = task.alarm_clear_time
|
||||||
|
- if not check_alarm_clear_time_if_positive_integer(alarm_clear_time):
|
||||||
|
- logging.warning(f"Invalid alarm_clear_time {alarm_clear_time}: ignore {task_name} alarm")
|
||||||
|
- continue
|
||||||
|
- try:
|
||||||
|
- alarm_clear_time = int(alarm_clear_time)
|
||||||
|
- if alarm_clear_time <= 0:
|
||||||
|
- raise ValueError("Not a positive integer")
|
||||||
|
- if alarm_clear_time > sys.maxsize:
|
||||||
|
- raise ValueError("Exceeds maximum value for int")
|
||||||
|
- except (ValueError, OverflowError, TypeError) as e:
|
||||||
|
- logging.warning(f"Invalid alarm_clear_time {alarm_clear_time}: ignore {task_name} alarm")
|
||||||
|
- continue
|
||||||
|
+
|
||||||
|
alarm_list_dict[alarm_id] = []
|
||||||
|
task_alarm_id_dict[task_name] = alarm_id
|
||||||
|
if alarm_id not in alarm_id_clear_time_dict:
|
||||||
|
alarm_id_clear_time_dict[alarm_id] = alarm_clear_time
|
||||||
|
else:
|
||||||
|
alarm_id_clear_time_dict[alarm_id] = max(alarm_clear_time, alarm_id_clear_time_dict[alarm_id])
|
||||||
|
+ logging.info(f"alarm_register: {task_name} is registered")
|
||||||
|
# 注册告警回调
|
||||||
|
id_filter = [True] * 128
|
||||||
|
clientId = xalarm_register(update_alarm_list, id_filter)
|
||||||
|
diff --git a/src/python/syssentry/load_mods.py b/src/python/syssentry/load_mods.py
|
||||||
|
index f74f165..78db446 100644
|
||||||
|
--- a/src/python/syssentry/load_mods.py
|
||||||
|
+++ b/src/python/syssentry/load_mods.py
|
||||||
|
@@ -198,15 +198,16 @@ def parse_mod_conf(mod_name, mod_conf):
|
||||||
|
task.load_enabled = is_enabled
|
||||||
|
|
||||||
|
try:
|
||||||
|
- task.alarm_id = int(mod_conf.get(CONF_TASK, CONF_ALARM_ID))
|
||||||
|
- task.alarm_clear_time = int(mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME))
|
||||||
|
- if not (MIN_ALARM_ID <= task.alarm_id <= MAX_ALARM_ID):
|
||||||
|
- raise ValueError("Invalid alarm_id")
|
||||||
|
- except ValueError:
|
||||||
|
task.alarm_id = mod_conf.get(CONF_TASK, CONF_ALARM_ID)
|
||||||
|
- task.alarm_clear_time = mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME)
|
||||||
|
except configparser.NoOptionError:
|
||||||
|
- logging.warning("Unset alarm_clear_time, use 15s as default")
|
||||||
|
+ task.alarm_id = None
|
||||||
|
+ logging.warning(f"{mod_name} alarm_id not set, alarm_id is None")
|
||||||
|
+
|
||||||
|
+ if task.alarm_id is not None:
|
||||||
|
+ try:
|
||||||
|
+ task.alarm_clear_time = mod_conf.get(CONF_TASK, CONF_ALARM_CLEAR_TIME)
|
||||||
|
+ except configparser.NoOptionError:
|
||||||
|
+ logging.warning(f"{mod_name} not set alarm_clear_time, use 15s as default")
|
||||||
|
|
||||||
|
if CONF_ONSTART in mod_conf.options(CONF_TASK):
|
||||||
|
is_onstart = (mod_conf.get(CONF_TASK, CONF_ONSTART) == 'yes')
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
@ -4,7 +4,7 @@
|
|||||||
Summary: System Inspection Framework
|
Summary: System Inspection Framework
|
||||||
Name: sysSentry
|
Name: sysSentry
|
||||||
Version: 1.0.2
|
Version: 1.0.2
|
||||||
Release: 48
|
Release: 49
|
||||||
License: Mulan PSL v2
|
License: Mulan PSL v2
|
||||||
Group: System Environment/Daemons
|
Group: System Environment/Daemons
|
||||||
Source0: https://gitee.com/openeuler/sysSentry/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
Source0: https://gitee.com/openeuler/sysSentry/releases/download/v%{version}/%{name}-%{version}.tar.gz
|
||||||
@ -65,6 +65,7 @@ Patch52: get_io_data-failed-wont-stop-avg_block_io-and-del-di.patch
|
|||||||
Patch53: listen-thread-of-collect-module-exits-occasionally.patch
|
Patch53: listen-thread-of-collect-module-exits-occasionally.patch
|
||||||
Patch54: fix-ai_block_io-root-cause-bug.patch
|
Patch54: fix-ai_block_io-root-cause-bug.patch
|
||||||
Patch55: ebpf-fix-kyqin-miss-rq_driver-data.patch
|
Patch55: ebpf-fix-kyqin-miss-rq_driver-data.patch
|
||||||
|
Patch56: optimize-log-printing.patch
|
||||||
|
|
||||||
BuildRequires: cmake gcc-c++
|
BuildRequires: cmake gcc-c++
|
||||||
BuildRequires: python3 python3-setuptools
|
BuildRequires: python3 python3-setuptools
|
||||||
@ -337,6 +338,12 @@ rm -rf %{buildroot}
|
|||||||
%attr(0550,root,root) %{python3_sitelib}/sentryCollector/__pycache__/collect_plugin*
|
%attr(0550,root,root) %{python3_sitelib}/sentryCollector/__pycache__/collect_plugin*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 16 2024 jinsaihang <jinsaihang@h-partners.com> - 1.0.2-49
|
||||||
|
- Type:bugfix
|
||||||
|
- CVE:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DES:optimize log printing
|
||||||
|
|
||||||
* Wed Oct 16 2024 zhangnan <zhangnan134@huawei.com> - 1.0.2-48
|
* Wed Oct 16 2024 zhangnan <zhangnan134@huawei.com> - 1.0.2-48
|
||||||
- Type:bugfix
|
- Type:bugfix
|
||||||
- CVE:NA
|
- CVE:NA
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user