The Three Pillars of Observability: Logs, Metrics and Traces

The Three Pillars of Observability: Logs, Metrics and Traces

A beginner-friendly guide to how modern teams look inside running software, understand what it is doing, and fix problems before customers notice them.

Imagine you are a doctor, but you are not allowed to touch the patient or look at them. All you get is a stack of papers that someone else wrote. One paper lists what happened minute by minute. Another shows heart rate and temperature charts. A third shows the path a drop of medicine took through the body. With only those three kinds of papers, you must still work out why the patient feels unwell. Running software is that patient, and the three kinds of papers are called logs, metrics and traces.

Together, these three kinds of data are known as the three pillars of observability. In this guide, we will build the idea from zero. You do not need to know anything about monitoring tools or cloud systems before you begin. We will explain every new word the first time it appears, give a simple comparison from daily life, and show how real companies use these ideas.

1What Is Observability?

Observability is the ability to understand what is happening inside a system by looking at the information it gives out.

Let us start with the word itself. To observe means to watch carefully. Something is observable when you can learn about its inside state just by studying its outside signals. The idea comes from control engineering, a field that studies machines like thermostats and rockets. An engineer named Rudolf Kálmán formalised it in the early 1960s. Decades later, software engineers borrowed the word because their programs had become so complicated that nobody could hold the whole picture in their head.

In software, a system is observable when engineers can ask new questions about its behaviour without changing the code and shipping it again. Questions like “Why was checkout slow for customers in one city last Tuesday?” or “Which tiny step inside this request is eating all the time?” A system that lets you answer such surprising questions is observable. A system that only lets you answer questions you planned in advance is merely monitored.

Simple Analogy

Think of a car. The dashboard warning light that says “engine problem” is monitoring: it tells you something is wrong. A mechanic plugging in a diagnostic tool and reading detailed readings from every part is observability: it helps you discover what is wrong and why.

Monitoring versus observability

Monitoring means collecting data about things you already know can go wrong, and raising an alarm when a number crosses a line. For example, “alert me if the website’s error rate goes above five percent.” Monitoring is essential, but it answers only known questions, sometimes called known unknowns.

Observability goes further. It prepares you for the unknown unknowns: the strange failures nobody predicted. When something odd happens, you can dig through rich data and follow the clues. Monitoring is the smoke alarm; observability is the investigation that follows the alarm.

QuestionMonitoringObservability
Main goalTell me when something is brokenHelp me discover why it is broken
Type of questionsKnown, planned in advanceNew, surprising, asked on the spot
Typical outputDashboards and alertsExplorable, connected data
MindsetWatch for known failureInvestigate any failure
i
Remember

Monitoring and observability are not rivals. Monitoring is one activity you do on top of observable data. Good observability makes monitoring smarter.

2Why Observability Became Necessary

Software used to be one big program on one machine. Today it is hundreds of small pieces talking across a network.

Twenty years ago, many applications were monoliths. A monolith is a single large program where every feature lives together, like one big shop under one roof. If it broke, you logged into the one server and looked around. The number of places a problem could hide was small.

Modern applications are usually built from microservices. A microservice is a small program that does exactly one job, such as handling payments, sending emails or storing user profiles. These small programs call each other over the network to complete a single customer action. They run in containers, which are lightweight packages that hold a program and everything it needs, and those containers are started, stopped and moved around automatically by platforms like Kubernetes.

Simple Analogy

A monolith is a small family restaurant where the owner sees every table. A microservice system is a huge food court with fifty stalls, each run by a different person. When your meal arrives cold, you can no longer just ask the owner. You need to know which stall, which cook and which step went wrong.

The cost of not seeing

When a system is a black box, every outage becomes a guessing game. Engineers argue, restart random services and hope. This wastes time, and time is expensive. Studies of large companies regularly put the cost of downtime for big online businesses in the range of thousands of dollars per minute. Even for small teams, hours lost to guessing mean unhappy users and tired engineers.

3
kinds of signals form the classic foundation
100s
of services in a large modern application
1
customer click can touch dozens of services

Why a single click is hard to follow

