Where they come from
Google's Site Reliability Engineering book (2016, freely available online) introduced the four golden signals as the minimum set of service-level signals worth monitoring. They're the prioritization answer to "if you can only monitor four things, monitor these."
Signal 1 — Latency
How long requests take. Measured in percentiles, not averages. Track p50, p95, p99 per route. Alert on sustained p95 elevation against a rolling baseline.
Laravel: the Nightwatch package records per-request duration. NightOwl groups by route pattern and computes percentiles automatically.
Signal 2 — Traffic
How much demand your service is receiving. Usually requests per second or per minute. Useful two ways: spot unusual load (attack, viral moment, Monday morning traffic) and sanity-check other signals (a latency spike during 10x traffic is different from one at normal load).
Laravel: requests per minute per route. Include 2xx, 3xx, and 4xx — every request counts as traffic.
Signal 3 — Errors
Rate of failed requests. Usually expressed as a percentage of total traffic. Also includes errors that return 200 but failed business logic (a checkout that returned 200 with an "inventory unavailable" message).
Laravel: 5xx response rate per route, unhandled exceptions per minute, grouped by fingerprint. Pair with report() for expected-exception tracking.
Signal 4 — Saturation
How full any bounded resource is. The leading indicator — saturation climbs before latency spikes or errors jump. Most important and hardest to measure.
Laravel-specific saturation surfaces:
- PHP-FPM pool — what % of
pm.max_childrenare busy. Query viapm.status_path. - Queue depth — pending jobs per queue. Rising depth = consumer lag.
- Queue latency — dispatch-to-start time. See our queue latency guide.
- DB connection pool —
max_connectionsusage in Postgres'spg_stat_activity. - Redis memory —
used_memoryas a % ofmaxmemory. - Disk — log volumes, session storage, uploaded file storage.
Putting them together
| Signal | Laravel metric | Alert style |
|---|---|---|
| Latency | p95 per route | Sustained threshold breach |
| Traffic | req/min per route | Anomaly detection both ways |
| Errors | 5xx rate, new exceptions | Immediate on new groups |
| Saturation | Pool %, queue depth, DB conns | Headroom threshold (e.g. 90%) |