Navigation
Access the dashboard at/agents/{agentName}/overview. The page displays:
- Summary cards with cost, token usage, and message counts
- Interactive time-series charts
- Recent message activity table
- Cost breakdown by model
Summary Cards
The dashboard header shows three key metrics with trend indicators:Cost
Total spending for the selected time range. Displayed in USD with two decimal precision. The trend badge shows percentage change compared to the previous period (e.g., if viewing last 24 hours, the trend compares to the prior 24 hours).Token Usage
Combined input and output tokens processed. Includes a tooltip explaining tokens as “units of text that AI models process.” The summary also tracks input/output token breakdown separately.Messages
Total number of LLM requests made during the time range. Each row in theagent_messages table represents one message.
Time Range Selector
Switch between time ranges using the dropdown in the page header:- Last hour: Hourly granularity, ideal for monitoring active agents
- Last 24 hours: Hourly granularity
- Last 7 days: Daily granularity (default)
- Last 30 days: Daily granularity
Interactive Charts
Click any summary card to switch the chart view. The chart displays the selected metric over time with uPlot-powered visualizations.Cost Chart
Displays spending over time with a gradient fill. Y-axis shows dollar amounts with two decimal places. Hover to see exact costs at each time point.Token Chart
Dual-line chart showing input tokens (solid) and output tokens (dashed) separately. Useful for understanding token distribution patterns.Messages Chart
Single-line chart showing message volume over time. Helps identify usage spikes and patterns.Recent Activity
The Recent Messages table shows the last 5 messages with key details:- Date: Timestamp formatted with
formatTime()utility - Message: First 8 characters of the message ID, with a heartbeat icon for keepalive messages
- Cost: Displays
$0.00or—for messages without cost data. Hover to see full precision for costs under $0.01 - Model: Model name with provider icon and routing tier badge (
simple,standard,complex,reasoning) - Tokens: Total tokens (input + output)
- Status: Badge showing
success,error, orrate_limited(links to Limits page)
Cost by Model
Breakdown table showing which models are consuming the most budget:- Model: Model name with provider icon
- Tokens: Total tokens processed
- % of total: Visual progress bar and percentage
- Cost: Estimated cost for this model
API Endpoint
The dashboard fetches data fromGET /api/v1/overview:
Real-Time Updates
The dashboard uses Server-Sent Events (SSE) to update automatically when new data arrives:pingCount() signal increments when SSE events are received, triggering automatic refetches.
Empty State
For new agents without data, the dashboard shows:- Setup modal: Prompts for agent configuration (dismissible, reopenable via header button)
- Waiting banner: Indicates data will appear after the first LLM call
- Demo dashboard: Preview of the UI with placeholder content
Performance
Dashboard data is cached for 30 seconds per user:UserCacheInterceptor creates separate cache entries for each user to prevent data leakage.
The dashboard respects multi-tenancy. All queries filter by the authenticated user’s tenant ID, ensuring users only see their own data.