Reports and Analytics
Overview
AI Gateway → Analytics provides visibility into LLM usage, costs, and performance across your organization in a single page made up of seven tabs: Overview, Performance, Cost and Consumers, Usage Reports, Security and Guardrails, Provider Health, and Traffic. The project selector (admin mode), environment filter, date-range filter, and Export/Refresh actions are shared across every tab except Traffic, which carries its own environment/date filters.
Reports are scoped by role:
- System Admins — see cross-project, cross-organization data
- Project Managers — see data within their projects
- Team Leads — see data for their teams
- Regular Users — see their own usage
Deep-link directly to a tab with the ?tab= query parameter (e.g. .../ai-dashboard?tab=usage). Overview is the default tab so it doesn't appear in the URL; switching to any other tab updates the address bar automatically. Old links to the former standalone screens (Usage Reports, Guardrail Hits, Cache Efficiency) redirect here with the matching tab pre-selected.
When an A2A proxy publishes an agent directly (agent publishing mode), the incoming request is answered by a language model call made on Apinizer. The token usage and cost of that call are included in the reports and alerts on this page, and in token quotas.
Counting applies only to the agent publishing mode; proxies that forward the request to an external agent do not call a model themselves and are therefore not counted. MCP proxies also do not call a model during routing, so they are out of scope.
Counting starts from this version — past A2A traffic is not added retroactively to reports or quota consumption.
Overview Tab
The default tab shown when the page loads. It summarizes the selected project/environment/date range: a daily token usage chart, provider/model distribution, summary rates (cache hit rate, guardrail hit rate, PII detection rate), a provider health summary (linking to the Provider Health tab), recent alerts, and an average guardrail/inference/overhead time summary (see the Performance tab for the full breakdown).
Alongside the breakdown tables, the Overview tab also charts token usage as input, output, and cached token series, so you can see at a glance how much of your traffic is being served from the semantic cache instead of billed as fresh output.
Two views are available:
- Daily Token Usage — one bar per day, for the selected date range (the shared Since filter at the top of the page).
- Hourly Token Usage — a sub-daily view with its own independent filter: Last 6, 12, 24, or 48 hours. Use it to spot a spike or a cache-hit-rate change within the current day, without waiting for the next daily rollup.
The hourly view has its own loading state and filter, separate from the daily chart's date range — changing one does not refetch the other.
Performance Tab
Alongside TTFT (Time To First Token) and TPOT (Time Per Output Token) summary cards, this tab shows request count, error rate, a daily requests/tokens chart, cache hit rate, and a per-model performance table (share, tokens, cost). In addition to those summary numbers, it includes a latency breakdown panel showing where request time goes:
Time spent in PII masking, content filters, and prompt inspection policies.
Measured in milliseconds (ms). Zero if no guardrail policies are active.
Time to receive the response from the LLM provider.
For streaming: first-token-time (TTFT). For non-streaming: full inference duration.
System overhead: serialization, network routing, caching lookup, etc.
Calculated as: total time - guardrail time - inference time.
Latency Example
Total request time: 1200 ms
Breakdown:
├─ Guardrail Time: 50 ms (PII mask + content filter)
├─ Inference Time: 1000 ms (LLM response)
└─ Overhead Time: 150 ms (routing, serialization, etc.)
Cost and Consumers Tab
Shows budget status (limit, percent consumed, days left, over-budget projection), a cost burndown chart (actual vs. budget), cost by model, and a top-consumers table (top people/applications by cost and error rate). The former standalone Cache Efficiency screen now lives at the bottom of this tab:
How often the semantic cache served a response instead of calling the model — the cache hit rate — along with the estimated cost savings from those hits. A low hit rate on a proxy with repetitive traffic is a sign the similarity threshold may need adjusting.
Usage Reports Tab
This tab is the former standalone Usage Reports screen, reached via AI Gateway → Analytics. It offers multi-dimensional usage and cost breakdowns, drilldown, and XLSX export.
Usage Dimensions
Reports can be broken down by:
| Dimension | Scope | Description |
|---|---|---|
| Person | Individual | Usage per user ID / credential |
| Group | Team / Department | Usage per organization group |
| Organization Unit (OU) | Hierarchy | Usage per org tree node |
| Application | API Proxy | Usage per gateway rule |
| Model | LLM Model | Usage per model (GPT-4o, Claude-3, etc.) |
| Project | Project | Usage per API management project (admins only) |
| Team | Credential Organization | Usage per credential organization axis |
| Deployment Type | Infrastructure | Cloud vs. On-Premise (admins only) |
Select a breakdown from the tabs below (see Breakdown Tabs) to view the corresponding table and metrics.
Key Metrics
For each dimension, reports show:
- Token Count — total input + output tokens consumed
- Request Count — number of API calls
- Average Cost per Request — total cost ÷ request count
- Total Cost — cumulative cost (in display currency: USD or TRY)
- Cost YTD — cost from start of month to today
Breakdown Tabs
By Person
View individual user usage. Click a row to drill down into that person's model breakdown.
Accessible by: Users (own data), managers (team data), admins (all data)
By Group
Group usage aggregated by organization group. Useful for department-level cost allocation.
Accessible by: Admins, group managers
By OU
Organizational unit (org tree node) usage. Reflects your company structure.
Accessible by: Admins, OU leads
By Application
Usage per API Proxy (gateway rule). Identify which integrations are using the most LLM tokens.
Accessible by: Users (own apps), project leads (project apps), admins (all)
By Model
Cost and usage breakdown by LLM model. Helps identify which models are most expensive or frequently used.
- GPT-4o — 5000 requests, $250
- Claude-3-Sonnet — 2000 requests, $80
- GPT-4-Turbo — 500 requests, $150
Accessible by: Everyone
By Project
Cross-project usage summary (system admins only). Useful for comparing project costs and resource allocation.
Accessible by: System admins only
By Team
Usage by credential organization (the team that owns the API credentials). Reflects organizational consumption patterns.
Accessible by: Team admins, system admins
By Deployment Type
Usage split between Cloud (managed providers) and On-Premise (self-hosted models). Useful for infrastructure planning.
- Cloud: OpenAI, Anthropic, Azure → 8000 requests, $400
- On-Premise: vLLM, Ollama → 2000 requests, $0 (self-hosted)
Accessible by: System admins only
Time Range
All reports support a date range picker:
- Select Since (start date) and optionally Until (end date)
- Defaults to current month
- Cost YTD always includes month-start to today
Export to Excel
Click Export (XLSX) to download the current report as an Excel file:
- Includes all visible rows from the selected breakdown
- Columns match the on-screen table (tokens, requests, cost, etc.)
- Formatted with headers and basic styling
- Cost values show in the selected currency (USD or TRY)
Note: Cross-project exports require system admin privileges.
Drilldown & Navigation
Click on a row in any table to drill down:
- By Person → Model Breakdown — which models did this person use?
- By Team → Person Breakdown — which people in this team used the most?
- By Model → By Person — who used GPT-4o the most?
Close the drilldown with the back button or breadcrumb.
Caching & Refresh
Reports aggregate data from the previous month-end and the current period (month-to-date). Aggregation runs:
- Nightly (UTC) for historical data
- On-demand when you open the report (if configured)
Click Refresh to force re-aggregation of the current period.
Multi-Currency Display
If configured in AI Cost Settings, costs display in your chosen currency:
- USD:
$0.05 - TRY:
0.04 ₺(if rate is set, e.g., 38.5)
All metrics remain in absolute token counts (not currency-dependent).
Permission Examples
| Role | By Person | By Project | By Deployment | Cross-Project Export |
|---|---|---|---|---|
| Regular User | Own only | Own only | ❌ | ❌ |
| Project Manager | Project only | Project | ❌ | ❌ |
| Team Lead | Team only | Team | ❌ | ❌ |
| System Admin | All | All | ✅ | ✅ |
Security and Guardrails Tab
How many requests were flagged or blocked by your guardrail policies (PII masking, prompt-injection guard, DLP, loop guard, off-topic guard, oversized guard), broken down by guardrail type and the action taken. Use it to spot a guard that's blocking too often — or too rarely. When Prompt Protection or Off-Topic Protection uses an external provider, rows also break down by provider (the built-in check or the external judge) and by verdict (blocked, timed out, errored, or skipped due to misconfiguration) — safe verdicts aren't included. Configure the guards this report reflects in Advanced Guardrails.
Provider Health Tab
Each LLM provider connection reports a live status — Healthy, Down, or Unknown — with its last measured response latency. This is the same latency data that feeds least-latency routing, so you can see why a request went to one connection over another.
AWS Bedrock and Google Vertex AI connections currently show as unhealthy here regardless of actual availability — the periodic check doesn't yet support their provider-native signing. This doesn't affect chat or embedding traffic through those connections; see LLM Providers and Connections for details.
Traffic Tab
Shows the AI-aware raw traffic log — the general API traffic table enriched with AI-specific columns (provider, model, tokens, cost, cache/guardrail/PII flags). It carries its own environment and date filters (the shared filter bar at the top of the page is hidden on this tab) and a Live Trace toggle for short-interval auto-refresh. To follow a single request end-to-end, see Tracing and Replay.
Troubleshooting
No Data in Reports
- Confirm that requests have been sent through the AI Gateway
- Check that the date range includes the time of your requests
- Verify you have permission to view that breakdown (e.g., non-admins cannot view By Project)
Cost Shows $0
- Confirm per-model pricing is configured in AI Cost Settings
- Prices are stored in USD; if all models have price = 0, cost is $0
- New pricing changes apply to requests after the change; historical logs are not recalculated
Latency Breakdown Shows All Zeros
- Confirm guardrails or inference policies are active
- First few requests may not have latency data; try again after 5-10 more requests
- Check that the LLM provider is responding in reasonable time
Export File Is Empty
- Confirm you have permission to export (admins for cross-project)
- Verify the date range contains data
- Try clicking Refresh first to regenerate the aggregation
Next Steps
Set limits based on report insights
Configure pricing and currency display
Manage provider credentials
Follow an individual request end-to-end
Configure the guards behind the Guardrail Hits report
Configure the cache behind the Cache Efficiency report