The Service Overview dashboard
Every Dart service's requests, errors and latency, the picked service's operations and latency distribution, and the status-code mix.
Who it is for: The people who run the Dart services behind your apps: on-call engineers and backend owners.
Open it from Dashboards in the Observatory: choose Service Overview. It is a built-in board, so it is read-only; Save a copy makes one you can change. How every panel reads the range, its colors and its empty states is on Reading a board.
The toolbar: the filters Service, each All until you pick a value, and the time range. Each menu lists the values http.server.request.duration carries in the range. Each panel below names the filters that narrow it.
Overview
Requests
Every HTTP server request the services answered in the picked range: successes, errors and admin endpoints alike.
- How it is computed: The number of
http.server.request.durationsamples. One figure for the whole picked range. - Compared: Beside the figure, its change from the prior range of the same length.
- Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Error rate
Requests answered 5xx, of all requests; 4xx codes are the caller's and left out. Amber at 1%, red at 5%.
- How it is computed: Requests (
http.server.request.durationsamples) whosehttp.response.status_codeis 500 or higher, divided by all requests, as a percent. One figure for the whole picked range. - Better: Lower is better.
- Colors: The figure turns amber above 1% and red above 5%.
- Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Latency (p95)
Request duration at the 95th percentile, across all services.
- How it is computed: The 95th percentile of
http.server.request.duration. One figure for the whole picked range. - Better: Lower is better.
- Colors: The figure turns amber above 500 ms and red above 2 s.
- Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Active services
The services recording the request histogram.
- How it is computed: Distinct
service.namevalues onhttp.server.request.duration. One figure for the whole picked range. - Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Per service
Requests per second by service and route
Requests per second for each service and route. The route is the template, never the concrete path.
- How it is computed: The per-second rate of
http.server.request.durationsamples, one line perservice.nameandhttp.route, the top ten. Lines, one point per step across the picked range. - Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Latency p50, p95 and p99 by service
A wide gap between p50 and p99 points to a long-tailed latency distribution.
- How it is computed: The 50th, 95th and 99th percentiles of
http.server.request.duration, one line per percentile and service. Lines, one point per step across the picked range. - Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Error rate by service
The share of each service's requests answered 5xx: the E in RED. The dashed lines mark 1% and 5%.
- How it is computed: Requests (
http.server.request.durationsamples) withhttp.response.status_code500 or higher, divided by all requests, per service, as a percent. Lines, one point per step across the picked range. - Colors: Dashed lines mark 1% (warn) and 5% (crit).
- Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Operations
Operations by calls
Every operation the picked service answered in the range (its server spans, by name), most calls first, with its errors and p95. Server spans only, so with Service set to All the phone's taps and requests are not operations.
- How it is computed: Calls: the number of server spans (span kind server) per span name, the top twenty. Errors: those that ended in an error. Duration p95: their 95th percentile duration. A table, every figure for the whole picked range.
- Filters: Service narrows it.
- Opens: its title opens Traces.
Latency distribution
Request duration heatmap
Each column is one step, each cell the share of its requests in that duration bucket. Horizontal bands are distinct latency modes.
- How it is computed: The buckets of
http.server.request.duration, each column the share of its step's requests in each bucket. 36 columns across the picked range, each at least one minute wide. - Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.
Status code mix
Requests per second by service and status code
2xx dominate happy-path traffic; 4xx show callers misusing the API; 5xx are the service's own failures.
- How it is computed: The per-second rate of
http.server.request.durationsamples, one stacked segment perservice.nameandhttp.response.status_code, the top twelve. Stacked bars, one per step across the picked range. - Filters: Service narrows it.
- Opens: its title opens the Metric screen on
http.server.request.duration.