Zero-config, one-line terminal dashboard for Node.js apps.
Real-time CPU, memory, event loop, HTTP metrics — in your terminal.
Datadog-level metrics in your terminal. No agents, no config files, no external services.
Real-time user/system CPU breakdown with historical sparklines. Normalized per-core usage.
process.cpuUsage()RSS, heap used/total, external, ArrayBuffers. Per-heap-space breakdown with V8 statistics.
v8.getHeapSpaceStatistics()Latency histogram (mean, p99, min, max) plus Event Loop Utilization (ELU) tracking.
monitorEventLoopDelay()Pause frequency, duration, kind classification (minor/major/incremental). Max pause tracking.
PerformanceObserver('gc')Requests/sec, response times, status codes. Auto-patched — no middleware needed.
APM-style monkey-patchActive sockets, bytes in/out, DNS lookup timing. Top connections sorted by throughput.
_getActiveHandles()Per-worker ELU and heap usage. Lifecycle tracking with auto-discovery via Module._load.
Proxy + Module._loadDetects Express, Fastify, Koa, NestJS, Next.js. Plus nodemon, PM2, tsx, bun runtime.
require.cache scanCustom ANSI renderer using Unicode box-drawing and braille sparklines. No blessed, no ink.
U+2800-U+28FF braillePick the approach that fits your workflow. Each one takes seconds.
Add a single import at the top of your entry file. That's it.
Zero code changes. Just prefix your start command.
Full control over configuration and lifecycle.
Cycle through purpose-built views. Each one designed for a specific debugging scenario.
termiwatch auto-detects your framework and runtime. HTTP metrics are patched at the http.createServer level — so it works with anything built on Node.
Plain Node.js apps, scripts, microservices
nativeAuto-detected & HTTP metrics patched
auto-detectAuto-detected & HTTP metrics patched
auto-detectAdd import to main.ts bootstrap
auto-detectServer-side detection via require.cache
auto-detectJust add one import. termiwatch patches http.createServer automatically — no middleware needed.
Import at the top of your main.ts before the NestFactory bootstrap.
Zero code changes. Works with any .js entry file regardless of framework.
Also auto-detects your runtime: nodemon PM2 tsx ts-node node --watch bun deno
Every alternative is either archived, requires native compilation, or demands an entire ecosystem.
| Tool | Status | Dependencies | Setup |
|---|---|---|---|
| nodejs-dashboard | Archived (2022) | blessed, socket.io | Global install + wrapper |
| clinic.js | Dead (3 years) | Native compilation | CLI profiling sessions |
| appmetrics-dash | Dead (6 years) | C++ native addon | Code changes + browser |
| PM2 monit | Active | Entire PM2 ecosystem | Full process manager |
| termiwatch | Active ✔ | Zero | One line |
One import. Zero dependencies. Because monitoring shouldn't be harder than the bug you're hunting.
Add one line to your Node.js app and get a full terminal dashboard. No config, no dependencies, no excuses.