Skip to the content.

A lightweight, zero-dependency analytics suite for Pi-hole & Unbound. Diagnose latency, visualize cache health, and optimize your DNS performance.

View on GitHub Download Latest


✨ Key Features

Feature Description
πŸ” Latency Analysis Calculates Average, Median, and P95 latency to spot jitters.
πŸ“ˆ Tiered Grouping Groups query speeds into β€œTiers” (e.g., <10ms, 10-50ms) for easy analysis.
πŸ”„ Unbound Integration Auto-detects Unbound to report Cache Hit Ratio, Prefetching, and RAM Usage.
πŸ“Έ Snapshot Mode Safely copies the database before analysis to prevent Database Locked errors.
🎯 Smart Filtering Filter by Time (24h, 7d), Status (Blocked/Forwarded), or Domain (Wildcards supported).
πŸ€– Automation Ready Native JSON output for Home Assistant, Grafana, or Node-RED integration.

πŸ“Š Visual Dashboard

Includes a modern, responsive browser dashboard powered by Chart.js.

Features: Auto-refresh, Dark Mode, Historical Trends, and Multi-Profile support.

Dashboard Screenshot


πŸ› οΈ Real-World Use Cases

1. Diagnosing β€œIs it me or the ISP?”

Speed tests measure bandwidth, not latency. DNS lag is the primary cause of sluggish browsing.

πŸ’‘ The Insight

2. Optimizing Unbound Performance

If you run Unbound as a recursive resolver, blind trust isn’t enough. Verify your efficiency.

πŸ’‘ The Insight If your Cache Hit Ratio stays low (< 50%) after 24 hours, consider increasing cache-min-ttl in your Unbound config.

3. Domain-Specific Debugging

Services like work VPNs or streaming sites often behave differently than general traffic.

πŸ’‘ The Insight You might find that while your global average is 20ms, specific queries are hitting Tier 8 (>1000ms), indicating a routing timeout.

4. Long-Term Health Monitoring

Spot trends before they become problems by automating data collection.


πŸ“– Documentation

Ready to dive deeper? Check out the full guides below.

πŸ‘‰ Detailed Command Guide