Skip to content

Pricing

The invoice counts the gigabytes the collector accepted after sampling

Not per host, not per seat, and not per dashboard you never opened.

$0.42 per GBfree under 5 GB a month
GB before sampling

Whole gigabytes, 0 to 2,000

Sample rate

Sampling is set per service in signal.config.ts. Every error and every p99 outlier is kept whatever the rate, so the slice you drop is the boring remainder.

raw spans
1,071.0 GB / month
sample rate
10%
ingested, billable
107.1 GB
rate
$0.42 / GB

Estimated month

$44.98

107.1 GB at $0.42/GB

Up to 5.0 GB a month after sampling costs nothing. Above that line every gigabyte is billed, including the first five.

Already sending spans? Run sgl cost --estimate and it reads the last thirty days off your own account.

Plans

Three plans, one meter

Ingested gigabytes after sampling is the only meter on the account.

Free

$0

Up to 5 GB a month after sampling. There is no expiry on it.

  • 30-day retention
  • Unlimited seats and services
  • All seven commands, alerts included
  • No card, no trial clock

Start free

Usage

$0.42/ GB

Every gigabyte after sampling. No minimum, no seat count, no host count.

  • 13-month retention
  • Deploy attribution and trace-linked alerts
  • sgl diff across releases and windows
  • First response in 4 business hours

Estimate your bill

Self-hosted

Aggregates only

The same $0.42 meter, on what the collector forwards. Raw spans never leave your VPC.

  • One static binary, no queue to run
  • Same seven commands, SIGNAL_ENDPOINT set
  • 13-month retention on what you forward
  • sgl collector verify before you cut over

Read sgl collector

What counts as a gigabyte

The collector measures the compressed bytes it accepts, after your sample rates have already thrown work away. A span you never sent is a span you never pay for.

Retention is included rather than metered: thirteen months on the usage plan, thirty days on the free tier. Storing a gigabyte for a year costs the same as storing it for a week.

Run sgl cost --by service to see which service is spending it.

Never on the invoice

seats
invite the whole team, and the contractors
services
one service per deployable, not per licence
hosts
scale to forty replicas at the same price
deploy events
mark every release, including the reverts
alert evaluations
the collector runs them, you do not pay per check
API and CLI calls
query as often as an incident needs

Questions

What the price does not say

Six answers to the questions the estimator raises and the plan cards cannot hold.

What happens when I go over the free tier?

Every ingested gigabyte is billed at $0.42, including the first five. Nothing stops collecting and no service is throttled: the invoice grows and the timeline stays complete.

What does a 10% sample rate drop?

Every error and every p99 outlier is kept whatever the rate you set in signal.config.ts. What a 10% rate drops is the remainder: successful requests inside the normal latency band.

Can I run the collector myself?

Yes, on every plan including the free tier. The collector is one binary and it speaks OTLP, so a service already exporting spans needs one endpoint changed.

How long is trace data kept?

Thirteen months on the usage plan and thirty days on the free tier. Close an account and every span is deleted within thirty days, backups included.

Can I get the raw spans out?

sgl export writes the selected window to newline-delimited JSON, at full fidelity, with no rate limit on the first export of a month.

Is there a contract or a minimum?

Neither. Usage is billed monthly in arrears and the plan can be closed from the CLI on any day of the month.

Your next regression already has a commit

Install the CLI, point one service at the collector, and the next deploy annotates itself.

sgl init --service payments-worker

  • $0.42 per ingested GB after sampling
  • Free under 5 GB a month, 30-day retention
  • No credit card, no sales call
  • Self-host the collector whenever you want