/_/_ that provides real-time visibility into system health, visitor analytics, cron job execution, and performance metrics.
Access
URL:http://127.0.0.1:8090/_/_
Authentication: Requires PocketBase superuser login
From core/server/health.go:316:
Dashboard Sections
1. System Health
Real-time system metrics collected fromcore/monitoring/stats.go:
- CPU Usage — per-core utilization and average percentage
- Memory — total, used, free, cached, and buffers (in GB)
- Disk Space — total, used, free, and usage percentage
- Network — bytes sent/received, active connections, interface stats
- Uptime — server start time and total uptime duration
- Temperature — CPU, disk, and system temperatures (if available)
core/server/health.go:229:
2. Request Statistics
HTTP request metrics tracked by the server:- Total Requests — cumulative count since startup
- Active Connections — current concurrent requests
- Request Rate — requests per second
- Average Response Time — mean request duration in milliseconds
- Last Request — timestamp of most recent request
3. Runtime Metrics
Go runtime statistics fromcore/monitoring/runtime.go:
- Goroutines — active goroutine count
- CPU Cores — available CPU count
- Go Version — runtime version string
- Heap Allocation — current heap memory usage
- Total Allocated — cumulative bytes allocated
- System Memory — total memory obtained from OS
- GC Runs — garbage collection execution count
- Last GC — timestamp of most recent GC cycle
- Heap In Use — actively used heap memory
- Heap Released — memory returned to OS
4. Visitor Analytics
Fromcore/analytics/types.go:14:
- Unique Visitors — distinct sessions (30-minute window)
- New vs. Returning — first-time vs. repeat visitor ratio
- Total Page Views — aggregate view count
- Views Per Visitor — average pages per session
- Today vs. Yesterday — daily comparison
- Device Breakdown — desktop/mobile/tablet percentages
- Browser Distribution — Chrome, Firefox, Safari, Edge, etc.
- Top Pages — most visited paths by view count
- Recent Activity — last 50 visits with device/browser/OS
- Hourly Activity — traffic intensity as percentage
5. Cron Job Monitoring
Job execution tracking fromcore/jobs/logger.go:166:
- Total Executions — all job runs (success + failure)
- Success Rate — percentage of completed jobs
- Failed Runs — error count
- Average Run Time — mean execution duration
- Today vs. Yesterday — daily execution comparison
- Recent Executions — last 10 job runs with status
- Job Statistics — per-job success rate, last run, avg duration
- Manual Trigger — run jobs on-demand
6. System Information
Host and platform details:- Hostname — server name
- Platform — OS platform (linux, darwin, windows)
- OS — operating system name
- Kernel Version — OS kernel version
- CPU Model — processor model name
- Start Time — server boot timestamp
Template System
Fromcore/server/health.go:288:
Template Functions
Fromcore/server/health.go:33:
Dashboard Layout
The dashboard uses embedded Go templates with PocketBase styling:Auto-Refresh
The dashboard automatically refreshes data every 5 seconds without full page reload using JavaScript fetch:PocketBase Admin Link
Fromcore/server/health.go:279:
/_/.
Dashboard Features
Visual Indicators
- Status badges — Healthy (green), Warning (yellow), Critical (red)
- Progress bars — CPU, memory, disk usage gauges
- Charts — Browser breakdown, device distribution (if charting enabled)
- Color coding — Status codes (2xx green, 4xx yellow, 5xx red)
- System/User job badges — Distinguish built-in vs. custom jobs
Interactive Elements
- Manual job trigger — Run jobs on-demand via button
- Job log expansion — View full execution output
- Recent visits detail — Click to expand session info
- Sort and filter — Organize jobs and analytics
Real-Time Updates
Dashboard data refreshes automatically:- System metrics — Every 5 seconds
- Request stats — Live counter updates
- Job status — Immediate execution feedback
- Analytics — Session-based updates
Error Handling
Fromcore/server/health.go:339:
Security
- Superuser-only access — Authentication required
- Session-based auth — Uses PocketBase auth system
- CSRF protection — Inherits from PocketBase
- No API exposure — Dashboard is HTML-only
- Trace IDs — All requests logged with correlation IDs
Performance
- Cached stats — 2-second refresh interval reduces overhead
- Timeout protection — 5-second context timeout for metrics collection
- Async updates — Non-blocking data fetching
- Lazy loading — Components load incrementally
- Minimal overhead — <1% CPU for dashboard serving
Customization
The dashboard templates can be customized by modifying files incore/server/templates/:
Mobile Responsive
The dashboard is mobile-friendly with responsive breakpoints:- Desktop — Full multi-column layout
- Tablet — Stacked sections with side-by-side cards
- Mobile — Single column, collapsible sections
Related
- Monitoring - Metrics collection system
- Analytics - Visitor tracking
- Cron Jobs - Job management
- Logging - Request and error logs
Quick Links from Dashboard
- PocketBase Admin —
/_/ - API Documentation —
/api/docs/v1/swagger - Cron API —
/api/cron/jobs - Health JSON —
/_/_withAccept: application/jsonheader