|
| 1 | +#AI Bridge Grafana Dashboard |
| 2 | + |
| 3 | +A sample Grafana dashboard for monitoring AI Bridge token usage, costs, and cache hit rates in Coder. |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | +The dashboard includes three main sections with multiple visualization panels: |
| 8 | + |
| 9 | +**Usage Leaderboards** - Track token consumption across your organization: |
| 10 | +- Bar chart showing input, output, cache read, and cache write tokens per user |
| 11 | +- Total usage statistics with breakdowns by token type |
| 12 | + |
| 13 | +**Approximate Cost Table** - Estimate AI spending by joining token usage with live pricing data from LiteLLM: |
| 14 | +- Per-provider and per-model cost breakdown |
| 15 | +- Input, output, cache read, and cache write costs |
| 16 | +- Total cost calculations with footer summaries |
| 17 | + |
| 18 | +**Interceptions** - Monitor AI API calls over time: |
| 19 | +- Time-series bar chart of interceptions by user |
| 20 | +- Total interception count |
| 21 | + |
| 22 | +**Prompts & Tool Calls Details** - Inspect actual AI interactions: |
| 23 | +- User Prompts table showing all prompts sent to AI models with timestamps |
| 24 | +- Tool Calls table displaying MCP tool invocations, inputs, and errors (color-coded for failures) |
| 25 | + |
| 26 | +All panels support filtering by time range, username, provider (Anthropic, OpenAI, etc.), and model using regex patterns. |
| 27 | + |
| 28 | +##Setup |
| 29 | + |
| 30 | +1.**Install the Infinity plugin**:`grafana-cli plugins install yesoreyeram-infinity-datasource` |
| 31 | + |
| 32 | +2.**Configure data sources**: |
| 33 | +-**PostgreSQL datasource** (`coder-observability-ro`): Connect to your Coder database with read access to`aibridge_interceptions`,`aibridge_token_usages`,`aibridge_user_prompts`,`aibridge_tool_usages` and`users` |
| 34 | +-**Infinity datasource** (`litellm-pricing-data`): Point to`https://raw.githubusercontent.com/BerriAI/litellm/refs/heads/main/model_prices_and_context_window.json` for model pricing data |
| 35 | + |
| 36 | +3.**Import**: Download[`dashboard.json`](https://raw.githubusercontent.com/coder/coder/main/examples/monitoring/dashboards/grafana/aibridge/dashboard.json) from this directory, then in Grafana navigate to**Dashboards** →**Import** →**Upload JSON file**. Map the data sources when prompted. |
| 37 | + |
| 38 | +##Features |
| 39 | + |
| 40 | +- Token usage leaderboards by user, provider, and model |
| 41 | +- Filterable by time range, username, provider, and model (regex supported) |