Cost debugging for engineers

Your system is spending
money right now.
You just don’t know
where.

Most teams discover expensive requests on invoice day — weeks after the deploy that caused it. CostObs puts a dollar sign on every span, so you know what each endpoint costs before your CFO does.

Trace explorer — costobs — POST /api/checkout
tracef3a7c2b1d4e9 | duration284ms | total cost$0.00421 ~estimate
SpanTimelineDurationEst. cost
checkout-svcPOST /api/checkout
284ms
$0.00421100%
inventory-svccheckStock
120ms
$0.0018043%
postgresSELECT inventorycostly
118ms
$0.0017742%
pricing-svcgetPricing
50ms
$0.000389%
payment-svcchargeCard
62ms
$0.000225%
No code changes · Works with your existing OTel setup · 30-minute setup · Estimates — not billing-grade numbers

Who this is for

Is this your situation?

AI & LLM workloads

Your LLM calls cost $0.38 each. Your search calls cost $0.003. Only one shows up in traces.

GPT-4 and Claude API calls have 100–1000× more cost variance than traditional compute. You need cost visibility at the span level, not just the invoice level.

typical signal: LLM Inference is 90% of request cost

Multi-tenant SaaS

Some customers are 20× more expensive to serve than others. You’re subsidizing them.

You have a pricing model based on seats or usage. But you don’t know which customers are profitable to serve. CostObs lets you see cost per customer_id in traces.

typical signal: customer_id: enterprise-04 costs $12/day to serve

Backend-heavy systems

You have 12 microservices, OTel already deployed, and no idea which one is expensive.

You ship fast. Cost only becomes visible when finance escalates. By then, root cause is weeks old. CostObs turns cost into a real-time signal alongside latency and errors.

typical signal: POST /api/export is 91× more expensive than avg

The gap

Observability tells you
everything except cost.

What you have

Traces show what’s slow.

Latency is a first-class signal. P99 goes up — you get paged. Errors spike — you see it in dashboards. Slow spans glow red in Jaeger.

What’s missing

Nothing shows what’s expensive.

A new feature ships. Fast. No errors. But it added a new LLM call per request — turning a $0.003 endpoint into a $0.42 one. Nobody notices until invoice day.

The consequence

Cost bugs compound silently for weeks.

By the time finance flags the number, the engineer has moved on, the deploy is months old, and root cause is manual archaeology. CostObs makes cost a deploy-time signal.

The aha moment

Two things you didn’t
know about your system. Yet.

endpoint cost · GET /api/reports/export

$0.136

per request — 91× your average. 89 users hit it yesterday. That’s $12/day, $360/month for a feature 3% of users actually use.

deploy regression · PR #482 · merged 2h ago · by @sarah

+$4,200/mo

POST /api/checkout went from $0.0018 to $0.0058 per request. At 3,400 calls/day, that’s $4,200 extra this month for one merged PR.

How it works

Set up in 30 minutes.
First insight in 5.

1

Add one exporter

Point your existing OTel Collector at CostObs. No SDK changes. No code deploys. No restarts.

otlphttp/costobs:
 endpoint: costobs.io
2

Set service prices

Tell us roughly what each service costs. One-time config. Directional numbers are enough — relative cost is what matters.

order-svc: $0.00005/ms
db-proxy:  $0.00008/ms
3

See cost in every trace

Cost appears as a column on every span. Every endpoint, every scenario, every request — in real time.

4

Get alerted on regressions

Deploy cost regressions fire to Slack within minutes. Link to the trace, the culprit span, and the estimated monthly impact.

Live demo

Click a span. See what
it actually costs.

This is real data from an AI chat endpoint. LLM inference is 90% of the cost. Click any span to inspect.

live demo — sample data
POST POST /chat

Trace ID: a7f3c9b2-4d1e-4a5b-8c3f-9e2d1a4b5c6d  ·  17.03.2026, 13:32:45

Total duration

2.1s

Total est. cost

$0.4200

Spans

5

Service / operationTimeline (2.1s)DurationEst. cost
api-gatewayHTTP POST /chat
20ms
$0.00100.2%

Cost

$0.0010

Duration

20ms

% of request

0.2%

└─service-aProcess Request
120ms
$0.01002.4%

Cost

$0.0100

Duration

120ms

% of request

2.4%

└─vector-searchEmbedding Lookup
80ms
$0.02004.8%

Cost

$0.0200

Duration

80ms

% of request

4.8%

cost vs other spans$0.0200
└─llm-inferenceGPT-4 Generation90% of cost
1.90s
$0.380090.5%

Cost

$0.3800

Duration

1.90s

% of request

90.5%

cost vs other spans$0.3800
At 29,600 requests/day, this single span costs $11,248/day. Consider: prompt length optimization, GPT-3.5 for non-critical paths, response caching for repeated queries.
└─cacheRedis SET
15ms
$0.0001<0.1%

Cost

$0.0001

Duration

15ms

% of request

<0.1%

Total est. cost (24h)
$24.37k
↓ 3.2% from yesterday
Total requests (24h)
161.3k
↑ 8.4% from yesterday
Avg cost / request
$0.1511
↑ 2.1% from yesterday
ScenarioRequestsTotal costAvg / reqTrend
1POST/chat
29.6k
$12.43k
$0.4200
↑ 12.4%
2POST/image/generate
10.5k
$8.21k
$0.7800
↑ 8.2%
3GET/search
37.4k
$1.12k
$0.0300
↓ 5.1%
4POST/embed
17.8k
$892
$0.0500
5GET/recommendations
32.7k
$654
$0.0200
↓ 3.5%

