Documentation

How Vaktr works

A local telemetry dashboard that collects, stores, and renders time-series metrics from your Windows machine.

Fundamentals

What are metrics?

A metric is a numeric measurement captured at a specific point in time — like checking your speedometer. CPU usage at 12.6%, memory used at 20.9 GiB, disk read speed at 45 MB/s. Each is 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

Time-series metrics

A time series is a sequence of metrics captured at regular intervals. Every 2 seconds (configurable from 1s to 60s), Vaktr captures a snapshot — a collection of 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

How metrics are collected

Vaktr uses Windows-native APIs to read hardware counters and system state.

Windows Performance Counters
The primary data source. Windows tracks hundreds of built-in 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 OS.
System Information
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.
Hardware Sensors
GPU temperatures for AMD and Nvidia cards are read through vendor APIs provided by your GPU drivers — no extra software needed. Temperature data appears automatically if your hardware supports it.
Collection Pipeline
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.

Persistence

How data is stored

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.

Raw samples
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.
Rollups
After 6 hours, raw samples are compacted into 1-minute averages. This reduces storage by ~30x while preserving the shape of longer-term trends.
Retention
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.
Storage location
Everything is stored in %LocalAppData%\Vaktr by default. The path is configurable in the control deck if you prefer a different location.

Setup

Installation

Download the latest installer from GitHub Releases and run the install wizard. Vaktr starts collecting telemetry immediately with sensible defaults.

Requirements
Windows 10 1809+ or Windows 11. Supports Intel, AMD, and ARM-based PCs.
Configuration
Use the built-in control deck to adjust how often metrics are sampled (1–60s), how long history is kept (1 minute to 365 days), where data is stored, and the color theme. All changes apply instantly.
Build from source
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.