1. 6-Tab Interactive TUI Dashboard (--watch)

Launch an interactive full-screen terminal dashboard powered by Bubbletea and Lipgloss:

caddy-analyze --watch /var/log/caddy/access.log

Navigation Tabs

1 ยท Summary

Overview of total requests, RPS, status-code breakdown (2xxโ€“5xx), response sizes, and latency percentiles (min/avg/max, P50, P95).

2 ยท Realtime Stream

Live colorized log entry stream (2xx green, 3xx cyan, 4xx yellow, 5xx red, IP purple, path white).

3 ยท Security

Security status: shows "CLEAR", or lists the top suspicious client IPs by number of detected malicious requests.

4 ยท Top IPs

Table of the top 20 requesting client IP addresses (ranked by request count).

5 ยท Top Paths

Table of the top 20 requested HTTP endpoints (ranked by request count).

6 ยท User Agents

Numbered list of the top 15 user agents (ranked by request count).

Keyboard Shortcuts

TUI keybindings โ€” all keys work anywhere in the dashboard
Key Action
1โ€“6Jump directly to tab 1โ€“6
Tab / โ†’Next tab
Shift+Tab / โ†Previous tab
rReset analysis โ€” clears stats and restarts the window
q, Ctrl+C, EscQuit the dashboard

The dashboard auto-resets its internal counters every 5 minutes so long --watch sessions don't accumulate unbounded state; r resets immediately.

2. Offline Dark-Mode HTML Report (-f html)

Export a single-file, self-contained dark-mode HTML report that requires zero external assets, npm packages, or internet access:

caddy-analyze -f html -o report.html --detect /var/log/caddy/access.log

3. Machine-Readable Exports (JSON & CSV)

# Export raw JSON metrics report
caddy-analyze -f json -o report.json /var/log/caddy/access.log

# Export CSV format for spreadsheets
caddy-analyze -f csv -o report.csv /var/log/caddy/access.log

4. Interactive HTML Report Preview

Live preview of the standalone HTML report format: