Compute Backend Request Errors now broken down by type

Hi folks,

Quick follow-up to our earlier post about making Compute errors easier to understand. We’ve shipped the next piece: granular backend request error metrics.

What’s new?

When your Compute service makes a backend request and something goes wrong, you used to see a single compute_service_bereq_error counter tick up with no way to tell what failed. Now you get 12 new metrics that break errors down by phase:

  • DNS: resolution failures
  • Connection: timeout, refused, other
  • TLS: server certificate errors, other TLS failures
  • HTTP: protocol errors (H1/H2), incomplete responses, timeouts
  • Origin 5xx: your origin responded, but with a server error
  • Other: anything that doesn’t fit the above

Where to see it

  • Control panel: The Compute service overview now has a “Backend Requests & Errors” chart showing each error phase as its own line. Sort by value, toggle the legend, spot the problem.
  • Real-Time Stats API: Same metrics, available programmatically for live dashboards.
  • Historical Stats API: Query individual metrics via /stats/service/{id}/field/{metric_name} for Prometheus, Grafana, or your own tooling.

Why this matters

If you’re running many backends (especially dynamic backends pointing at different origins), you can now tell at a glance whether the problem is DNS, a TLS cert mismatch, connection timeouts, or your origin throwing 5xx.

You can also set up alerts on specific failure types. For example, alert on compute_service_bereq_tls_server_cert_error spiking after a cert rotation, or compute_service_bereq_conn_timeout_error climbing when an origin gets slow.

No action needed

These metrics are already flowing. No config change, no version activation, no SDK update. If your Compute service makes backend requests, the data is there.

As always, the legacy compute_bereq_errors metric continues to emit alongside the new ones until Feb 2027.

Keep the feedback coming. We’re still building.

Jaskirat

Links:

2 Likes