From 9d065153b0a321694669ee7d49c7f41e733f4303 Mon Sep 17 00:00:00 2001 From: Christian Sass Date: Mon, 19 Oct 2026 16:42:54 -0500 Subject: [PATCH] Vitals 0.1.0: workload map with browser tab accounting Process monitors stop at the browser boundary, so the thing that usually pegs a machine is invisible: forty identical processes, no age, no tab names, no idea which page is the offender. Vitals resolves every process to a human identity (container, flatpak, systemd unit, tree root, or script), then joins the OS view to the browser's own DevTools counters so each tab carries its own page-work number beside the cores its browser instance is burning. The gap between those two numbers is the diagnosis: idle page, burning compositor. - dependency-free sampler over /proc, 2s cadence, 5 min in-memory history - minimal CDP client (WebSocket + JSON) with no third-party packages - both unit systems side by side: percent of machine and fractional cores - flags for leaked automation instances and live WebRTC calls - user service with CPUQuota so the monitor can never be the problem - identity tests that need no root, server, or browser MIT licensed. Runs on Linux, reads /proc, asks for no privilege. --- .gitignore | 7 + LICENSE | 21 ++ README.md | 151 ++++++++++ browsers.py | 154 ++++++++++ cdp.py | 107 +++++++ docs/screenshot.png | Bin 0 -> 241247 bytes index.html | 387 ++++++++++++++++++++++++ install.sh | 27 ++ labels.json | 14 + server.py | 671 +++++++++++++++++++++++++++++++++++++++++ systemd/vitals.service | 19 ++ tests/test_identity.py | 41 +++ 12 files changed, 1599 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 browsers.py create mode 100644 cdp.py create mode 100644 docs/screenshot.png create mode 100644 index.html create mode 100755 install.sh create mode 100644 labels.json create mode 100644 server.py create mode 100644 systemd/vitals.service create mode 100644 tests/test_identity.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..21fe6f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +__pycache__/ +*.py[cod] +.venv/ +venv/ +*.log +.DS_Store +.vitals-* diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7c18605 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Binary Ranch, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7e3a9d3 --- /dev/null +++ b/README.md @@ -0,0 +1,151 @@ +# Vitals + +**A workload map for a browser-shaped computer.** + +Every process monitor tells you which PID is hot. Nobody thinks in PIDs. Vitals +groups processes under the thing a human named — an app, a container, an agent, +a browser instance — and then crosses the boundary every other monitor stops at: +the browser. Tabs get their own numbers, so you can tell the Excel sheet that is +crashing your machine from the video call. + +![Vitals](docs/screenshot.png) + +## The problem + +On a normal desktop, one browser is 40 to 60 processes. GNOME System Monitor +shows them as 60 identical rows named `brave`, with no age, no parent, and no +idea which one is the tab that is killing you. When ten headless browser +instances leaked from an automation run and sat on a staging page for seven days, +the monitor could not say any of this: + +- that they were orphans (their launcher was long dead) +- that they were seven days old +- that their pages were idle while their GPU processes burned six cores +- which instance was which + +Vitals answers all four, in one screen, without root. + +## What it actually measures + +Three layers, joined: + +**1. Identity.** Every process is resolved to a human name using the strongest +signal available, in order: docker container, flatpak app id, systemd unit, the +top of its own process tree, or the script it runs. Kernel threads collapse to +one row. `labels.json` is where you teach it your own names. + +**2. Tabs.** Chrome-family browsers that speak the Chrome DevTools Protocol are +attached per tab. `Performance.getMetrics` gives main-thread task time, script +time, heap and DOM nodes for each tab. `SystemInfo.getProcessInfo` gives +per-process CPU where the ids are real PIDs. Joining those two is what makes the +verdict possible. + +**3. Verdict.** A sentence, in English: + +> pages are idle (0.02 cores of page work) — 6.93 cores burned by browser +> internals (compositor / raster / media), not by a tab + +That is the diagnosis no process list can produce, because the offender is a +child process of a browser that owns an idle page. + +## Units, and why your numbers never matched + +System monitors disagree about denominators. GNOME System Monitor reports +**percent of the whole machine**. `top` and `ps` report **percent of one core**. +The same process is `19%` in one and `225%` in the other. Vitals shows both, on +the same row, always labeled: + +- `% machine` — share of all cores, matches your desktop monitor +- `cores` — the fractional core count, matches `top` + +## Quickstart + +Requirements: Linux, Python 3.9+, a `/proc` filesystem. No dependencies, no +root, no agent installed inside your apps. + +```bash +git clone https://forge.binaryranch.com/sastian/vitals.git +cd vitals +python3 server.py # http://127.0.0.1:8791 +``` + +Optional: run it as a user service so it is either up or reported, never a +silently orphaned process. + +```bash +./install.sh # systemd --user unit, enabled at login +``` + +Options: `--port N`, `--host ADDR`, `VITALS_PORT` env var. + +## Getting browser tabs + +Tabs come from the DevTools Protocol, which a browser only exposes if it was +started with a debugging port. Chromium instances launched by automation usually +already have one, and Vitals scans ports 9500-9599 automatically. For your own +browser, add the flag once: + +```bash +flatpak kill com.brave.Browser && flatpak run com.brave.Browser --remote-debugging-port=9222 +``` + +or for Chrome/Chromium: + +```bash +google-chrome --remote-debugging-port=9222 +``` + +Tabs restore from session. Without the flag, Vitals still shows the browser's +process breakdown, age, memory and per-role CPU. It just cannot name the tabs, +and it tells you so instead of guessing. + +**Security note, stated plainly:** a local debugging port lets any local process +drive that browser, including reading cookies for sites it is logged into. It +binds to `127.0.0.1` only, which keeps it off the network, but it is a real +tradeoff on a multi-user machine. Use a dedicated profile if that matters, and +close the browser when you do not need tab-level detail. + +## Reading the screen + +- **Machine bar** — every core on the box, split by workload. Hover a legend + entry to find its row. +- **Workload rows** — name, roles that are consuming CPU, `% machine`, `cores`, + RAM, age, 5-minute trend. Click any row to open its processes and history. +- **Flags** — `leaked` means reparented to PID 1 and older than an hour, which + is the signature of an automation run that died without cleaning up. `on a + call` means a WebRTC renderer is actually burning, not merely present. +- **Browser tabs** — every tab from every DevTools-speaking browser, sorted by + page work, with the owning browser instance, its port, its age, and how many + cores that whole instance is using. The gap between those two numbers is the + whole point. + +## What it deliberately does not do + +- **No root, no eBPF, no agents.** It reads `/proc`, `cgroup`, `flatpak ps`, + `docker ps`, `ss` and `wmctrl`. Everything else is arithmetic. +- **No killing.** Vitals reports. Reaping is a separate, explicit action. +- **No history beyond five minutes in memory.** Nothing is written to disk. +- **No guessing about tabs.** If a browser has no debugging port, its tabs are + unknown, and the UI says so. + +## Limitations + +`/proc//fd` and `/proc//io` require ptrace permission, so socket and +file attribution is limited to what `ss` reports. Per-tab GPU cost is inferred +from the instance's process breakdown rather than attributed per tab, because +Chromium does not expose that mapping over CDP. Kernel-thread grouping is +coarse by design. + +## Roadmap + +- reaping leaked browser instances from the UI, with the age and orphan + evidence shown before the button +- persisted history, so a spike at 03:00 is still there at 09:00 +- per-tab process attribution via `Target.getTargetInfo` where the platform + allows it +- a second adapter for non-Chromium browsers through their own remote protocols +- macOS and BSD sampling backends, same model + +## License + +MIT. See [LICENSE](LICENSE). diff --git a/browsers.py b/browsers.py new file mode 100644 index 0000000..3a97e56 --- /dev/null +++ b/browsers.py @@ -0,0 +1,154 @@ +""" +Browser layer for Vitals — per-TAB accounting, not per-PID. + +A browser is the top layer of the operating system: it is where the work +actually happens. Chrome-family browsers speak CDP when started with +--remote-debugging-port, and that gives us the two halves of the answer: + + Performance.getMetrics per-tab TaskDuration / ScriptDuration / heap / nodes + SystemInfo.getProcessInfo per-process CPU (ids are real PIDs) + +Join them and you can say: "this tab is idle, its GPU process is rasterizing +in a loop" — which is the signature of a browser eating a machine while +looking innocent. +""" + +import time + +import cdp + +KNOWN_PORTS = [9222] # Brave/Chrome launched with the flag +SCAN_RANGE = range(9500, 9600) # headless automation instances + + +class TabConn: + def __init__(self, port): + self.port = port + self.ws = None + self.sessions = {} # target_id -> sessionId + self.prev = {} # target_id -> {metric: value} + self.prev_procs = {} # pid -> cpuTime + self.last_ok = 0.0 + self.error = "" + + def close(self): + if self.ws: + self.ws.close() + self.ws = None + self.sessions.clear() + + def connect(self): + self.ws = cdp.WS(cdp.browser_ws(self.port), timeout=2.0) + self.sessions.clear() + self.prev.clear() + self.prev_procs.clear() + + def poll(self, dt): + """Return dict with tabs and per-process cpu for this browser.""" + if not self.ws: + self.connect() + targets = [t for t in cdp.targets(self.port) if t.get("type") == "page"] + live = {t["id"] for t in targets} + for tid in list(self.sessions): + if tid not in live: + self.sessions.pop(tid, None) + self.prev.pop(tid, None) + + tabs = [] + for t in targets: + tid = t["id"] + try: + if tid not in self.sessions: + self.sessions[tid] = self.ws.call( + "Target.attachToTarget", {"targetId": tid, "flatten": True})["sessionId"] + self.ws.call("Performance.enable", {}, self.sessions[tid]) + s = self.sessions[tid] + m = {x["name"]: x["value"] + for x in self.ws.call("Performance.getMetrics", {}, s)["metrics"]} + except (RuntimeError, OSError, KeyError): + self.sessions.pop(tid, None) + continue + p = self.prev.get(tid) + self.prev[tid] = m + delta = {k: (m.get(k, 0) - p.get(k, 0)) if p else 0 for k in + ("TaskDuration", "ScriptDuration", "LayoutDuration")} + tabs.append({ + "id": tid, + "title": (t.get("title") or "").strip() or "(untitled)", + "url": t.get("url") or "", + "task_pct": round(delta["TaskDuration"] / dt * 100, 1) if dt else 0, + "script_share": round(delta["ScriptDuration"] / delta["TaskDuration"] * 100) + if delta["TaskDuration"] > 0.0005 else 0, + "heap_mb": round(m.get("JSHeapUsedSize", 0) / 1048576, 1), + "nodes": int(m.get("Nodes", 0)), + }) + + procs = {} + try: + for p in self.ws.call("SystemInfo.getProcessInfo")["processInfo"]: + pid, cpu = p.get("id"), p.get("cpuTime", 0.0) + prev = self.prev_procs.get(pid) + self.prev_procs[pid] = cpu + procs[pid] = { + "type": p.get("type", ""), + "cpu": round((cpu - prev) / dt * 100, 1) if prev is not None and dt else 0.0, + "cpu_total_s": round(cpu, 1), + } + except (RuntimeError, OSError, KeyError): + pass + + self.last_ok = time.time() + return {"port": self.port, "tabs": tabs, "procs": procs} + + +class BrowserWatcher: + """Polls every CDP-speaking browser on the box.""" + + def __init__(self, extra_ports=()): + self.conns = {} + self.last = {} + self.ports = list(KNOWN_PORTS) + list(extra_ports) + self._scan = [] + self._scan_ts = 0.0 + + def discover(self): + """Find live CDP endpoints: configured ports + a bounded scan (cached).""" + if time.time() - self._scan_ts < 20: + return list(self._scan) + found = [] + for port in self.ports: + try: + cdp.http_json(f"http://127.0.0.1:{port}/json/version", timeout=0.4) + found.append(port) + except Exception: + pass + for port in SCAN_RANGE: + try: + cdp.http_json(f"http://127.0.0.1:{port}/json/version", timeout=0.12) + found.append(port) + except Exception: + pass + self._scan, self._scan_ts = found, time.time() + return list(found) + + def poll(self, dt, ports=None): + ports = ports if ports is not None else self.discover() + out = {} + for port in ports: + conn = self.conns.get(port) + if not conn: + conn = self.conns[port] = TabConn(port) + try: + out[port] = conn.poll(dt) + conn.error = "" + except Exception as exc: + conn.error = str(exc)[:120] + conn.close() + self.conns.pop(port, None) + out[port] = {"port": port, "tabs": [], "procs": {}, "error": conn.error} + for port in list(self.conns): + if port not in ports: + self.conns[port].close() + self.conns.pop(port, None) + self.last = out + return out diff --git a/cdp.py b/cdp.py new file mode 100644 index 0000000..14e013a --- /dev/null +++ b/cdp.py @@ -0,0 +1,107 @@ +"""Minimal dependency-free CDP client (sync WebSocket) for Vitals.""" +import base64 +import json +import os +import socket +import struct +import urllib.request + + +class WS: + def __init__(self, url, timeout=3.0): + assert url.startswith("ws://") + rest = url[5:] + host_port, path = rest.split("/", 1) + host, port = host_port.split(":") + self.sock = socket.create_connection((host, int(port)), timeout=timeout) + key = base64.b64encode(os.urandom(16)).decode() + req = (f"GET /{path} HTTP/1.1\r\nHost: {host_port}\r\nUpgrade: websocket\r\n" + f"Connection: Upgrade\r\nSec-WebSocket-Key: {key}\r\n" + f"Sec-WebSocket-Version: 13\r\n\r\n") + self.sock.sendall(req.encode()) + buf = b"" + while b"\r\n\r\n" not in buf: + chunk = self.sock.recv(4096) + if not chunk: + raise OSError("handshake closed") + buf += chunk + if b"101" not in buf.split(b"\r\n", 1)[0]: + raise OSError("handshake failed: " + buf[:120].decode("latin1")) + self.buf = buf.split(b"\r\n\r\n", 1)[1] + self._id = 0 + + def send(self, obj): + payload = json.dumps(obj).encode() + header = bytearray([0x81]) + n = len(payload) + if n < 126: + header.append(0x80 | n) + elif n < 65536: + header.append(0x80 | 126) + header += struct.pack(">H", n) + else: + header.append(0x80 | 127) + header += struct.pack(">Q", n) + mask = os.urandom(4) + header += mask + masked = bytes(b ^ mask[i % 4] for i, b in enumerate(payload)) + self.sock.sendall(bytes(header) + masked) + + def _read_exact(self, n): + while len(self.buf) < n: + chunk = self.sock.recv(65536) + if not chunk: + raise OSError("closed") + self.buf += chunk + out, self.buf = self.buf[:n], self.buf[n:] + return out + + def recv(self): + while True: + b0, b1 = self._read_exact(2) + opcode = b0 & 0x0F + n = b1 & 0x7F + if n == 126: + n = struct.unpack(">H", self._read_exact(2))[0] + elif n == 127: + n = struct.unpack(">Q", self._read_exact(8))[0] + payload = self._read_exact(n) + if opcode == 0x1: + return json.loads(payload) + if opcode == 0x8: + raise OSError("ws closed by peer") + if opcode == 0x9: # ping -> pong + self.sock.sendall(bytes([0x8A, 0x80]) + os.urandom(4)) + + def call(self, method, params=None, session_id=None): + self._id += 1 + msg = {"id": self._id, "method": method, "params": params or {}} + if session_id: + msg["sessionId"] = session_id + self.send(msg) + while True: + resp = self.recv() + if resp.get("id") == self._id: + if "error" in resp: + raise RuntimeError(resp["error"].get("message")) + return resp.get("result", {}) + + def close(self): + try: + self.sock.close() + except OSError: + pass + + +def http_json(url, timeout=2.5): + with urllib.request.urlopen(url, timeout=timeout) as r: + return json.load(r) + + +def targets(port, timeout=2.5): + return http_json(f"http://127.0.0.1:{port}/json/list", timeout) + + +def browser_ws(port, timeout=2.5): + return http_json(f"http://127.0.0.1:{port}/json/version", timeout)["webSocketDebuggerUrl"] + diff --git a/docs/screenshot.png b/docs/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..c48d243c1dc0157265b407519b9809076b55c704 GIT binary patch literal 241247 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 z

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∾~%fM?dyWf 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 G@A_XUd$lqE literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..486c6ac --- /dev/null +++ b/index.html @@ -0,0 +1,387 @@ + + + + + +Vitals — workload map + + + +