When you press “Place order” on a shopping app, the request may touch the website, the login service, the cart, the stock checker, the payment system, the shipping planner and the email sender. Without a way to follow it, finding the slow step is like searching for one broken link in a chain you cannot see.

3The Three Pillars at a Glance

Logs tell the story, metrics show the numbers, and traces draw the journey.

Before we study each pillar in depth, let us meet all three together. Each answers a different kind of question. None of them is enough alone, and that is exactly why people call them pillars: a roof needs all of them to stand.

Pillar 1

Logs

Time-stamped records of individual events. They answer: what exactly happened, and when?

Pillar 2

Metrics

Numbers measured over time. They answer: how much, how often, and is it getting better or worse?

Pillar 3

Traces

The path of one request through many services. They answer: where did the time go, and which step failed?

The Glue

Correlation

Shared identifiers and labels that let you jump from one pillar to another while investigating.

Simple Analogy

Picture a delivery company. The diary kept by the driver is the log. The speedometer, fuel gauge and delivery count are the metrics. The map showing every stop one parcel made from warehouse to doorstep is the trace.

flowchart TD
    A["Running Application"] --> B["Logs: what happened"]
    A --> C["Metrics: how much and how often"]
    A --> D["Traces: where the request went"]
    B --> E["Understanding and Action"]
    C --> E
    D --> E
        
FIG 1 — One application produces three kinds of signals that feed one understanding

4Pillar One: Logs

A log is a written note a program makes about something that just happened.

What a log is

A log entry is a small piece of text with a time stamp. Programs write these notes as they work: “user signed in”, “payment accepted”, “database did not answer in time”. Collected together, they form a diary of everything the program did, in order.

Why logs exist

Programmers need a way to remember details that no number can capture. A counter can tell you that fifty payments failed. Only a log can tell you that one failed because the customer’s card had expired, another because the bank was unreachable, and a third because of a typing mistake in an address.

Where logs are used

Logs are used for debugging, which means hunting for the cause of a bug, for security investigations, for audits that prove who did what, and for understanding rare events that happen once in a million requests.

Simple Analogy

A log is a ship captain’s diary. Every important event is written down with the date and time: “storm began”, “changed course”, “crew member fell ill”. When something goes wrong, investigators read the diary to rebuild the story.

Three flavours of logs

Format 1

Plain text

Free-written sentences. Easy for a human to read, but hard for a machine to search reliably.

Format 2

Structured

Each entry has labelled fields such as time, severity, service name and user. Machines can filter and count them easily.

Format 3

Binary

Compact, machine-only formats used by databases and systems that need speed and small size.

Severity levels

Most logs carry a severity label so readers can ignore noise. Common levels run from the least to the most serious: debug for tiny details useful only to developers, info for normal events, warning for odd things that are not yet harmful, error for things that failed, and critical for situations that need instant attention. Choosing the right level is a small habit that saves enormous time later.

Strengths of logs

  • Rich detail about one specific event
  • Easy to start producing, since nearly every program already can
  • Great for rare, strange problems
  • Useful as legal and security evidence
  • Human-readable story of what occurred

Weaknesses of logs

  • Volume grows very fast and storage becomes costly
  • Hard to see the big picture from raw lines
  • Searching huge piles can be slow
  • Messy formats make automatic analysis hard
!
Common Mistake

Writing sensitive details such as passwords, card numbers or personal identity data into logs. Logs are copied to many places and read by many people, so a secret placed there can leak widely.

5Pillar Two: Metrics

A metric is a number that is measured again and again so you can watch it change over time.

What a metric is

Where a log is a sentence, a metric is a number with a time stamp and some labels. Examples include “requests per second”, “memory used”, “average response time” and “number of users online”. Metrics are measured at regular intervals, often every ten or fifteen seconds, and stored as a series of points that can be drawn as a line on a chart.

Why metrics exist

Humans are excellent at spotting patterns in pictures and poor at reading millions of text lines. A chart of response time instantly shows a slow climb that would be invisible in a log file. Metrics are also tiny, so storing them for months or years costs little. This makes them perfect for trends, capacity planning and alerting.

