- Add SQLite database package for hashrate history persistence with configurable retention - Enhance dashboard with responsive stats bar, improved chart component, and worker selector - Add terminal modal component for console output viewing - Implement comprehensive E2E test suite with page objects pattern - Add history API endpoints for historical data queries - Update worker message handling with proper registration - Add new UI pages structure with layouts and components - Update Docker configuration for Go 1.24 - Add PostCSS configuration for Tailwind CSS processing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
84 lines
2.2 KiB
Markdown
84 lines
2.2 KiB
Markdown
# Dashboard
|
|
|
|
The Dashboard is the main monitoring view for your mining operations.
|
|
|
|

|
|
|
|
## Stats Bar
|
|
|
|
The top stats bar shows aggregate statistics across all running miners:
|
|
|
|
| Stat | Description |
|
|
|------|-------------|
|
|
| **Hashrate** | Combined hashrate from all miners |
|
|
| **Shares** | Total accepted shares / rejected |
|
|
| **Uptime** | Longest running miner uptime |
|
|
| **Pool** | Connected pool(s) |
|
|
| **Avg Diff** | Average difficulty per accepted share |
|
|
| **Workers** | Number of active mining processes |
|
|
|
|
## Hashrate Chart
|
|
|
|
The main chart displays hashrate over time with configurable time ranges:
|
|
|
|
- **5m** - Last 5 minutes (high resolution)
|
|
- **15m** - Last 15 minutes
|
|
- **30m** - Last 30 minutes
|
|
- **1h** - Last hour
|
|
- **3h** - Last 3 hours
|
|
- **6h** - Last 6 hours
|
|
- **12h** - Last 12 hours
|
|
- **24h** - Last 24 hours
|
|
|
|
### Chart Features
|
|
|
|
- **Multi-miner support** - Each miner shows as a separate line
|
|
- **Color coding** - Consistent colors per miner
|
|
- **Hover tooltips** - Exact values on hover
|
|
- **Auto-refresh** - Updates every 5 seconds
|
|
|
|
## Quick Stats Cards
|
|
|
|
Below the chart, four cards show key metrics:
|
|
|
|
| Card | Description |
|
|
|------|-------------|
|
|
| **Peak Hashrate** | Highest hashrate achieved |
|
|
| **Efficiency** | Share acceptance rate (%) |
|
|
| **Avg. Share Time** | Average time between shares |
|
|
| **Difficulty** | Current pool difficulty |
|
|
|
|
## Worker Selector
|
|
|
|
The dropdown in the top-right allows filtering:
|
|
|
|
- **All Workers** - Show combined stats from all miners
|
|
- **Individual miner** - Focus on a single miner's stats
|
|
|
|
When a single miner is selected:
|
|
- Stats show only that miner's data
|
|
- Chart shows only that miner's history
|
|
- Console defaults to that miner
|
|
|
|
## Data Sources
|
|
|
|
### Live Data
|
|
- Polled every **5 seconds** from miner APIs
|
|
- Stored in memory with 5-minute high-resolution window
|
|
|
|
### Historical Data
|
|
- Stored in SQLite database
|
|
- 1-minute resolution after initial 5-minute window
|
|
- Configurable retention (default 30 days)
|
|
|
|
## API Endpoints
|
|
|
|
The dashboard data comes from these endpoints:
|
|
|
|
```
|
|
GET /api/v1/mining/miners
|
|
GET /api/v1/mining/miners/{name}/stats
|
|
GET /api/v1/mining/history/miners/{name}/hashrate
|
|
```
|
|
|
|
See [API Reference](../api/endpoints.md) for details.
|