Skip to content

The Four Golden Signals

One-Liner

A set of four key metrics, defined by Google’s SREs, that are essential for monitoring any user-facing system.

What It Is

The four signals are:

  1. Latency: The time it takes to service a request. It’s crucial to distinguish between the latency of successful requests and failed requests.
  2. Traffic: A measure of the demand on your system, such as requests per second.
  3. Errors: The rate of requests that fail, either explicitly (e.g., HTTP 5xx errors) or implicitly (e.g., a 200 OK response with incorrect content).
  4. Saturation: How “full” your service is. This is a measure of system utilization (e.g., CPU, memory) that warns of impending performance degradation.

Why It Exists

To provide a simple, powerful, and user-centric framework for monitoring. If you are only going to measure four things about your service, these are the four things to measure.

How It Works

These signals are typically implemented as metrics and are used to build dashboards and alerts that give a high-level overview of service health.

Tradeoffs

Pros

  • Provides a comprehensive, high-level view of service health.
  • Focuses on user-facing impact.

Cons

  • Can sometimes be too high-level to diagnose specific problems without a drill-down into more detailed metrics, logs, and traces.

Failure Modes

  • Focusing only on the golden signals: While essential, they are not a replacement for more detailed, service-specific metrics.
  • Misinterpreting saturation: Saturation can be hard to define and measure correctly. A service can be saturated long before its CPU or memory reaches 100%.

Interview Traps

  • Not being able to name all four signals.
  • Not being able to explain what each signal represents.

Real-World Usage

  • Used as the basis for SRE-style monitoring at Google and many other companies.

Anti-Patterns

  • Implementing the golden signals but not having any alerts based on them.
  • The Three Pillars of Observability
  • Service Level Objectives (SLOs)
  • Alerting