Documentation
A local telemetry dashboard that collects, stores, and renders time-series metrics from your Windows machine.
Fundamentals
A metric is a numeric measurement captured at a specific point in time. Think of it as a single reading — like checking your speedometer.
CPU usage at 12.6%. Memory used: 20.9 GiB. Disk read speed: 45 MB/s. Network download: 8.2 Mbps. GPU temperature: 52 C.
Each of these is a single metric — a number with a label and a timestamp.
A single number tells you what's happening now. But a series of numbers over time tells you whether the system is spiking, flat, or trending — when a change started, whether a workload is recurring, and how current behavior compares to the past.
Core concept
A time series is a sequence of metrics captured at regular intervals. Vaktr samples your machine every few seconds and plots the results as charts you can scroll through.
Every 2 seconds (configurable from 1s to 60s), Vaktr captures a snapshot — a collection of metric samples covering CPU, memory, disk, network, GPU, and system activity.
Each snapshot is written to a local SQLite database and pushed to the dashboard. The charts render the last N minutes of samples as smooth curves, letting you see patterns that a single number would miss.
You can zoom into any time window — from 1 minute to 30 days — and the chart adapts its resolution automatically.
Under the hood
Vaktr uses Windows-native APIs to read hardware counters and system state. No agents, no instrumentation, no kernel drivers required for core metrics.
The primary data source. Windows tracks hundreds of built-in performance counters — CPU usage (total and per-core), disk read/write throughput, network bytes per interface, and GPU engine utilization. Vaktr reads these directly from the operating system.
Memory usage, drive capacity, and process activity are read through standard Windows system calls. Vaktr enumerates running processes and tracks per-process CPU and memory usage to power the process tables in the CPU and Memory panels.
GPU temperatures for AMD and Nvidia cards are read through the same vendor APIs that your GPU drivers provide — no extra software or drivers needed. Temperature data appears automatically if your hardware supports it.
A background timer fires at your configured interval (default: every 2 seconds). Each tick reads all metric sources, bundles the results into a snapshot, writes it to the local database, and pushes it to the dashboard — all in a single atomic cycle.
Persistence
All data stays local in a lightweight SQLite database. Vaktr uses a two-tier storage strategy to keep the database small while preserving long-term history.
Full-resolution samples are kept for 6 hours. At a 2-second interval, that's about 10,800 samples per metric — enough for detailed recent analysis.
After 6 hours, raw samples are compacted into 1-minute averages. This reduces storage by ~30x while preserving the shape of longer-term trends.
Configurable from 1 minute to 365 days. Data older than the retention window is automatically pruned on a rolling basis. The database self-compacts to stay small.
Everything is stored in your local app data folder by default — no cloud, no sync, no roaming. The storage path is configurable in the control deck if you prefer a different location.
Setup
Download the release, extract, and run. No installer, no dependencies.
Download the latest release from GitHub, extract the zip to any folder, and run Vaktr.exe. Vaktr starts collecting telemetry immediately with sensible defaults. No account, no setup wizard.
Windows 10 1809 or later, including all versions of Windows 11. Supports Intel, AMD, and ARM-based PCs.
Use the built-in control deck to adjust how often metrics are sampled (1-60 seconds), how long history is kept (1 minute to 365 days), where data is stored, the color theme, and startup behavior. All changes apply instantly.
Requires the .NET 8 SDK. Clone the repository, restore dependencies, build for x64, and run the app project. Alternatively, open the solution in Visual Studio and press F5.