From 76c197ca8479a7a41bda4d7156151611df94cbe7 Mon Sep 17 00:00:00 2001 From: Sergey Krashevich Date: Tue, 2 May 2023 06:00:16 +0300 Subject: [PATCH] Update util.py --- frigate/util.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/frigate/util.py b/frigate/util.py index a921d2b50..e2d451b5c 100755 --- a/frigate/util.py +++ b/frigate/util.py @@ -806,7 +806,21 @@ def get_cpu_stats() -> dict[str, dict]: stats = f.readline().split() utime = int(stats[13]) stime = int(stats[14]) - cpu_usage = round((utime + stime) / os.sysconf("SC_CLK_TCK")) + starttime = int(stats[21]) + + + with open('/proc/uptime') as f: + system_uptime_sec = int(float(f.read().split()[0])) + + clk_tck = os.sysconf(os.sysconf_names['SC_CLK_TCK']) + + process_utime_sec = utime // clk_tck + process_stime_sec = stime // clk_tck + process_starttime_sec = starttime // clk_tck + + process_elapsed_sec = system_uptime_sec - process_starttime_sec + process_usage_sec = process_utime_sec + process_stime_sec + cpu_usage = process_usage_sec * 100 // process_elapsed_sec with open(f"/proc/{pid}/statm", "r") as f: mem_stats = f.readline().split()