Alerts

Know in minutes.
Not on invoice day.

Every deploy is automatically benchmarked. Cost regressions fire to Slack before the engineer closes their laptop.

Cost regression detected

deploy #1847  ·  triggered by @sarah

2 min after deploy

POST /api/checkout is 3.2× more expensive after your last deploy.

Before deploy

$0.0018

After deploy

$0.0058

Δ monthly

+$4,200

+$4,200
At current volume (3,400 req/day), this deploy will cost an extra $4,200 this month if not reverted. The cost is already accumulating.

Most likely cause: discount-svc: getEligibility — new span introduced in this deploy, adds 68ms and 1 extra DB call to every checkout request.

→ View example trace from deploy #1847

Deploy regression · order-service

PR #482 increased avg cost of POST /api/orders by 40%. New DB join examining 3× more rows. Estimated impact: +$1,800/mo.

2 hours ago · @sarah · deploy #1845

Cost spike · /api/ml/classify

Avg cost per request up 3× in 30 minutes. No deploy detected — probable upstream model latency increase.

31 minutes ago · no deploy associated

Cost improvement · /api/search

Index added by @marcos reduced avg cost by 62%. Saving $180/day at current volume.

Yesterday · deploy #1841 · resolved

Alerts fire to Slack, PagerDuty, or email — your choice. Each one includes the trace link, before/after cost per request, and the estimated monthly impact. A tech lead can decide to roll back in 30 seconds without opening a single dashboard.

Deploy regression detection is a Pro feature. Free tier gets full trace + dashboard visibility, no alerts.

Why now

Three things converged.
Cost is not optional anymore.

AI inference

LLM calls don’t cost cents. They cost dollars.

A GPT-4 call in a hot loop can cost more than an entire serverless function per day. AI features introduced 100–1000× cost variance that didn’t exist two years ago.

100–1000×

cost variance introduced by LLM endpoints

Cloud pressure

Eng teams are now accountable for spend.

Post-2022, “optimize later” stopped being acceptable. CFOs are asking VPs of Eng for line-item attribution. Most engineering orgs don’t have an answer.

$62B

wasted annually in cloud overspend (Gartner)

OpenTelemetry

The instrumentation layer is already deployed.

OTel is the default. It’s in Kubernetes, every major APM vendor, cloud-native runtimes. The telemetry pipeline CostObs needs is already there — we just add cost to it.

~80%

of new cloud-native apps use OTel (CNCF 2024)

Accuracy

“How accurate
are the numbers?”

Directional. Not billing-grade. That’s enough.

CostObs computes cost = duration × configured price/ms per service. The absolute number might be off by 30–50%. That’s fine. The goal isn’t to replace your cloud bill — it’s to tell you which endpoint is 10× more expensive than your average, and whether that changed after a deploy.

Relative cost is what makes decisions. If /api/export is 91× your average endpoint cost, that’s true regardless of whether the absolute number is $0.136 or $0.098.

All cost figures are labeled “estimate” throughout the UI. This is not a billing tool.

What’s accurate

Relative cost between endpoints is reliable — if A shows 10× more than B, that ratio is real. Cost trends over time are reliable — if cost goes up 3× after a deploy, that signal is real regardless of absolute calibration.

What’s approximate

Absolute dollar amounts depend on how accurately you configure service prices. CPU cost uses request allocation, not actual utilization. DB costs are duration-based, not query-complexity-based.

How to improve accuracy

Connect AWS CUR / GCP Billing Export (Team tier) for nightly reconciliation. Estimated vs. actual typically lands within ±10% after reconciliation.

Early feedback

What engineers say
after the first 5 minutes.

“We’d been running that export endpoint for 8 months and had no idea it cost $0.14 per call. We fixed it in an afternoon. It paid for a year of CostObs.”

MR

Maya R.

Staff Engineer · Series B SaaS

“The deploy regression alert fired before I’d closed my laptop. PR reverted in 12 minutes. That cost spike would have compounded for weeks without CostObs.

JK

James K.

Platform Lead · Fintech startup

“I showed the dashboard to our VP of Eng on day one. She asked me to roll it out to every team. We didn’t have to sell it internally — the trace view does that for you.”

AS

Anika S.

Senior SRE · E-commerce platform

30 min

median time to first cost insight

$0

code changes required to start

1 day

to catch a cost regression before finance does

Pricing

Explore for free.
Upgrade when you need alerts.

The trace view and dashboards are free forever. You shouldn’t have to pay just to see what your system costs. Upgrade when you want to be told about cost regressions before you notice them yourself.

The upgrade trigger

You’re on free tier. A deploy ships Friday at 5pm. Cost goes up 3×. You don’t find out until Monday when you check the dashboard.

That’s when teams upgrade to Pro — when they want the alert to fire at 5:02pm instead.

→ Alerts fire 2–5 minutes after deploy

Free

$0

forever · no card · no expiry

  • Full trace view with cost per span
  • Top endpoints dashboard
  • JSON trace upload (no account needed)
  • 3 services · 3-day retention
  • No cost spike alerts
  • No deploy regression detection

Team

$249/mo

workspace · or custom enterprise pricing

  • Everything in Pro
  • 5M spans/day · 90-day retention
  • Cost per customer_id
  • AWS CUR reconciliation
  • Budget threshold alerts
  • SSO · on-premise available

Get started

Your system is spending
money right now.
Find out where.

Connect your OTel Collector in 30 minutes — or upload a trace JSON right now. No account needed to try the demo.

Free forever for up to 3 services No credit card required Works with your existing OTel stack