Simple Analogy

Metrics are the gauges on a car dashboard: speed, fuel level, engine temperature. You do not read every detail of the engine, yet a glance tells you whether things are healthy, and a rising temperature warns you before the engine fails.

Main types of metrics

Type 1

Counter

A number that only goes up, such as total orders placed. You usually look at how fast it grows.

Type 2

Gauge

A number that goes up and down, such as current memory use or the number of active users.

Type 3

Histogram

Groups measurements into buckets, such as how many requests took under one second, under two seconds and so on.

Type 4

Summary

Pre-calculates values like the median and the slowest few percent directly inside the program.

Why averages can lie

Suppose ninety-nine customers get an answer in one tenth of a second and one customer waits thirty seconds. The average looks wonderful, yet one person had a terrible experience. That is why engineers look at percentiles. The “99th percentile” tells you how slow the slowest one percent of requests were. Percentiles reveal the pain that averages hide.

“An average tells you about the crowd. A percentile tells you about the person at the back of the queue.”

Two famous checklists

Experts have created simple recipes so you know which metrics to collect first. The first recipe is known as the four golden signals, popularised by Google’s site reliability engineers: latency (how long requests take), traffic (how much demand arrives), errors (how many requests fail) and saturation (how full your resources are). The second is called RED for services: rate, errors and duration. A close cousin called USE is for hardware and resources: utilisation, saturation and errors.

MethodBest used forWhat it measures
Golden SignalsAny user-facing serviceLatency, traffic, errors, saturation
REDRequest-driven microservicesRate, errors, duration
USEMachines, disks, networksUtilisation, saturation, errors
i
Labels and Cardinality

Metrics can carry labels like region or service name. Each unique combination of labels creates a separate series to store. If you add a label with millions of possible values, such as a user identifier, your storage cost can explode. This problem is called high cardinality.

Strengths of metrics

  • Very small and cheap to store for long periods
  • Perfect for charts, trends and alerts
  • Fast to query even at huge scale
  • Show overall health in a single glance

Weaknesses of metrics

  • Lose the detail of individual events
  • Tell you that something is wrong, not always why
  • Need planning, since you must decide what to measure
  • Too many labels can cause cost and speed problems

6Pillar Three: Traces

A trace follows a single request on its whole journey across every service it touches.

What a trace is

When a customer action enters your system, it receives a unique identifier, called a trace identifier. As the request moves from service to service, that identifier travels along with it. Every service records how long its own piece of work took and attaches the same identifier. Later, all those pieces are collected and assembled into one picture of the full journey.

Spans: the building blocks

Each piece of work inside a trace is called a span. A span has a name, a start time, a duration and some notes. Spans are arranged like a family tree: a parent span, such as “handle checkout”, contains child spans, such as “check stock” and “charge card”. The whole tree is the trace.

Simple Analogy

A trace is a parcel tracking page. You can see the parcel left the warehouse at nine, spent four hours at a sorting centre, travelled two hours on a truck and reached your door at five. If it was late, you know exactly which stage was slow.

sequenceDiagram
    participant U as Customer
    participant W as Web Service
    participant C as Cart Service
    participant P as Payment Service
    participant D as Database
    U->>W: Place order
    W->>C: Read cart items
    C->>D: Fetch items
    D-->>C: Items returned
    C-->>W: Cart ready
    W->>P: Charge card
    P-->>W: Payment accepted
    W-->>U: Order confirmed
        
FIG 2 — One customer action travelling through several services, which a trace records

Context propagation

The magic that makes tracing work is context propagation. It simply means passing the trace identifier from one service to the next, usually inside the hidden headers of each network call. If even one service forgets to pass the identifier along, the trace breaks into pieces, like a chain with a missing link.

Sampling: you cannot keep everything

Recording a full trace for every request in a busy system would produce enormous amounts of data. So teams use sampling, which means keeping only a fraction. Head sampling decides at the start of a request whether to keep it. Tail sampling waits until the request has finished and then keeps the interesting ones, such as slow or failed requests. Tail sampling is smarter but needs more infrastructure to hold the data while waiting for the decision.

