BuildNot yet confirmed elsewhere1 publisher2 min readPublished Updated
Cloudflare Traces exposes its proxy as OpenTelemetry spans billed by the gigabyte
Cloudflare put Traces into open beta, turning security rules, cache, routing and origin handling into OpenTelemetry spans with no code to write. From December 1 those spans, and Workers Tracing, are billed per gigabyte, so sampling rates now set the bill.
The Engineer · Build desk

Groups and how the story reaches them: the pricing change also covers Workers Tracing users; sampling choices now set the bill; paid plans pay $0.25 per GB ingested and $0.10 per GB-month past allowances; accepting any caller's trace ID invites noise; coding agents can diff traces.
- cost Workers Tracing users The pricing change applies to Workers Tracing too, not only to the new proxy spans, claim 19
- cost Teams setting sampling rates Sampling decisions now map directly to the bill; Trace Rules keep the baseline low and raise it for traffic under investigation, claim 20
- cost Paid and Enterprise accounts Beyond the included allowance, usage costs $0.25 per GB ingested and $0.10 per GB-month stored, claim 15
- exposure Services taking caller context Accepting a trace ID from any client invites noise; a propagation policy decides whether caller context is accepted at all, claim 7
- capability Coding agents Via the Observability MCP server, they compare failed and successful traces and tie divergent spans to repository code, claim 11
| Who | How | Kind | Claim |
|---|---|---|---|
| Workers Tracing users | The pricing change applies to Workers Tracing too, not only to the new proxy spans | cost | 19 |
| Teams setting sampling rates | Sampling decisions now map directly to the bill; Trace Rules keep the baseline low and raise it for traffic under investigation | cost | 20 |
| Paid and Enterprise accounts | Beyond the included allowance, usage costs $0.25 per GB ingested and $0.10 per GB-month stored | cost | 15 |
| Services taking caller context | Accepting a trace ID from any client invites noise; a propagation policy decides whether caller context is accepted at all | exposure | 7 |
| Coding agents | Via the Observability MCP server, they compare failed and successful traces and tie divergent spans to repository code | capability | 11 |
What happened
- Cloudflare's spans can join an upstream trace through a W3C traceparent header, and Cloudflare can forward a fresh traceparent so instrumented origins continue the trace.
- Sampling starts from a baseline rate such as 1%, and Trace Rules raise it for traffic matched by path, method, header, address or geography.
- Spans export over OTLP to any compatible backend, with one destination configured per account and domains opted in individually.
- Paid and Enterprise plans include 50GB of ingestion and 10GB-month of storage per cycle, then charge $0.25 per GB ingested and $0.10 per GB-month stored.
- The volume model replaces a per-span scheme, reported in August and due to start October 1, 2026, making this the second pricing change in two months.
Why it matters
- cost Workers Tracing users move to the volume meter whether or not they enable proxy spans, so they need a gigabyte estimate for their existing traces before December 1.
- exposure Accepting incoming traceparent lets any client attach requests to a trace ID it chose; until authenticated propagation ships, the guard is a policy that accepts or refuses caller context.
- constraint Requests that hit DDoS rules or Access, or run through Workflows, Queues or Pipelines, still leave gaps in the timeline that have to be filled from logs.
- capability A coding agent can localise proxy-layer failures itself by diffing failed and successful traces and mapping the divergence to repository code.
Until this release, a trace through Cloudflare showed the client and then the application. Whatever happened in between had to be pieced together from log files and config [3]. Now every supported step shows up as its own span, carrying its duration, its result and its attributes [4]. Cloudflare's example is a cache miss in which 527ms of a 539ms request went to getting a response from the origin [5]. The rest of the request path took 12ms, about 2% of the total [21].
InfoQ calls the switch to volume pricing the more consequential half of the launch, because sampling decisions now map directly to a bill [20]. The free plan allows 0.5GB of ingestion a day with seven-day retention and no additional usage [14]. Over a 30-day month that is about 15GB, or 30% of the paid allowance [22]. Past the paid allowance, a terabyte of ingest costs $250 [24]. Keeping one gigabyte for a full year at the listed storage rate would cost $1.20, once retention of up to a year ships [25][16].
InfoQ argues that Trace Rules take their shape from that meter: a low baseline, raised only for the traffic under investigation [20]. Cloudflare's examples are tracing every request for one customer's hostname, source IP or identifying header, and capturing every request that carries a temporary debug header [9]. With spans per request held constant, moving a domain from a 1% baseline to 100% multiplies its span volume by 100 [23]. Tracing one specific request without changing the baseline rate is still on the planned list [18]. Until it ships, a one-off investigation means writing a rule. A hostname rule left in place keeps tracing that customer at the raised rate.
The report does not give an average span size. A team cannot yet turn its request count into gigabytes from published figures. We think the sound rollout is one domain at the baseline rate for a week. Read the ingestion it actually produced, extrapolate, and only then opt in more domains. Destinations are set once per account and domains are enabled one by one [10], so that staging needs no extra work.
What to watch
- Whether Cloudflare publishes typical span sizes or a cost estimator before volume billing starts on December 1, 2026.
- Release of authenticated context propagation, letting trusted callers continue traces without the zone accepting context from every client.
- Whether the December 1 volume model holds, after two Workers Tracing pricing schemes in two months.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence48
- Adoption
- Insufficient
- Hype gap+5
- Incentives
- Insufficient
- Confidence55
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
Cloudflare has made Traces available in open beta, extending automatic tracing from Workers to the rest of the request path.
- [2]
Security rules, transformations, cache decisions, routing, Worker execution and origin handling now appear as OpenTelemetry spans in a single request-level timeline, without any instrumentation to write.
- [3]
Previously, a trace through the proxy showed the client and then the application, with everything in between inferred from logs and configuration.
- [4]
Each supported step now arrives as a span with its timing, outcome and attributes.
- [5]
One Cloudflare example shows a cache miss where 527ms of a 539ms request went to getting a response from the origin.
- [6]
Traces can accept a W3C traceparent header from an incoming request so Cloudflare spans join a trace that started upstream, and can forward a new traceparent to the origin for instrumented services to continue.
- [7]
An incoming propagation policy controls whether Cloudflare accepts trace context from callers at all; accepting a trace ID from any client opens the door to noise.
- [8]
Teams set a baseline sampling rate, perhaps 1% in normal operation, then write Trace Rules that override it for matching traffic; rules can target paths, methods, headers, addresses, geographies or combinations of those.
- [9]
Example Trace Rules trace every request for a single customer's hostname, source IP or identifying header while others stay at baseline, or capture every request carrying a temporary debug header during an investigation.
- [10]
Spans export over OTLP to any compatible backend; teams configure an account-level destination, then choose which domains send traces to it.
- [11]
Through the Cloudflare Observability MCP server, a coding agent can query traces using the SQL API, compare failed traces against successful ones to find where spans diverge, and connect findings to code in the repository.
- [12]
The pricing change is the second in two months; InfoQ's August coverage reported that every span would become a billable event from October 1, 2026.
- [13]
Cloudflare replaces the per-span model on December 1, 2026, charging instead for data ingested and retention.
- [14]
The free plan includes 0.5GB of ingestion per day with seven-day retention and no additional usage.
- [15]
Paid and Enterprise plans include 50GB of ingestion and 10GB-month of storage per billing cycle, with additional usage at $0.25 per GB ingested and $0.10 per GB-month stored.
- [16]
Retention of up to one year is listed as coming soon.
- [17]
Planned: broader automatic instrumentation across the HTTP request path, including DDoS rules and Access, and the Workers execution path, including Workflows, Queues and Pipelines.
- [18]
Also planned: authenticated context propagation so trusted callers can continue a trace without Cloudflare accepting context from everyone, ad hoc tracing of a specific request without changing the baseline rate, and OpenTelemetry API support in Workers for adding attributes to existing spans.
- [19]
The pricing change applies to Workers Tracing too.
- [20]
Charging by volume rather than by span is the more consequential half; sampling decisions now map directly to a bill, which explains why Trace Rules keep the baseline low and raise it for traffic under investigation.
- [21]
In Cloudflare's cache-miss example, the non-origin part of the request took 12ms, about 2% of the total.
- [22]
The free plan's daily ingestion allowance totals about 15GB over a 30-day month, 30% of the paid plans' 50GB per-cycle allowance.
- [23]
Holding spans per request constant, raising a domain from a 1% baseline to 100% sampling multiplies span volume by 100.
- [24]
A terabyte of ingestion beyond the paid allowance costs $250.
- [25]
Storing one gigabyte for a full year at the listed rate would cost $1.20.
Sources
1 independent publisher whose own reporting we read for this story.
- infoq.comCloudflare Traces Turns the Proxy Layer into OpenTelemetry Spans, with New Volume-Based Pricing
1 article · October 10, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Distributed TracingFollow
- Observability pricingFollow