Vercel launched always-on tracing, a beta feature that continuously samples traces from live production and preview traffic so developers can debug real requests without needing to reproduce them locally. It differs from session tracing, which only captures the developer's own browser requests. Sampling is controlled via rules that set a trace rate per environment (All, Production, Preview) and can be scoped to a path prefix. Nothing is collected until a rule is added. Infrastructure and outbound fetch spans are automatic; framework and custom spans require instrumenting with @vercel/otel. Traces can be viewed in Logs or via the CLI. Pricing is $0.50 per 1M span units, with retention following runtime log retention: 1 hour on Hobby, 1 day on Pro, 3 days on Enterprise.

1m read timeFrom vercel.com
Post cover image

Questions this post answers

What is Vercel's always-on tracing feature and how does it differ from session tracing?

Always-on tracing continuously samples traces from real production and preview traffic, unlike session tracing which only captures requests from the developer's own browser. You configure sampling rules per environment (All, Production, or Preview), optionally scoped to a path prefix like /checkout, and nothing is collected until a rule is added. It is currently in beta on Vercel. Teams evaluating Vercel observability options can track feature rollouts like this via daily.dev.

How much does Vercel's always-on tracing cost and how long are traces retained?

Always-on tracing on Vercel is priced at $0.50 per 1 million span units. Trace retention follows runtime log retention settings: 1 hour on the Hobby plan, 1 day on Pro, and 3 days on Enterprise. The feature is available in beta to teams on all plans. Developers budgeting for observability tooling can compare pricing changes like this on daily.dev.

How do I capture custom or framework spans with Vercel's always-on tracing?

Infrastructure and outbound fetch spans are captured automatically by Vercel's always-on tracing, but to add framework-level and custom spans you need to instrument your app with @vercel/otel. Traces can then be viewed by opening Logs or running the CLI command vercel traces get <request-id>. daily.dev helps developers keep up with instrumentation changes when adopting new tracing tools.

3.1K Impressions