Executive Dashboard
The Executive Dashboard provides a high-level overview of platform health, usage metrics, cost allocation, and key performance indicators for platform administrators and tenant executives. It aggregates data from multiple backend services into a single unified view.
Dashboard Layout
The dashboard is organized into four sections:
| Section | Position | Content |
|---|---|---|
| KPI Cards | Top row | Critical platform metrics at a glance |
| Usage Charts | Middle left | Time-series usage trends |
| Health Indicators | Middle right | Service health and availability |
| Activity Feed | Bottom | Recent platform events and alerts |
KPI Cards
| Card | Metric | Source |
|---|---|---|
| Active Tenants | Count of tenants with activity in last 24h | Tenant Service |
| Total Users | Platform-wide registered users | IAM Service |
| API Requests | Total API calls in current period | Observability API |
| LLM Cost | Estimated LLM provider spend | Billing Service |
| Query Volume | SQL queries executed | Query Engine metrics |
| Uptime | Platform availability percentage | Health Check |
Usage Charts
Time-series visualizations powered by TanStack Query for data fetching and Recharts for rendering:
| Chart | Data | Time Range |
|---|---|---|
| API Request Volume | Requests per hour | Last 7 days |
| LLM Token Usage | Tokens consumed by provider | Last 30 days |
| Active Users | Daily active users | Last 30 days |
| Query Execution | Queries per hour by tenant | Last 7 days |
| Storage Growth | Data warehouse storage | Last 90 days |
Health Indicators
Service health is polled from the Observability API:
| Service Group | Services Monitored | Health Check |
|---|---|---|
| Control Plane | IAM, Tenant, Config, Notification, Billing, Audit | HTTP health endpoint |
| Data Plane | AI, ML, Query Engine, Catalog, Semantic Layer | HTTP health endpoint |
| Infrastructure | PostgreSQL, Redis, Kafka, Qdrant, Dgraph | TCP/protocol check |
| Frontend | BI Workbench, ML Workbench, Data Workbench | HTTP probe |
Health Status
| Status | Color | Meaning |
|---|---|---|
| Healthy | Green | All checks passing |
| Degraded | Yellow | Some checks failing but service operational |
| Unhealthy | Red | Service unavailable |
| Unknown | Gray | Health check not responding |
Data Fetching
const useDashboardMetrics = (timeRange: string) => {
return useQuery({
queryKey: ['dashboard-metrics', timeRange],
queryFn: () => apiClient.get('/api/v1/metrics/dashboard', {
params: { time_range: timeRange }
}),
refetchInterval: 30000, // Refresh every 30 seconds
});
};Real-Time Updates
The dashboard uses WebSocket connections for real-time metric updates:
| Update Type | Frequency | Data |
|---|---|---|
| KPI refresh | Every 30 seconds | Updated metric values |
| Health status | Every 10 seconds | Service health changes |
| Activity feed | Real-time | New events as they occur |
| Alert notifications | Real-time | Critical alerts |
Permissions
| Role | View KPIs | View Usage | View Health | View Activity |
|---|---|---|---|---|
| Platform Admin | All tenants | All tenants | All services | All events |
| Tenant Admin | Own tenant | Own tenant | Own services | Own events |
| Operator | All tenants | All tenants | All services | Infrastructure only |