+ +
+
VITALSworkload map
+
connecting…
+
+ +
+
–of machine busy
+
–cores in use
+
–largest workload
+
+ +
+
+
+ +

Workloads

+
+ + + +
+ +
+
+
workload
% machine
cores
+
RAM
age
trend
+
+
+
+ +

Browser tabs

+ +
+
tab
browser
page work
heap
+
+
+ +
+ % machine = share of all cores (matches GNOME System Monitor). cores = same load as top/ps report it. + Page work = main-thread task time inside that tab, from the browser's own CDP counters. + Trend = last 5 minutes. This monitor costs –. +
+
+ + + + diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..1c33ac9 --- /dev/null +++ b/install.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Install Vitals as a systemd user service. Idempotent. +set -euo pipefail + +HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +UNIT_DIR="$HOME/.config/systemd/user" +UNIT="$UNIT_DIR/vitals.service" + +command -v python3 >/dev/null || { echo "python3 is required"; exit 1; } +[ -d /proc ] || { echo "this tool needs /proc (Linux)"; exit 1; } + +mkdir -p "$UNIT_DIR" +sed "s|%h/Projects/vitals|$HERE|g" "$HERE/systemd/vitals.service" > "$UNIT" + +systemctl --user daemon-reload +systemctl --user enable --now vitals.service +sleep 1 + +if systemctl --user is-active --quiet vitals.service; then + echo "Vitals is running: http://127.0.0.1:8791" + echo " logs: journalctl --user -u vitals -f" + echo " stop: systemctl --user stop vitals" + echo " disable: systemctl --user disable --now vitals" +else + echo "Vitals failed to start. Check: journalctl --user -u vitals -n 40" + exit 1 +fi diff --git a/labels.json b/labels.json new file mode 100644 index 0000000..75e950a --- /dev/null +++ b/labels.json @@ -0,0 +1,14 @@ +{ + "apps": { + "com.brave.Browser": "Brave", + "org.keepassxc.KeePassXC": "KeePassXC" + }, + "units": { + "headroom-proxy.service": "Headroom proxy" + }, + "containers": {}, + "commands": { + "ollama": "Ollama", + "caddy": "Caddy" + } +} diff --git a/server.py b/server.py new file mode 100644 index 0000000..31613ec --- /dev/null +++ b/server.py @@ -0,0 +1,671 @@ +#!/usr/bin/env python3 +""" +Vitals — a workload map, not a process list. + +Most system monitors show you PIDs. Nobody thinks in PIDs. Vitals groups every +process under the thing a human actually named (an app, a container, an agent, +a browser instance), then reports load in both units people need: +percent of machine and percent of one core. + + python3 server.py # http://127.0.0.1:8791 + python3 server.py --port N +""" + +import argparse +import collections +import json +import os +import re +import socket +import subprocess +import threading +import time +import urllib.request +from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer +from urllib.parse import urlparse, parse_qs + +import browsers + +HZ = os.sysconf("SC_CLK_TCK") +CORES = os.cpu_count() or 1 +HERE = os.path.dirname(os.path.abspath(__file__)) +LABELS_PATH = os.path.join(HERE, "labels.json") + +SAMPLE_S = 2.0 +HISTORY_N = 150 # 5 minutes at 2s + + +# ---------------------------------------------------------------- labels ---- + +DEFAULT_LABELS = { + "apps": { + "com.brave.Browser": "Brave", + "md.obsidian.Obsidian": "Obsidian", + "com.discordapp.Discord": "Discord", + "org.localsend.localsend_app": "LocalSend", + "org.telegram.desktop": "Telegram", + "us.zoom.Zoom": "Zoom", + "com.spotify.Client": "Spotify", + "com.slack.Slack": "Slack", + "org.mozilla.Thunderbird": "Thunderbird", + }, + "units": { + "segundo.service": "Hermes agent · Scribe", + "headroom-proxy.service": "Headroom proxy", + "hermes-gateway.service": "Hermes gateway", + }, + "containers": { + "jellyfin": "Jellyfin (media server)", + "mc-server": "Minecraft server", + }, + "commands": { + "cinnamon": "Cinnamon desktop", + "nextcloud": "Nextcloud desktop", + "thunderbird": "Thunderbird", + "gnome-system-mo": "GNOME System Monitor", + "steamwebhelper": "Steam", + "1password": "1Password", + "op": "1Password CLI", + "mullvad-gui": "Mullvad VPN", + "vibe_typer.app": "Vibe Typer", + "python3": "Python", + "java": "Java", + "node": "Node", + "ollama": "Ollama", + "caddy": "Caddy", + "dockerd": "Docker daemon", + "containerd": "Docker runtime", + "localsend": "LocalSend", + "Discord": "Discord", + "chromium": "Chromium", + "brave": "Brave", + "hermes": "Hermes", + "Hermes": "Hermes desktop", + }, +} + + +def load_labels(): + labels = json.loads(json.dumps(DEFAULT_LABELS)) + try: + with open(LABELS_PATH) as f: + extra = json.load(f) + for k, v in extra.items(): + labels.setdefault(k, {}).update(v) + except (OSError, ValueError): + pass + return labels + + +LABELS = load_labels() + + +def prettify(s): + s = re.sub(r"^(com|org|net|io|md|us|app)\.", "", s) + s = s.replace("._app", "").replace("-", " ") + s = re.sub(r"([a-z])([A-Z])", r"\1 \2", s) + s = s.replace(".", " ").strip() + return " ".join(w.capitalize() if w.islower() else w for w in s.split()) + + +def name_for_flatpak(app_id): + if app_id in LABELS["apps"]: + return LABELS["apps"][app_id] + return prettify(app_id) + + +def name_for_unit(unit): + if unit in LABELS["units"]: + return LABELS["units"][unit] + return prettify(re.sub(r"\.(service|scope|socket|timer)$", "", unit)) + + +def name_for_cmd(comm): + if comm in LABELS["commands"]: + return LABELS["commands"][comm] + return prettify(comm) if comm else "unknown" + + +# ------------------------------------------------------------- /proc read --- + +def read_cmdline(pid): + try: + with open(f"/proc/{pid}/cmdline", "rb") as f: + return f.read().replace(b"\0", b" ").decode("utf-8", "replace").strip() + except OSError: + return "" + + +def read_stat(pid): + try: + with open(f"/proc/{pid}/stat") as f: + r = f.read().rsplit(")", 1)[1].split() + return { + "ppid": int(r[1]), + "ticks": int(r[11]) + int(r[12]), + "start": int(r[19]), + } + except (OSError, IndexError, ValueError): + return None + + +def read_comm(pid): + try: + with open(f"/proc/{pid}/comm") as f: + return f.read().strip() + except OSError: + return "" + + +def read_rss_kb(pid): + try: + with open(f"/proc/{pid}/status") as f: + for line in f: + if line.startswith("VmRSS:"): + return int(line.split()[1]) + except OSError: + pass + return 0 + + +def read_cgroup(pid): + """Return the cgroup v2 path (the 0:: line), falling back to the longest path.""" + best = "" + try: + with open(f"/proc/{pid}/cgroup") as f: + for line in f: + parts = line.strip().split(":", 2) + if len(parts) != 3: + continue + path = parts[2] + if parts[0] == "0": + return path + if len(path) > len(best): + best = path + except OSError: + pass + return best + + +def read_threads(pid, top=8): + out = [] + base = f"/proc/{pid}/task" + try: + for t in os.listdir(base): + try: + r = open(f"{base}/{t}/stat").read().rsplit(")", 1)[1].split() + out.append({"tid": t, "name": open(f"{base}/{t}/comm").read().strip(), + "ticks": int(r[11]) + int(r[12])}) + except (OSError, IndexError, ValueError): + pass + except OSError: + pass + out.sort(key=lambda x: -x["ticks"]) + return out[:top] + + +SCOPED = re.compile(r"chromium-headless/(scoped_dir\w+)") +PORT_RE = re.compile(r"--remote-debugging-port=(\d+)") +FLATPAK_SCOPE = re.compile(r"app-flatpak-([\w.\-]+?)-\d+\.scope$") +DOCKER_SCOPE = re.compile(r"docker-([0-9a-f]{64})\.scope$") +UNIT_SCOPE = re.compile(r"([\w@.\-]+\.(?:service|scope))$") + + +GENERIC_ROOTS = {"systemd", "init", "lightdm", "gnome-session", "cinnamon-session", + "xfce4-session", "bash", "sh", "zsh", "dash", "dbus-daemon", + "dbus-broker", "gdm-session-wor", "gnome-shell", "sddm", "startx", + "xinit", "user@1000.service", "session-c", "gnome-terminal-"} +INTERPRETERS = {"python3", "python", "node", "java", "bash", "sh", "perl", "ruby", "op"} + + +def is_generic(comm): + """comm is truncated to 15 chars by the kernel, so compare on a prefix.""" + if not comm: + return False + for g in GENERIC_ROOTS: + if comm.startswith(g[:15]) or g.startswith(comm[:15]): + return True + return False + + +def st_ppid_is_kernel(ppid): + """Kernel threads are children of kthreadd (pid 2).""" + return ppid == 2 + + +def derive_name(comm, cmd): + """A human name for a loose process, preferring the script/app it runs.""" + if comm in INTERPRETERS and cmd: + for tok in cmd.split()[1:]: + if tok.startswith("-"): + continue + base = os.path.basename(tok) + if base and "." in base: + return prettify(base.rsplit(".", 1)[0].replace("_", " ").replace("-", " ")) + break + return name_for_cmd(comm) + + +class Sampler(threading.Thread): + daemon = True + + def __init__(self): + super().__init__(name="vitals-sampler") + self.lock = threading.Lock() + self.prev = {} + self.pid_cpu = {} + self.meta = {} # pid -> (start, comm, cmdline, cgroup) cached + self.containers = {} # full cid -> (name, image) + self.windows = collections.defaultdict(list) # pid -> [titles] + self.ports = collections.defaultdict(list) # pid -> [ports] + self.history = collections.deque(maxlen=HISTORY_N) + self.latest = {"workloads": [], "flags": [], "t": 0} + self.self_pid = os.getpid() + self.self_cost = 0.0 + self.watcher = browsers.BrowserWatcher() + + # -- external inventories ------------------------------------------- + def refresh_containers(self): + try: + out = subprocess.run( + ["docker", "ps", "--no-trunc", "--format", "{{.ID}}\t{{.Names}}\t{{.Image}}"], + capture_output=True, text=True, timeout=4).stdout + self.containers = {l.split("\t")[0]: (l.split("\t")[1], l.split("\t")[2]) + for l in out.splitlines() if l.count("\t") >= 2} + except (OSError, subprocess.SubprocessError): + pass + + def refresh_windows(self): + wins = collections.defaultdict(list) + try: + out = subprocess.run(["wmctrl", "-l"], capture_output=True, text=True, timeout=4).stdout + except (OSError, subprocess.SubprocessError): + out = "" + for line in out.splitlines(): + parts = line.split(None, 3) + if len(parts) < 4: + continue + wid, title = parts[0], parts[3] + try: + pr = subprocess.run(["xprop", "-id", wid, "_NET_WM_PID"], + capture_output=True, text=True, timeout=2).stdout + pid = int(pr.rsplit(" ", 1)[-1].strip()) + except (OSError, subprocess.SubprocessError, ValueError): + pid = 0 + if pid > 2: + wins[pid].append(title) + self.windows = wins + + def refresh_ports(self): + ports = collections.defaultdict(list) + try: + out = subprocess.run(["ss", "-ltnp"], capture_output=True, text=True, timeout=4).stdout + except (OSError, subprocess.SubprocessError): + out = "" + for line in out.splitlines()[1:]: + m = re.search(r":(\d+)\s.*pid=(\d+)", line) + if m: + ports[int(m.group(2))].append(int(m.group(1))) + self.ports = ports + + # -- classification -------------------------------------------------- + def classify(self, pid, comm, cmd, cgroup, ppid): + """Return (workload_key, workload_name, role, extra).""" + if pid == self.self_pid or "vitals/server.py" in cmd: + return "vitals", "Vitals (this monitor)", "monitor", {} + + if "chromium-headless" in cmd: + m = SCOPED.search(cmd) + inst = m.group(1) if m else "instance" + p = PORT_RE.search(cmd) + role = "headless browser" + if "--type=gpu-process" in cmd: + role = "gpu" + elif "--type=renderer" in cmd: + role = "renderer" + return "headless", "Headless browser automation", role, {"instance": inst, "port": p.group(1) if p else ""} + + m = DOCKER_SCOPE.search(cgroup) + if m: + entry = self.containers.get(m.group(1)) + if entry: + return f"docker:{entry[0]}", f"{entry[0]} · container", "container", {"image": entry[1]} + return f"docker:{m.group(1)[:12]}", f"container {m.group(1)[:12]}", "container", {} + + m = FLATPAK_SCOPE.search(cgroup) + if m: + app = m.group(1) + name = name_for_flatpak(app) + role = "app" + if "--type=gpu-process" in cmd: + role = "gpu" + elif "--type=renderer" in cmd: + role = "tab renderer" + elif "--type=utility" in cmd: + u = re.search(r"--utility-sub-type=[\w.]+\.([\w]+)", cmd) + role = (u.group(1) if u else "utility").lower() + elif "--type=browser" in cmd or "--type=" not in cmd: + role = "main" + extra = {"app_id": app} + if role in ("tab renderer", "utility", "video_captureservice"): + th = set(t["name"] for t in read_threads(pid, 30)) + if {"WebRTC_Signalin", "WebRTC_W_and_N"} & th or "VideoFrameCompo" in th: + role = "call (WebRTC)" + extra["media"] = True + return f"app:{app}", name, role, extra + + m = UNIT_SCOPE.search(cgroup) + if m and "app-" not in cgroup and not re.match(r"(session-[\w]+|init)\.scope$", m.group(1)): + unit = m.group(1) + if "hermes" in cmd: + prof = re.search(r"-p[ =](\w+)", cmd) + sub = "gateway" if "gateway" in cmd else (prof.group(1) if prof else "session") + return f"agents:{unit}", f"Hermes agent · {sub}", "agent", {"unit": unit} + return f"unit:{unit}", name_for_unit(unit), "service", {"unit": unit} + + if "hermes" in cmd or comm in ("hermes", "Hermes"): + prof = re.search(r"-p[ =](\w+)", cmd) + sub = "gateway" if "gateway" in cmd else (prof.group(1).capitalize() if prof else "session") + # each chat session is its own thing: key it on its root process + root, guard = pid, 0 + while guard < 24: + st = self.meta.get(root) + if not st or not st.get("ppid") or st["ppid"] in (1, 0): + break + root = st["ppid"] + guard += 1 + suffix = "" if sub == "gateway" else f":{root}" + return f"agents:{sub.lower()}{suffix}", f"Hermes agent · {sub}", "agent", {"root": root} + + if st_ppid_is_kernel(ppid) or comm.startswith(("kworker", "ksoftirqd", "migration", "rcu_", + "kthreadd", "kcompactd", "kswapd", "jbd2/")): + return "kernel", "Kernel", "kernel", {} + + # fall back to the top-most ancestor below init: that is the "app" + root, guard = pid, 0 + while guard < 24: + st = self.meta.get(root) + if not st or not st.get("ppid") or st["ppid"] in (1, 0): + break + if st["ppid"] == 2: + break + root = st["ppid"] + guard += 1 + root_comm = read_comm(root) or comm + if is_generic(root_comm): + # a generic parent is not an identity: name the process itself + return f"cmd:{comm}", derive_name(comm, cmd), "process", {} + return f"proc:{root}", name_for_cmd(root_comm), "process", {"root": root} + + # -- one sample ------------------------------------------------------- + def sample(self): + t0 = time.time() + now = time.time() + up = float(open("/proc/uptime").read().split()[0]) + cur = {} + for d in os.scandir("/proc"): + if not d.name.isdigit(): + continue + pid = int(d.name) + st = read_stat(pid) + if not st: + continue + cur[pid] = st + cached = self.meta.get(pid) + if not cached or cached["start"] != st["start"]: + self.meta[pid] = { + "start": st["start"], "comm": read_comm(pid), + "cmd": read_cmdline(pid), "cgroup": read_cgroup(pid), + "ppid": st["ppid"], "rss": read_rss_kb(pid), + } + self.meta[pid]["ppid"] = st["ppid"] + + dt = max(0.2, now - (self.latest.get("t") or now)) + workloads = {} + total_ticks = 0.0 + pid_cpu = {} + pid_key = {} + for pid, st in cur.items(): + prev = self.prev.get(pid) + if not prev: + continue + pct = max(0.0, (st["ticks"] - prev) / HZ / dt * 100) + pid_cpu[pid] = pct + total_ticks += pct + m = self.meta[pid] + key, name, role, extra = self.classify(pid, m["comm"], m["cmd"], m["cgroup"], st["ppid"]) + pid_key[pid] = key + w = workloads.setdefault(key, { + "key": key, "name": name, "cpu": 0.0, "rss": 0, "procs": 0, + "age_h": 9e9, "pids": [], "roles": collections.Counter(), + "instances": set(), "flags": set(), + "inst_cpu": collections.Counter(), "inst_port": {}, + "inst_age": {}, + }) + w["cpu"] += pct + w["rss"] += m["rss"] + w["procs"] += 1 + w["age_h"] = min(w["age_h"], (up - m["start"] / HZ) / 3600) + w["roles"][role] += pct + w["pids"].append(pid) + if extra.get("instance"): + w["instances"].add(extra["instance"]) + w["inst_cpu"][extra["instance"]] += pct + this_age = (up - m["start"] / HZ) / 3600 + w["inst_age"][extra["instance"]] = min( + w["inst_age"].get(extra["instance"], 9e9), this_age) + if extra.get("port"): + w["inst_port"][str(extra["port"])] = extra["instance"] + if "headless" == key and st["ppid"] == 1 and w["age_h"] > 1: + w["flags"].add("leaked") + if role == "call (WebRTC)" and pct > 25: + w["flags"].add("on a call") + + # ---- browser layer: per-tab accounting --------------------------- + # CDP is the expensive part; poll it every other sample. + bdt = now - getattr(self, "last_browser_ts", 0) + if bdt >= 4.0: + ports = self.watcher.discover() + browser = self.watcher.poll(bdt, ports) if ports else {} + self.last_browser_ts = now + else: + browser = self.watcher.last + + self.prev = {pid: st["ticks"] for pid, st in cur.items()} + self.pid_cpu = pid_cpu + self.meta = {pid: v for pid, v in self.meta.items() if pid in cur} + + total_busy = total_ticks / 100.0 + self.self_cost = next((w["cpu"] for w in workloads.values() if w["key"] == "vitals"), 0.0) + out = [] + tabs_flat = [] + hist = list(self.history)[-60:] + for w in workloads.values(): + w["age_h"] = 0 if w["age_h"] > 8e8 else w["age_h"] + tabs, tab_cpu, verdict = [], 0.0, "" + for port, res in browser.items(): + owner = [p for p in res.get("procs", {}) if pid_key.get(p) == w["key"]] + if not owner: + continue + inst = w["inst_port"].get(str(port), "") + for t in res.get("tabs", []): + tab_cpu += t["task_pct"] / 100 + tabs.append({**t, "port": port, "instance": inst, + "instance_age": round(w["inst_age"].get(inst, 0), 1), + "proc_cores": round(sum( + v["cpu"] for k, v in res.get("procs", {}).items() + if pid_key.get(k) == w["key"]) / 100, 2)}) + tabs.sort(key=lambda t: -t["task_pct"]) + w_cores = w["cpu"] / 100.0 + if tabs: + if w_cores - tab_cpu > 0.5 and tab_cpu < w_cores * 0.4: + verdict = (f"pages are idle ({tab_cpu:.2f} cores of page work) — " + f"{w_cores - tab_cpu:.2f} cores burned by browser internals " + f"(compositor / raster / media), not by a tab") + elif tab_cpu > 0.2: + verdict = f"page work: {tab_cpu:.2f} cores across {len(tabs)} tab(s)" + else: + verdict = "" + inst_detail = [] + for inst, cpu in w["inst_cpu"].most_common(12): + inst_detail.append({ + "instance": inst, "cpu": round(cpu / 100, 2), + "port": next((p for p, i in w["inst_port"].items() if i == inst), ""), + "tab": next((t["title"] for t in tabs if t.get("instance") == inst), ""), + "url": next((t["url"] for t in tabs if t.get("instance") == inst), ""), + }) + for t in tabs: + tabs_flat.append({"browser": w["name"], "key": w["key"], **t}) + out.append({ + "key": w["key"], "name": w["name"], + "cpu": round(w["cpu"] / 100, 2), + "pct": round(w["cpu"] / (CORES * 100) * 100, 1), + "rss_mb": round(w["rss"] / 1024), + "procs": w["procs"], + "age_h": round(w["age_h"], 1), + "instances": len(w["instances"]), + "roles": {k: round(v / 100, 2) for k, v in w["roles"].most_common(6) if v > 0}, + "flags": sorted(w["flags"]), + "tabs": tabs[:20], + "verdict": verdict, + "instances_detail": inst_detail, + "has_cdp": bool(tabs), + "series": [round(h.get(w["key"], 0.0), 2) for _, h in hist], + }) + out.sort(key=lambda x: -x["cpu"]) + tabs_flat.sort(key=lambda t: -t["task_pct"]) + flags = [{"key": w["key"], "name": w["name"], "flag": f, "cpu": w["cpu"]} + for w in out for f in w["flags"]] + browsers_seen = [{"port": p, "tabs": len(r.get("tabs", [])), + "error": r.get("error", ""), + "name": next((w["name"] for w in out + if any(t.get("port") == p for t in w.get("tabs", []))), "") + } for p, r in browser.items()] + with self.lock: + self.history.append((now, {w["key"]: w["cpu"] for w in out})) + self.latest = { + "t": now, "cores": CORES, "host": socket.gethostname(), + "total_busy": round(total_busy, 2), + "total_pct": round(total_busy / CORES * 100), + "workloads": out, "flags": flags, "tabs": tabs_flat[:40], + "browsers": sorted(browsers_seen, key=lambda b: b["port"]), + "brave_cdp": any(b["port"] == 9222 for b in browsers_seen), + "self_cost": round(self.self_cost / 100, 2), + "sample_ms": round((time.time() - t0) * 1000), + } + return self.latest + + def detail(self, key): + with self.lock: + hist = list(self.history) + up = float(open("/proc/uptime").read().split()[0]) + procs = [] + for pid, m in self.meta.items(): + k, name, role, extra = self.classify(pid, m["comm"], m["cmd"], m["cgroup"], m["ppid"]) + if k != key: + continue + procs.append({ + "pid": pid, "role": role, "rss_mb": round(m["rss"] / 1024), + "cpu": round(getattr(self, "pid_cpu", {}).get(pid, 0.0) / 100, 2), + "age_h": round((up - m["start"] / HZ) / 3600, 1), + "cmd": m["cmd"][:400], "cgroup": m["cgroup"], + "windows": self.windows.get(pid, []), + "ports": sorted(set(self.ports.get(pid, []))), + "extra": extra, + "threads": read_threads(pid, 6), + }) + procs.sort(key=lambda p: (-p["cpu"], -p["rss_mb"])) + series = [] + if hist: + keys = [k for _, h in hist for k in h] + if key in keys: + series = [round(h.get(key, 0.0), 2) for _, h in hist] + return {"key": key, "processes": procs, "series": series[-120:]} + + def run(self): + self.refresh_containers() + last_cont = last_win = last_port = 0 + while True: + try: + if time.time() - last_cont > 20: + self.refresh_containers(); last_cont = time.time() + if time.time() - last_win > 12: + self.refresh_windows(); last_win = time.time() + if time.time() - last_port > 10: + self.refresh_ports(); last_port = time.time() + self.sample() + except Exception as exc: # never die mid-flight + print("sample error:", exc, flush=True) + time.sleep(SAMPLE_S) + + +SAMPLER = Sampler() + + +class Handler(BaseHTTPRequestHandler): + protocol_version = "HTTP/1.1" + + def log_message(self, *a): + pass + + def _send(self, body, ctype="application/json", code=200): + data = body if isinstance(body, bytes) else body.encode() + self.send_response(code) + self.send_header("Content-Type", ctype) + self.send_header("Content-Length", str(len(data))) + self.send_header("Cache-Control", "no-store") + self.end_headers() + self.wfile.write(data) + + def do_GET(self): + u = urlparse(self.path) + if u.path in ("/", "/index.html"): + try: + with open(os.path.join(HERE, "index.html"), "rb") as f: + return self._send(f.read(), "text/html; charset=utf-8") + except OSError: + return self._send("index.html missing", "text/plain", 500) + if u.path == "/api/snapshot": + with SAMPLER.lock: + return self._send(json.dumps(SAMPLER.latest)) + if u.path == "/api/detail": + key = parse_qs(u.query).get("key", [""])[0] + if not key: + return self._send('{"error":"key required"}', code=400) + return self._send(json.dumps(SAMPLER.detail(key))) + return self._send("not found", "text/plain", 404) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("--port", type=int, default=int(os.environ.get("VITALS_PORT", 8791))) + ap.add_argument("--host", default="127.0.0.1") + args = ap.parse_args() + SAMPLER.start() + time.sleep(1.2) + try: + srv = ThreadingHTTPServer((args.host, args.port), Handler) + except OSError as exc: + if exc.errno == 98: + print(f"Vitals: port {args.port} is already taken. Probing it…", flush=True) + try: + with urllib.request.urlopen( + f"http://{args.host}:{args.port}/api/snapshot", timeout=3) as r: + if r.status == 200 and "workloads" in r.read(400).decode("utf-8", "replace"): + print(f"Vitals is already running on http://{args.host}:{args.port} " + f"— nothing to do.", flush=True) + return + except Exception: + pass + print(f"Vitals: something else owns port {args.port}. Try --port N.", flush=True) + return + raise + print(f"Vitals on http://{args.host}:{args.port} ({CORES} cores)", flush=True) + try: + srv.serve_forever() + except KeyboardInterrupt: + pass + + +if __name__ == "__main__": + main() diff --git a/systemd/vitals.service b/systemd/vitals.service new file mode 100644 index 0000000..bdec532 --- /dev/null +++ b/systemd/vitals.service @@ -0,0 +1,19 @@ +[Unit] +Description=Vitals — workload and browser-tab monitor +Documentation=https://forge.binaryranch.com/sastian/vitals +After=graphical-session.target network.target +PartOf=graphical-session.target + +[Service] +Type=simple +WorkingDirectory=%h/Projects/vitals +ExecStart=/usr/bin/python3 %h/Projects/vitals/server.py --port 8791 +Restart=on-failure +RestartSec=3 +# a monitor must never be the reason a machine is slow +Nice=10 +CPUQuota=25% +MemoryMax=256M + +[Install] +WantedBy=default.target diff --git a/tests/test_identity.py b/tests/test_identity.py new file mode 100644 index 0000000..f2c81b0 --- /dev/null +++ b/tests/test_identity.py @@ -0,0 +1,41 @@ +"""Unit tests for the identity layer. No server, no root, no browser needed.""" + +import os +import sys +import unittest + +sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +import server # noqa: E402 + + +class TestNaming(unittest.TestCase): + def test_flatpak_ids_become_product_names(self): + # known apps come from labels.json; unknown ones get prettified + self.assertEqual(server.name_for_flatpak("com.brave.Browser"), "Brave") + self.assertEqual(server.name_for_flatpak("org.localsend.localsend_app"), "LocalSend") + self.assertEqual(server.name_for_flatpak("com.example.Thing"), "Example Thing") + + def test_generic_parents_are_not_identities(self): + # comm is truncated to 15 chars by the kernel, so this is what we see + self.assertTrue(server.is_generic("cinnamon-sessio")) + self.assertTrue(server.is_generic("systemd")) + self.assertTrue(server.is_generic("dbus-daemon")) + self.assertFalse(server.is_generic("chromium")) + self.assertFalse(server.is_generic("brave")) + + def test_interpreter_processes_are_named_by_their_script(self): + self.assertEqual( + server.derive_name("python3", "python3 /home/a/heartbeat.py --serve"), + "Heartbeat") + self.assertEqual( + server.derive_name("python3", "python3 -u /opt/x/vitals_server.py"), + "Vitals Server") + + def test_own_cgroup_is_readable(self): + path = server.read_cgroup(os.getpid()) + self.assertTrue(path.startswith("/"), path) + + +if __name__ == "__main__": + unittest.main()