Data as of Aug 25, 2026 · Based on 403 AI responses from ChatGPT Search and Google AI Mode · See how Parse measures this
To monitor token burn rates effectively, use dedicated tools like TokenBurn, which provides a unified dashboard across various providers. If you need deeper observability into specific agent chains, tools such as Langfuse, Braintrust, or LangSmith are better suited. For private data requirements, self-hosted proxies like LiteLLM or Bifrost allow you to keep logs within your own network, while general infrastructure monitoring can be handled via Prometheus and
Grafana.
Named in 65% of answers
Named in 46% of answers
Named in 41% of answers
Named in 29% of answers
Yes. I’d design it as an **internal AI FinOps + observability dashboard** rather than just a token counter. A good foundation is OpenTelemetry’s GenAI conventions, which standardize model/provider identity and input/output token usage across AI applications.…
Yes. I’d design it as an internal AI FinOps + observability dashboard rather than just a token counter.
A good foundation is OpenTelemetry’s GenAI conventions, which standardize model/provider identity and input/output token usage across AI applications.
Top-level cards:
Then a real-time burn-rate chart:
| App | Tokens/min | Tokens today | Est. cost today | Trend |
|---|---|---|---|---|
| Support Copilot | 62K | 18.4M | $214 | ↑ 18% |
| Code Assistant | 51K | 14.1M | $183 | ↑ 7% |
| Research Agent | 34K | 9.7M | $161 | ↓ 4% |
| Sales Assistant | 21K | 6.2M | $72 | ↑ 22% |
Clicking an app should drill down into model → endpoint → team → environment → individual request traces.
Separate:
This matters because newer GenAI telemetry conventions are expanding beyond a simple input/output split, so the dashboard shouldn't hard-code only two token categories.
I'd make these configurable:
For each alert, show the likely cause: app, model, team, prompt version, deployment, or traffic increase.
Internal AI Apps
│
├── OpenAI
├── Anthropic
├── Gemini
├── Bedrock
└── Other providers
│
▼
OpenTelemetry / GenAI
│
▼
Telemetry pipeline
│
┌─────┴─────┐
▼ ▼
Metrics Traces
│ │
└─────┬─────┘
▼
AI Burn Dashboard
The key telemetry fields should include things like gen_ai.provider.name, operation, model, input tokens, output tokens, and token type. OpenTelemetry specifically defines gen_ai.client.token.usage for token consumption.
Token burn rate = tokens consumed / unit of time
But I'd actually maintain three versions:
And pair each with dollars, because 10M tokens from one model can have dramatically different economics from 10M tokens from another.
If you're building this internally, I'd recommend making the dashboard multi-tenant by app/team, with a global view for leadership and drill-down views for engineering/FinOps.
You can build a token burn rate dashboard by `combining an observability backend like SigNoz or Datadog with OpenTelemetry instrumentation across your internal LLM gateways`.[](https://jellyfish.co/library/claude-code-monitoring/) [[1]](https://jellyfish.co/library/claude-code-monitoring/) To track token usage and…
You can build a token burn rate dashboard by combining an observability backend like SigNoz or Datadog with OpenTelemetry instrumentation across your internal LLM gateways.
To track token usage and spend in real time across multiple applications, set up a centralized telemetry pipeline and configure key visual panels.
Recommended Tech Stack
Core Dashboard Panels
| Metric Panel | Data Source / OTel Attribute | Refresh Interval |
|---|---|---|
| Tokens per Minute | gen_ai.usage.input_tokens + output_tokens | 10 seconds |
| Cost Accrual | Derived rate ($/1k tokens × volume) | 1 minute |
| P95 Latency | gen_ai.client.operation.duration | 30 seconds |
Setup Steps
If you'd like, let me know:
I can provide a custom configuration snippet or OpenTelemetry setup guide for your environment.
Building a custom dashboard to track **token burn rate** across internal AI apps requires pulling usage data (prompt tokens, completion tokens, and dollar costs) from your various LLM providers (OpenAI, Anthropic, Cohere, local models via vLLM, etc.) and centralizing it into a visualization layer. Here is a practical…
Building a custom dashboard to track token burn rate across internal AI apps requires pulling usage data (prompt tokens, completion tokens, and dollar costs) from your various LLM providers (OpenAI, Anthropic, Cohere, local models via vLLM, etc.) and centralizing it into a visualization layer.
Here is a practical architectural blueprint and toolstack to get your dashboard up and running:
To help tailor this architecture, let me know:
No sources cited
Absolutely. I’d design it around **tokens per minute, cost per minute, and burn against budget**, with drill-down by app, model, provider, team, and environment. A good foundation is OpenTelemetry’s GenAI conventions, which standardize token usage and model/provider attributes such as `gen_ai.client.token.usage`,…
Absolutely. I’d design it around tokens per minute, cost per minute, and burn against budget, with drill-down by app, model, provider, team, and environment.
A good foundation is OpenTelemetry’s GenAI conventions, which standardize token usage and model/provider attributes such as gen_ai.client.token.usage, input/output tokens, and provider/model identity.
| AI app | Tokens/min | Cost/min | Today | % of total | Status |
|---|---|---|---|---|---|
| Support Copilot | 42K | $0.31 | 18.4M | 34% | 🟢 |
| Code Assistant | 31K | $0.48 | 14.1M | 26% | 🟢 |
| Research Agent | 24K | $0.67 | 10.8M | 20% | 🟡 |
| Internal Search | 11K | $0.09 | 5.2M | 10% | 🟢 |
| Other | 12K | $0.18 | 5.6M | 10% | 🟢 |
The important part is that burn rate should not simply mean raw tokens. I'd calculate at least:
token_burn_rate =
(input_tokens + output_tokens) / rolling_window_minutes
cost_burn_rate =
estimated_cost / rolling_window_minutes
projected_monthly_cost =
current_daily_cost × days_remaining_in_month
Then expose dimensions such as:
appteamenvironmentmodelproviderregionoperationinput/outputThat last group matters because the GenAI conventions are evolving beyond a simple input/output split; cache and reasoning token categories are increasingly relevant to cost analysis.
For implementation, I'd make OpenTelemetry → central metrics/telemetry store → dashboard, rather than having every AI app implement its own reporting. OpenTelemetry's current GenAI guidance specifically supports token-usage metrics and model/provider dimensions, making it a useful common schema across multiple providers.
If you tell me what you're running this on—Grafana, Datadog, Azure, AWS, GCP, Snowflake, or a custom web app—I can turn this into an actual dashboard specification and the instrumentation/query layer behind it.
To build a high-performance dashboard for monitoring **token burn rate** across your internal AI apps, `you need a setup that ingests usage data (prompt/completion tokens), calculates costs and velocity in real-time, and visualizes spikes before they hit your budget`. Here is a blueprint and tech stack to get this up…
To build a high-performance dashboard for monitoring token burn rate across your internal AI apps, you need a setup that ingests usage data (prompt/completion tokens), calculates costs and velocity in real-time, and visualizes spikes before they hit your budget.
Here is a blueprint and tech stack to get this up and running cleanly:
Recommended Tech Stack
Key Metrics to Display on Your Dashboard
Step-by-Step Implementation Guide
To tailor this architecture to your specific setup, tell me:
No sources cited
Absolutely. I’d design it as an **internal AI cost/usage control plane**, with token burn treated like an infrastructure consumption metric. A good foundation is **OpenTelemetry GenAI semantic conventions**, which standardize token usage, provider, model, operation, and related telemetry. The current conventions…
Absolutely. I’d design it as an internal AI cost/usage control plane, with token burn treated like an infrastructure consumption metric.
A good foundation is OpenTelemetry GenAI semantic conventions, which standardize token usage, provider, model, operation, and related telemetry. The current conventions define gen_ai.client.token.usage and distinguish token types such as input/output; they’re also evolving to accommodate things like cached and reasoning tokens.
┌──────────────────────────────────────────────────────────────────────┐
│ AI TOKEN BURN RATE Last 24h ▼ │
├──────────────┬──────────────┬──────────────┬──────────────┬──────────┤
│ 18.4M │ 765K/min │ $1,284 │ +23% │ 3 │
│ tokens/day │ current │ est. cost │ vs yesterday │ alerts │
└──────────────┴──────────────┴──────────────┴──────────────┴──────────┘
The important distinction is burn rate, not just total consumption:
burn rate = tokens consumed / unit of time
Track both:
Use a time-series chart showing total tokens/minute, with separate input/output series available as a toggle.
Application Tokens/min 24h tokens Est. cost Δ burn
─────────────────────────────────────────────────────────────────────
Customer Support 312K 6.8M $482 +41% 🔴
Code Assistant 184K 4.1M $391 +12% 🟡
Internal Search 121K 2.7M $146 -8% 🟢
Document AI 83K 1.9M $119 +27% 🔴
Analytics Copilot 65K 1.4M $74 +3%
I'd make this drillable by:
App → environment → team → provider → model → operation
OpenTelemetry already provides dimensions such as provider, operation, model, and token type that are useful for these rollups.
Show where the burn is actually going:
This matters because a 20% increase in tokens can mean very different things depending on whether it came from more users, longer prompts, retries, or a model change.
I'd make this one of the most prominent sections:
🔥 BURN-RATE ALERTS
Customer Support +41% 6.8M tokens Prompt size increased
Document AI +27% 1.9M tokens Output tokens ↑ 52%
Code Assistant +12% 4.1M tokens Traffic increase
Potential runaway:
Analytics Copilot 4.7× normal burn 03:42–04:17 UTC
Alert on rate, rather than merely absolute usage:
2× normal burn rate
30% hour-over-hour increase
Give finance/engineering a direct answer:
MONTHLY PROJECTION
Current month $24,810
Projected $38,420
Budget $35,000
████████████████████░░░
109.8% of budget
Projected overage $3,420
I'd keep the dashboard itself relatively dumb:
AI Apps
│
├── OpenAI
├── Anthropic
├── Gemini
├── Bedrock
└── Other providers
│
▼
OpenTelemetry instrumentation
│
▼
Collector / gateway
│
┌────┴─────┐
▼ ▼
Metrics Traces
│ │
└────┬─────┘
▼
Metrics / analytics store
│
▼
┌─────────────────────┐
│ AI Burn Dashboard │
└─────────────────────┘
The key is to instrument every AI application consistently rather than building provider-specific dashboards. OpenTelemetry's current GenAI work is specifically intended to make token, latency, provider, model, and workflow information comparable across systems.
At minimum:
ai.tokens.input
ai.tokens.output
ai.tokens.total
ai.tokens.cache_read
ai.tokens.cache_write
ai.tokens.reasoning
ai.requests
ai.tokens_per_request
ai.token_burn_rate
ai.cost
ai.cost_per_request
ai.cost_per_1k_tokens
ai.latency
ai.errors
ai.retries
And dimensions:
app
team
environment
provider
model
operation
token_type
region
version
One important implementation detail: don't hard-code the assumption that tokens are only input and output. The OpenTelemetry work is evolving toward additional token categories, so your aggregation layer should preserve unknown/new token types rather than silently dropping them.
If you give me your stack (for example AWS + Kubernetes + Prometheus/Grafana, Datadog, GCP, or Azure), I can turn this into a concrete dashboard schema, metric names, alert rules, and implementation architecture.
To build or deploy a dashboard that monitors your "token burn rate" across all internal AI applications, `you need a central aggregation layer` . Since apps typically scatter calls across OpenAI, Anthropic, and open-source models hosted elsewhere, stitching this together requires either an **AI Gateway/Proxy** or an…
To build or deploy a dashboard that monitors your "token burn rate" across all internal AI applications, you need a central aggregation layer . Since apps typically scatter calls across OpenAI, Anthropic, and open-source models hosted elsewhere, stitching this together requires either an AI Gateway/Proxy or an LLM Observability platform.
The top-tier options to power your token-monitoring dashboard fall into a few clear categories:
Core Metrics Your Dashboard Should Track
To get a true "burn rate" picture, configure your chosen tool to display these specific widgets:
To help narrow down the best setup, tell me:
Yes. I’d design this as an **internal AI cost/usage control plane**, rather than just a token counter. The cleanest foundation is **OpenTelemetry GenAI semantic conventions**: they already standardize model/provider, input/output token usage, operation, latency, and agent/tool telemetry.…
Yes. I’d design this as an internal AI cost/usage control plane, rather than just a token counter.
The cleanest foundation is OpenTelemetry GenAI semantic conventions: they already standardize model/provider, input/output token usage, operation, latency, and agent/tool telemetry.
| Metric | Example |
|---|---|
| Tokens today | 48.2M |
| Tokens / hour | 2.31M |
| Projected daily burn | 55.4M |
| Estimated spend today | $1,284 |
| Projected monthly spend | $38.6K |
| vs. budget | 72% |
| Burn-rate status | 🟢 Normal |
The important metric is burn rate, not merely cumulative usage:
Token burn rate = tokens consumed / unit of time I'd show both a current rolling 1-hour rate and a 24-hour rate, plus projected daily/monthly consumption.
I'd add a threshold line conceptually:
This catches runaway agents and retry loops much earlier than a monthly billing report.
Rank every internal application:
| App | Tokens/hr | Today | Cost | Δ vs baseline |
|---|---|---|---|---|
| Support Copilot | 820K | 18.4M | $412 | +8% |
| Code Assistant | 610K | 14.1M | $331 | +31% 🔴 |
| Sales Agent | 420K | 9.7M | $286 | +4% |
| Research Agent | 270K | 6.0M | $255 | +87% 🚨 |
Then allow drill-down:
App → team → model → feature → user/session → individual request
That hierarchy is important because a spike in an application isn't necessarily the application's fault.
Track separately:
I would not hard-code the dashboard to only input/output. The current GenAI conventions are evolving, including more granular token categories.
Don't derive cost from token count alone in the dashboard. Maintain a model pricing registry:
provider
model
effective_from
effective_to
input_price_per_1m
output_price_per_1m
cached_input_price_per_1m
currency
Then calculate:
request_cost =
input_tokens × input_rate
+ output_tokens × output_rate
+ cached_tokens × cached_rate
+ other_billable_units
This lets you change pricing without rewriting historical telemetry.
Every AI call should emit something along these lines:
app.name
app.environment
team
feature
user/session/conversation ID
gen_ai.provider.name
gen_ai.request.model
gen_ai.operation.name
gen_ai.usage.input_tokens
gen_ai.usage.output_tokens
gen_ai.usage.cache_read.input_tokens
gen_ai.usage.cache_creation.input_tokens
request.duration
error.type
finish_reason
OpenTelemetry specifically recommends reporting billable token counts when providers expose them, which is particularly useful for making your dashboard reconcile with actual invoices.
I'd also keep prompt/completion content off by default. The OTel guidance explicitly notes that these can contain sensitive information and recommends opting in rather than capturing them automatically.
Don't just alert on "over 10 million tokens."
Use anomaly-based alerts:
An especially useful alert is cost per successful task, because reducing tokens isn't necessarily good if it reduces task completion. The observability data should therefore eventually connect token consumption to application outcomes.
I'd use:
Internal AI Apps
│
│ OpenTelemetry
▼
┌───────────────────┐
│ OTel Collector │
│ normalize/enrich │
└─────────┬─────────┘
│
├──────────────► Metrics
│
├──────────────► Traces
│
└──────────────► Events
│
▼
┌─────────────────┐
│ AI Usage Store │
└────────┬────────┘
│
┌──────────┴──────────┐
▼ ▼
Dashboard Alert Engine
│ │
▼ ▼
Cost / Burn / Slack /
App / Model PagerDuty
The advantage is that every internal AI application speaks the same telemetry language, regardless of whether it uses OpenAI, Anthropic, Bedrock, Gemini, or another provider. OTel's current conventions explicitly include provider identifiers for those ecosystems.
I'd build v1 with five screens/panels:
Then make every row clickable down to the underlying trace/request.
That gives you a dashboard that answers the three questions that matter most:
"Are we burning tokens faster than expected?" → "Where are they going?" → "Why?"
I would not hard-code the dashboard to only input/output. The current GenAI conventions are evolving, including more granular token categories.
Don't derive cost from token count alone in the dashboard. Maintain a model pricing registry:
provider
model
effective_from
effective_to
input_price_per_1m
output_price_per_1m
cached_input_price_per_1m
currency
Then calculate:
request_cost =
input_tokens × input_rate
+ output_tokens × output_rate
+ cached_tokens × cached_rate
+ other_billable_units
This lets you change pricing without rewriting historical telemetry.
Every AI call should emit something along these lines:
app.name
app.environment
team
feature
user/session/conversation ID
gen_ai.provider.name
gen_ai.request.model
gen_ai.operation.name
gen_ai.usage.input_tokens
gen_ai.usage.output_tokens
gen_ai.usage.cache_read.input_tokens
gen_ai.usage.cache_creation.input_tokens
request.duration
error.type
finish_reason
OpenTelemetry specifically recommends reporting billable token counts when providers expose them, which is particularly useful for making your dashboard reconcile with actual invoices.
I'd also keep prompt/completion content off by default. The OTel guidance explicitly notes that these can contain sensitive information and recommends opting in rather than capturing them automatically.
Don't just alert on "over 10 million tokens."
Use anomaly-based alerts:
An especially useful alert is cost per successful task, because reducing tokens isn't necessarily good if it reduces task completion. The observability data should therefore eventually connect token consumption to application outcomes.
I'd use:
Internal AI Apps
│
│ OpenTelemetry
▼
┌───────────────────┐
│ OTel Collector │
│ normalize/enrich │
└─────────┬─────────┘
│
├──────────────► Metrics
│
├──────────────► Traces
│
└──────────────► Events
│
▼
┌─────────────────┐
│ AI Usage Store │
└────────┬────────┘
│
┌──────────┴──────────┐
▼ ▼
Dashboard Alert Engine
│ │
▼ ▼
Cost / Burn / Slack /
App / Model PagerDuty
The advantage is that every internal AI application speaks the same telemetry language, regardless of whether it uses OpenAI, Anthropic, Bedrock, Gemini, or another provider. OTel's current conventions explicitly include provider identifiers for those ecosystems.
I'd build v1 with five screens/panels:
Then make every row clickable down to the underlying trace/request.
That gives you a dashboard that answers the three questions that matter most:
To build an effective dashboard for monitoring token burn rate across your internal AI applications, you need a clear architecture that captures metrics from your LLM gateways, visualizes usage trends in real-time, and sets up alerts before costs spiral. Here is a blueprint and tech stack to set this up cleanly:…
To build an effective dashboard for monitoring token burn rate across your internal AI applications, you need a clear architecture that captures metrics from your LLM gateways, visualizes usage trends in real-time, and sets up alerts before costs spiral.
Here is a blueprint and tech stack to set this up cleanly:
Recommended Architecture & Tech Stack
Core Metrics to Track on Your Dashboard
Step-by-Step Implementation Guide
To help tailor this dashboard setup, could you share:
Absolutely. I’d design this as an **internal AI FinOps / observability dashboard** centered on *rate*, not just cumulative token counts. OpenTelemetry’s current GenAI conventions already give you a useful foundation: `gen_ai.client.token.usage` tracks token consumption, with input/output token types, and…
Absolutely. I’d design this as an internal AI FinOps / observability dashboard centered on rate, not just cumulative token counts.
OpenTelemetry’s current GenAI conventions already give you a useful foundation: gen_ai.client.token.usage tracks token consumption, with input/output token types, and model/provider attributes let you slice usage across applications and providers.
Use a time-series chart as the primary visualization:
I would calculate burn rate over rolling windows—e.g. 5 min, 1 hour, and 24 hours—so a single burst doesn't obscure the longer-term trend.
| AI app | Tokens/min | Today | Est. cost today | Burn vs baseline |
|---|---|---|---|---|
| Customer Support | 82K | 41.2M | $— | 🔴 +64% |
| Internal Copilot | 61K | 29.7M | $— | 🟡 +18% |
| Document AI | 34K | 16.3M | $— | 🟢 -7% |
| Sales Assistant | 19K | 8.9M | $— | 🟢 -12% |
The important thing is to make the leaderboard sortable by instantaneous burn, daily consumption, cost, and rate-of-change.
Every metric should be filterable by:
OpenTelemetry specifically supports model and provider dimensions alongside token usage, making this kind of cross-application aggregation practical.
I'd make these first-class dashboard objects:
Crucially, distinguish high usage caused by high traffic from high usage per request. Otherwise the dashboard will generate a lot of noise.
I'd standardize every LLM call around something like:
AI App
│
├── service.name = customer-support
├── team = support
├── environment = production
└── LLM call
├── provider = openai
├── model = <model>
├── input_tokens
├── output_tokens
├── latency
└── request/trace ID
│
▼
OpenTelemetry
│
├── Metrics → token burn rates
├── Traces → individual expensive calls
└── Logs → incidents/anomalies
│
▼
Your dashboard
OpenTelemetry's GenAI observability guidance explicitly describes using token metrics for estimating cost, detecting token-hungry prompts, and comparing models/agents.
For cost, I'd keep a separate pricing table rather than hard-coding prices into application telemetry. Then:
estimated_cost = input_tokens × input_price + output_tokens × output_price
That lets you change provider/model pricing without redeploying your AI applications.
If you tell me what you're using for telemetry/storage (e.g. Prometheus/Grafana, Datadog, OpenObserve, ClickHouse, Snowflake, or something custom), I can turn this into a concrete dashboard architecture and metric schema.