1

Request enters the system

The first service creates a trace identifier and starts the first span.

2

Identifier travels onward

Each call to another service carries the identifier so the journey stays connected.

3

Every service records its span

Each one notes its start time, duration and any errors, then sends the span to a collector.

4

The tracing system assembles the tree

All spans with the same identifier are joined into one picture, ready to be viewed as a timeline.

Strengths of traces

  • Show exactly which step is slow or failing
  • Reveal hidden dependencies between services
  • Explain delays that no single service can see
  • Make complex systems understandable to new engineers

Weaknesses of traces

  • Require every service to cooperate, which takes effort
  • Produce large volumes, so sampling is needed
  • Add a small amount of overhead to each request
  • Less useful for single-program systems

7Comparing the Three Pillars

Each pillar has its own superpower and its own blind spot.

A common beginner question is “Which pillar is the most important?” The honest answer is that it depends on the question you are asking. The table below places them side by side so you can see how they differ.

FeatureLogsMetricsTraces
Shape of dataText or structured recordsNumbers over timeTree of timed spans
Main questionWhat happened?How is it behaving overall?Where did this request go?
Level of detailVery high, per eventLow, aggregatedHigh, per request
Storage costHighLowMedium to high
Best atRoot cause of rare bugsAlerts and trendsFinding slow steps
Weak atSeeing the big pictureExplaining individual eventsShowing system-wide trends
Simple Analogy

Think of a hospital. Metrics are the vital-signs monitor at the bedside, beeping when something changes. Traces are the scan that follows the dye through the body. Logs are the nurse’s notes describing exactly what was done and said. A good doctor reads all three.

8How the Pillars Work Together in a Real Incident

The real power appears when you move smoothly from one pillar to the next while solving a problem.

Let us walk through a made-up but very realistic story. An online store notices that customers are complaining about slow checkouts on a busy evening.

1

Metrics raise the alarm

An alert fires because the 99th percentile checkout time jumped from one second to eight seconds. The error rate is still normal, so nothing is fully broken, but something is clearly slow.

2

Metrics narrow the area

The engineer splits the chart by service. Only the payment service shows a rise in response time. Everything else looks calm.

3

Traces pinpoint the step

She opens a few slow traces. In every one, the payment span is long, and inside it, a child span for a call to an outside bank gateway takes seven seconds.

4

Logs explain the reason

Using the trace identifier, she searches the logs for that exact request. The log lines show repeated retry messages and a note that the gateway is asking the service to slow down because of too many requests.

5

Fix and verify

The team reduces retries and spreads calls more evenly. The metrics chart returns to normal, proving the fix worked.

flowchart LR
    A["Alert from Metrics"] --> B["Narrow down by service"]
    B --> C["Open slow Traces"]
    C --> D["Search Logs by trace ID"]
    D --> E["Find root cause"]
    E --> F["Fix and confirm with Metrics"]
        
FIG 3 — A typical investigation path: metrics, then traces, then logs, then back to metrics
i
The Key Idea

Metrics tell you that something is wrong and roughly where. Traces tell you which step. Logs tell you exactly why. The shared trace identifier is the thread that lets you move between them without guessing.

9Architecture and Components

An observability setup is a pipeline that collects, moves, stores and shows signals.

No matter which products you choose, almost every observability system has the same building blocks. Understanding them helps you read any vendor’s documentation.

Component 1

Instrumentation

The act of adding measuring points to your software so it produces signals. It can be done by hand or by automatic helpers that attach themselves to common frameworks.

Component 2

Agent or SDK

A small piece of software living next to or inside your program that gathers signals and prepares them for sending.

Component 3

Collector

A central relay that receives signals from many programs, cleans them, adds labels, drops unwanted data and forwards the rest.

Component 4

Storage backend

Databases tuned for each kind of signal: text search for logs, time-series storage for metrics, and trace stores for spans.

Component 5

Query and visualisation

The dashboards, search boxes and trace viewers that let people explore the data.

Component 6

Alerting

