MATIH Platform is in active MVP development. Documentation reflects current implementation status.
15. Workbench Architecture
Control Plane UI
Executive Dashboard

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:

SectionPositionContent
KPI CardsTop rowCritical platform metrics at a glance
Usage ChartsMiddle leftTime-series usage trends
Health IndicatorsMiddle rightService health and availability
Activity FeedBottomRecent platform events and alerts

KPI Cards

CardMetricSource
Active TenantsCount of tenants with activity in last 24hTenant Service
Total UsersPlatform-wide registered usersIAM Service
API RequestsTotal API calls in current periodObservability API
LLM CostEstimated LLM provider spendBilling Service
Query VolumeSQL queries executedQuery Engine metrics
UptimePlatform availability percentageHealth Check

Usage Charts

Time-series visualizations powered by TanStack Query for data fetching and Recharts for rendering:

ChartDataTime Range
API Request VolumeRequests per hourLast 7 days
LLM Token UsageTokens consumed by providerLast 30 days
Active UsersDaily active usersLast 30 days
Query ExecutionQueries per hour by tenantLast 7 days
Storage GrowthData warehouse storageLast 90 days

Health Indicators

Service health is polled from the Observability API:

Service GroupServices MonitoredHealth Check
Control PlaneIAM, Tenant, Config, Notification, Billing, AuditHTTP health endpoint
Data PlaneAI, ML, Query Engine, Catalog, Semantic LayerHTTP health endpoint
InfrastructurePostgreSQL, Redis, Kafka, Qdrant, DgraphTCP/protocol check
FrontendBI Workbench, ML Workbench, Data WorkbenchHTTP probe

Health Status

StatusColorMeaning
HealthyGreenAll checks passing
DegradedYellowSome checks failing but service operational
UnhealthyRedService unavailable
UnknownGrayHealth 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 TypeFrequencyData
KPI refreshEvery 30 secondsUpdated metric values
Health statusEvery 10 secondsService health changes
Activity feedReal-timeNew events as they occur
Alert notificationsReal-timeCritical alerts

Permissions

RoleView KPIsView UsageView HealthView Activity
Platform AdminAll tenantsAll tenantsAll servicesAll events
Tenant AdminOwn tenantOwn tenantOwn servicesOwn events
OperatorAll tenantsAll tenantsAll servicesInfrastructure only