From ef2e104172fd278ac2f393802975ad0aa535e9b6 Mon Sep 17 00:00:00 2001 From: devdatt Date: Wed, 18 Feb 2026 03:08:46 +0530 Subject: [PATCH] updtae --- encoder/index.php | 10 +++++----- install.sh | 26 ++++++++++---------------- setup.sh | 26 ++++++++++---------------- 3 files changed, 25 insertions(+), 37 deletions(-) diff --git a/encoder/index.php b/encoder/index.php index 129037c..9d34ff3 100755 --- a/encoder/index.php +++ b/encoder/index.php @@ -19,11 +19,6 @@ include 'header.php'; ?>
-
-

Intel iGPU (%)

-
-
-

Network (KB/s)

@@ -33,6 +28,11 @@ include 'header.php'; ?>

Disk I/O (KB/s) & Disk %

+
+

Intel iGPU (%)

+
+
+
diff --git a/install.sh b/install.sh index b9d1eed..e5edc53 100755 --- a/install.sh +++ b/install.sh @@ -273,25 +273,19 @@ _prev_disk=psutil.disk_io_counters() _prev_time=time.time() def igpu_percent(): - # fastest method (modern kernels) - for card in ("card0","card1","card2"): - p=f"/sys/class/drm/{card}/gt_busy_percent" - if os.path.exists(p): - try: - return float(open(p).read().strip()) - except: - pass - - # fallback: intel_gpu_top JSON snapshot try: - out=subprocess.check_output( - ["intel_gpu_top","-J","-s","100","-o","-"], + out = subprocess.check_output( + ["intel_gpu_top","-J","-s","200","-o","-"], stderr=subprocess.DEVNULL, - timeout=1 + timeout=2 ) - j=json.loads(out.splitlines()[0]) - return float(j["engines"]["Render/3D/0"]["busy"]) - except: + line = out.decode().splitlines()[0] + data = json.loads(line) + engines = data.get("engines",{}) + if not engines: + return 0.0 + return round(max(v.get("busy",0) for v in engines.values()),2) + except Exception: return 0.0 def sample_once(): diff --git a/setup.sh b/setup.sh index b88e0ba..716a109 100644 --- a/setup.sh +++ b/setup.sh @@ -202,25 +202,19 @@ _prev_disk=psutil.disk_io_counters() _prev_time=time.time() def igpu_percent(): - # fastest method (modern kernels) - for card in ("card0","card1","card2"): - p=f"/sys/class/drm/{card}/gt_busy_percent" - if os.path.exists(p): - try: - return float(open(p).read().strip()) - except: - pass - - # fallback: intel_gpu_top JSON snapshot try: - out=subprocess.check_output( - ["intel_gpu_top","-J","-s","100","-o","-"], + out = subprocess.check_output( + ["intel_gpu_top","-J","-s","200","-o","-"], stderr=subprocess.DEVNULL, - timeout=1 + timeout=2 ) - j=json.loads(out.splitlines()[0]) - return float(j["engines"]["Render/3D/0"]["busy"]) - except: + line = out.decode().splitlines()[0] + data = json.loads(line) + engines = data.get("engines",{}) + if not engines: + return 0.0 + return round(max(v.get("busy",0) for v in engines.values()),2) + except Exception: return 0.0 def sample_once():