Rules that watch the data and notify people or systems when a condition is met.

OpenTelemetry: a shared language

For many years, every vendor had its own way of collecting signals, which locked teams into one product. In 2019, two open projects named OpenTracing and OpenCensus merged to form OpenTelemetry, which now lives under the Cloud Native Computing Foundation. It offers a common set of standards and tools for producing logs, metrics and traces, so you can change your storage or display product later without rewriting how your software is measured. For a beginner, it is the safest starting point.

Well-known tools you may meet

Prometheus, which was inspired by an internal Google system and started at SoundCloud, is a popular open-source metrics system. Grafana is widely used to draw dashboards. Jaeger, created at Uber, and Zipkin, which grew out of Twitter, are open-source tracing tools, and both were influenced by a Google research paper called Dapper. For logs, many teams use the Elastic stack or Grafana Loki. Cloud providers also offer built-in services, such as Amazon CloudWatch and AWS X-Ray, Google Cloud Operations and Azure Monitor.

flowchart LR
    A["Apps and Services"] --> B["Agents and SDKs"]
    B --> C["Collector"]
    C --> D["Log Store"]
    C --> E["Metric Store"]
    C --> F["Trace Store"]
    D --> G["Dashboards and Search"]
    E --> G
    F --> G
    E --> H["Alert Rules"]
    H --> I["On-call Person"]
        
FIG 4 — A typical observability pipeline from software to human

10Data Flow and Lifecycle of Signals

Signals have a life: they are born, travel, are stored, are used and finally retire.

It helps to picture the life of a single signal from the moment your program creates it to the moment it is deleted.

1

Generation

Your software produces a log line, updates a counter or finishes a span.

2

Collection

An agent gathers the signal and hands it to a collector, often in small batches to save network effort.

3

Processing

The collector adds labels like environment and version, removes secrets, filters out noise and may sample traces.

4

Storage

The signal lands in a database designed for its type. Recent data is kept in fast storage, older data in cheaper storage.

5

Analysis and alerting

People search and chart the data, while rules watch it automatically.

6

Retention and deletion

After a set period, such as thirty days for detailed logs or thirteen months for summarised metrics, data is reduced or removed to control cost and respect privacy rules.

i
Hot, Warm and Cold

Teams often split storage into tiers. Hot storage is fast and costly and holds the last few days. Warm storage holds the recent weeks. Cold storage is cheap and slow and keeps old data for audits. Moving data between tiers is a major way to save money.

11Connecting the Pillars: Correlation

The three pillars become far more useful when they share common labels.

If logs, metrics and traces live in three separate worlds with no links, you must switch tools and guess at matches. Correlation means giving all three the same identifying details so that one click takes you from a spike on a chart to the traces behind it and the logs inside them.

Link 1

Trace identifier in logs

Every log line written during a request includes that request’s trace identifier, so logs can be filtered by journey.

Link 2

Common service names

The same name for a service in all three data types prevents confusion and allows easy switching.

Link 3

Shared environment labels

Labels such as production versus testing, region and software version appear everywhere.

Link 4

Exemplars

Some metric systems attach a sample trace identifier to a data point, so you can jump from a slow bucket straight to a real slow trace.

Simple Analogy

Correlation is like putting the same case number on the police report, the photographs and the witness statements. Without the number, the papers sit in separate drawers. With it, any detective can pull the whole file in seconds.

12Service Level Objectives and Alerting

Observability data is most useful when it is tied to promises you make to your users.

Collecting data is not the goal. The goal is a healthy product. To connect the two, teams use three related terms. A Service Level Indicator, or SLI, is a measurement of something users care about, such as the percentage of requests answered successfully. A Service Level Objective, or SLO, is the target you set for that measurement, such as “99.9 percent of requests succeed each month.” A Service Level Agreement, or SLA, is a formal contract with customers that usually includes penalties if the target is missed.

Term

SLI

The thing you measure, such as success rate or response time.

Term

SLO

The goal you aim for, such as ninety-nine point nine percent success.

Term

SLA

The legal promise to customers, usually looser than the internal goal.

Term

Error budget

The small amount of failure the SLO allows. If you spend it too fast, you slow down new releases and focus on stability.

Alert on symptoms, not causes

A good alert tells a human that users are being hurt right now. A bad alert fires every time a machine’s processor gets busy, even when nobody notices. Too many bad alerts cause alert fatigue, where people begin ignoring the pager. Aim to wake someone up only for problems that need a human decision, and send everything else to a quiet report.

!
Common Mistake

Setting alerts on every metric you can think of. If an alert does not lead to a clear action, it is noise. Remove it or turn it into a dashboard.

13Security and Privacy in Observability

Observability data is powerful, which also makes it sensitive.

Logs and traces can accidentally hold email addresses, names, order details or secret keys. Because this data is copied into many systems and viewed by many engineers, it deserves the same care as a customer database.

Remove or mask sensitive fields

Filter secrets and personal data before they leave your program or at the collector. Masking means replacing the real value with stars or a harmless token.

Control who can see what

Give people only the access they need. A support engineer may need to see error counts but not customer messages.

Encrypt data in transit and at rest

Encryption scrambles data so that anyone who intercepts or steals it cannot read it. Apply it when data moves between systems and when it sits in storage.

Set retention limits

Rules such as data-protection laws may require you to delete personal information after a period. Short, deliberate retention reduces risk and cost together.

Keep an audit trail

Record who searched sensitive logs and when, so that misuse can be detected.

!
Do Not Forget

Your observability tools are also a target for attackers, because they hold a map of your whole system. Protect their access with strong logins and review who has permission regularly.

14Design Patterns That Work

Experienced teams repeat a handful of habits that make observability easier.

Structured logging

Write logs as labelled fields instead of loose sentences. Machines can then count, filter and group them. A line that clearly states the service, the severity, the user’s region and the outcome is far more useful than a paragraph of prose.

Correlation identifiers everywhere

Create an identifier when a request first arrives and pass it through every service and into every log line. This single habit is the cheapest way to connect your three pillars.

Standard dashboards per service

Give every service the same starter dashboard showing rate, errors and duration. New engineers then know where to look no matter which service they are investigating.

Health checks and heartbeats

A health check is a tiny test endpoint that a platform calls to ask “are you alive and ready?” Heartbeats are regular signals proving a background job is still running. Both produce simple metrics that make silent failures visible.

Synthetic monitoring

Synthetic monitoring means running fake users on a schedule, such as a robot that logs in and buys a test item every minute from different regions. It tells you the product is broken even when no real customer is online to complain.

Observability as part of the release process

Before launching a new feature, teams ask what they will watch to know it works. Adding the measuring points while building, not afterwards, produces better data and avoids blind launches.

i
Tip

Treat observability as a product feature, not an afterthought. A feature that cannot be observed in production is not truly finished.

15Anti-Patterns to Avoid

Some habits look harmless at first but cause pain later.

ANTI-PATTERN-01 Avoid
Problem

Logging everything at the most detailed level in production, just in case.

Why It’s Harmful

Storage bills rise sharply, searches slow down and the important lines drown in noise. Sensitive data is also far more likely to slip in.

Correct Approach

Use sensible severity levels, keep detailed logging off by default and switch it on temporarily for a specific service when investigating.

ANTI-PATTERN-02 Avoid
Problem

Building dashboards with dozens of charts that nobody understands.

Why It’s Harmful

During an incident, people lose time hunting for the right chart, and the wall of colour hides what matters.

Correct Approach

Create a small top-level dashboard showing user-facing health, with links to deeper views for each service.

ANTI-PATTERN-03 Avoid
Problem

Keeping the three pillars in separate tools with no shared identifiers.

Why It’s Harmful

Engineers copy and paste times and names between screens, which is slow and error-prone, especially at three in the morning.

Correct Approach

Use common labels and trace identifiers, and choose tools that allow jumping between metrics, traces and logs.

ANTI-PATTERN-04 Avoid
Problem

Adding labels with unlimited possible values, like customer identifiers, to metrics.

Why It’s Harmful

The number of stored series explodes, making the metric system slow and expensive, sometimes even causing it to fail.

Correct Approach

Keep metric labels to a small set of known values. Put high-detail identifiers in logs and traces instead.

ANTI-PATTERN-05 Avoid
Problem

Alerting on causes, such as a busy processor, instead of on user-visible symptoms.

Why It’s Harmful

People get woken for harmless events and begin to ignore alerts, so a real emergency may be missed.

Correct Approach

Alert on error rates and slow responses that users feel, and keep resource metrics for diagnosis.

16Best Practices and Common Mistakes

A short checklist you can follow from day one.

Do this

  • Start with user-facing signals: success rate, speed and traffic
  • Use structured logs with consistent field names
  • Pass a trace identifier through every service
  • Adopt OpenTelemetry to avoid being locked in
  • Review dashboards and alerts after every incident
  • Set retention and sampling rules deliberately

Avoid this

  • Collecting data with no question in mind
  • Ignoring the cost of storage and queries
  • Leaving secrets and personal data in logs
  • Relying on averages instead of percentiles
  • Letting alerts pile up until nobody trusts them
  • Treating observability as only the operations team’s job

A gentle starting path

If you are new, do not try to build everything at once. Begin with metrics for your most important service, because they give quick value at low cost. Add structured logs next, so you can explain the spikes you see. Introduce tracing when you have several services and start to ask “which one is slow?” This step-by-step approach keeps effort and cost under control while your skills grow.

17Advantages, Disadvantages and Trade-offs

Observability brings large rewards, but it is not free.

Advantages

  • Faster discovery and repair of problems
  • Fewer and shorter outages
  • Confidence to release changes more often
  • Better understanding of how users really experience the product
  • Smarter capacity planning and cost decisions
  • Shared understanding across development and operations teams

Disadvantages / Trade-offs

  • Real money spent on storage, processing and licences
  • Extra work to instrument software well
  • Small performance overhead on every request
  • Risk of data overload and confusion
  • Skills and habits take time to build

Balancing cost and insight

Every extra signal costs money to move and store, yet every missing signal may cost hours during an outage. The art is choosing wisely. Keep cheap, broad data such as metrics for a long time. Keep expensive, detailed data such as full traces and verbose logs for a short time, or sample them. Let the business importance of each service guide how much detail you keep.

“Collect with a purpose, keep with a plan, and always be able to explain why a signal exists.”

18Real-World and Industry Examples

Well-known companies shaped the tools and ideas we use today.

Google and the birth of modern tracing

Google published a research paper in 2010 describing Dapper, an internal tracing system built to follow requests across thousands of machines. It inspired open-source tools such as Zipkin and Jaeger and shaped the whole tracing field. Google’s site reliability engineers also popularised the four golden signals.

Uber and Jaeger

With a huge number of microservices serving ride requests, Uber needed to see how one trip request moved through its platform. Its engineers created Jaeger and later donated it to the open-source community.

Netflix and large-scale metrics

Netflix built an internal metrics platform called Atlas to handle enormous numbers of measurements from its streaming services, and shared it as open source. Their experience shows why efficient metric storage matters at scale.

SoundCloud and Prometheus

Prometheus began at SoundCloud as a way to monitor dynamic container-based systems. It later joined the Cloud Native Computing Foundation and became a standard choice for metrics in container platforms.

An online retailer on a sale day

A typical large retailer watches checkout success rate and response time as its main metrics, uses traces to discover that a slow stock-checking service delays orders, and reads logs to learn that a cache was emptied too early. All three pillars play a role in saving the sale.

A bank protecting its customers

Banks use logs for audit trails that prove who accessed which account, metrics for transaction volumes and failures, and traces to follow payments across many internal systems. Strong masking and retention rules are essential.

19Beyond the Three Pillars

The three pillars are a foundation, not a ceiling.

As the field matures, practitioners have added other helpful signals. None of them replaces the original three, but you will hear about them often, so it is wise to meet them now.

Extra Signal

Events

Rich records of notable moments, such as a deployment or a configuration change. Many teams draw them on charts so they can see what changed right before a problem.

Extra Signal

Profiles

Detailed pictures of where a program spends processor time and memory, line by line. They help find wasteful code that metrics only hint at.

Extra Signal

Real user monitoring

Measurements collected from real browsers and phones, showing how fast pages feel to actual people.

Extra Signal

Wide events

One very detailed record per request with many fields, which can be sliced in any direction. Some teams use this style to power all three pillars from one source.

i
A Healthy View

Some experts argue that the pillar idea is too simple, because owning three kinds of data does not automatically give you observability. What matters is whether you can ask and answer new questions quickly. Think of the pillars as a useful starting map, not the destination.

20Frequently Asked Questions

Q1What exactly are the three pillars of observability?

They are logs, metrics and traces. Logs are time-stamped records of individual events, metrics are numbers measured over time, and traces follow one request through many services.

Q2Is observability the same as monitoring?

No. Monitoring watches for known problems and raises alarms. Observability gives you rich, connected data so you can investigate problems you did not predict.

Q3Which pillar should a beginner start with?

Metrics are usually the best first step because they are cheap, quick to set up and excellent for alerts. Add structured logs next, then traces once you have multiple services.

Q4Do small applications need all three pillars?

Not always. A single small program may do well with logs and a few metrics. Tracing becomes truly valuable when a request crosses several services.

Q5Why do traces need a special identifier?

The identifier is what ties together the work done in different services. Without it, there would be no way to know that separate pieces of work belong to the same customer action.

Q6What is the difference between a log and a trace?

A log describes an event in one place. A trace describes the whole path of a request across places, including how long each step took.

Q7Why are percentiles better than averages?

Averages can hide the experience of the slowest users. Percentiles show how slow the slowest group really was, which better matches what unhappy customers feel.

Q8What is OpenTelemetry and do I need it?

It is an open standard and toolset for producing logs, metrics and traces. You do not strictly need it, but it prevents vendor lock-in and is widely supported, so it is a sensible default.

Q9How much data should I keep?

Keep summary metrics for a long time because they are small. Keep detailed logs and traces for a shorter period, based on how far back your investigations usually reach and what laws require.

Q10Does observability slow down my application?

It adds a small overhead, usually minor when done well. Sampling, batching and efficient libraries keep the cost low, and the faster fixes it enables usually repay it many times over.

Q11What is high cardinality and why is it a problem?

It means a label can take a huge number of different values. In metrics, this multiplies the number of stored series and can make the system slow and costly. Put such detail in logs or traces instead.

Q12Who is responsible for observability in a team?

Everyone who builds the software. Platform teams provide the tools, but developers must add the measuring points and keep them useful, because they understand their own code best.

21Summary and Key Takeaways

Modern software is a web of many small services, and no single person can keep all of it in their head. Observability is the answer: a way of designing systems so that they explain themselves. Logs record the detailed story of individual events, metrics reveal the health and trends through numbers, and traces draw the journey of a request across services. Each pillar alone has blind spots, but together, and especially when linked by shared identifiers, they let teams move from “something is wrong” to “here is exactly why” in minutes instead of hours.

Start small, measure what your users feel, protect the sensitive data you collect, and grow your practice step by step. With these habits, you will spend less time guessing in the dark and more time building things people enjoy using.

Key Takeaways

  • Observability is about answering new questions — it goes beyond monitoring by letting you investigate problems nobody predicted.
  • Logs tell what happened — time-stamped records of individual events, best written in a structured format with sensible severity levels.
  • Metrics show how the system behaves — cheap, compact numbers over time, ideal for trends and alerts, best read with percentiles rather than averages.
  • Traces reveal where a request went — spans joined by a trace identifier expose the slow or failing step across many services.
  • Correlation turns three pillars into one picture — shared identifiers and labels let you jump from a chart to a trace to a log line.
  • Mind cost, privacy and noise — use sampling, retention rules, masking and meaningful alerts so observability stays affordable, safe and trusted.
  • Adopt open standards and start small — begin with metrics, add logs and traces as needs grow, and consider OpenTelemetry to stay flexible.