What is Observability?
Observability is understanding a system from the data it emits: logs, metrics and traces. How it works, how it differs from monitoring, common mistakes.
What is observability?
Observability is how well you can understand what happens inside a system from the data it emits. OpenTelemetry describes it as understanding a system from the outside, without knowing its inner workings, so you can ask new questions about a problem without shipping new code. In practice that data is logs, metrics and traces, tied together so you can move from one to the next.
The three signals: logs, metrics, traces
- Logs: timestamped messages emitted by services and other components. On their own they often lack context, so they are most useful when they carry a trace or span ID.
- Metrics: aggregations of numeric data over a period of time, such as error rate or CPU utilization. They are cheap to store and fast to chart, but they hide individual requests.
- Traces: the path a single request takes through your services. A trace is made of spans, and each span is one unit of work with a name, timing and metadata.
How it works
You instrument your code, usually with an OpenTelemetry SDK, so it emits these signals. Context propagation then carries a trace ID across service boundaries: by default OpenTelemetry uses the W3C Trace Context traceparent header, which is what lets signals from different services be correlated. The data goes to a backend where you query it.
Storing every trace is expensive, so teams sample. Head sampling decides at the start of a trace. Tail sampling waits until most of the trace has been seen, so it can keep traces with errors or high latency (OpenTelemetry sampling).
Observability vs monitoring
- Monitoring asks questions you defined in advance: is the endpoint up, is the error rate under your threshold, is the p95 within budget? It drives dashboards and alerts for failures you can predict.
- Observability lets you ask questions you did not predict, after the fact: which customers saw slow checkouts, and which downstream call was behind it?
Monitoring tells you something is wrong. Observability helps you find out why. Healthy production needs both.
Example
An API monitor alerts that checkout latency has crossed its threshold. A metric chart shows the p95 climbing on /checkout since the last deploy. You open a slow trace and see that one span, the call to the payment provider, takes most of the time. The logs with that same trace ID show repeated timeouts. You roll back, and the incident is understood in minutes instead of hours. The alert came from monitoring, the diagnosis from observability.
Common mistakes
- Writing logs without a trace ID, so a log line cannot be tied to a request.
- Putting unbounded values such as user IDs or request IDs on metrics. Every distinct value creates a new time series and raises cost. Keep those in traces and logs.
- Building dashboards for everything and alerts for nothing, or the reverse.
- Keeping all data at full detail without a budget or a sampling policy.
- Adding instrumentation only after an incident has already happened.
- Treating observability as a tool you buy rather than a habit of instrumenting and asking questions.
Observability, monitoring and load testing
LoadFocus is not an observability platform. It covers the outside view: API monitoring runs checks against your endpoints from several regions, asserts on status code, body, headers and response time, and alerts you through channels such as Slack, Microsoft Teams, PagerDuty and webhooks. Free checks run every 5 minutes. That is synthetic monitoring: it tells you that something broke and where. Your own traces and logs tell you why.
The two also help each other during load testing. Run a test against an instrumented staging environment and your normal dashboards show which endpoint slowed first and which query timed out. Pay attention to percentiles: see latency. Long runs are covered in our soak testing guide. For tooling and practice, read application performance monitoring tools and monitoring best practices. When an incident does happen, see incident response.
FAQ
What are the three pillars of observability?
Logs, metrics and traces. Logs record events, metrics aggregate numbers over time, and traces follow a single request across services. OpenTelemetry calls them signals.
What is the difference between observability and monitoring?
Monitoring checks for conditions you defined in advance and alerts you. Observability gives you enough data to investigate problems you did not anticipate. Teams normally use both.
Do I need OpenTelemetry to be observable?
No, but it is a vendor-neutral way to instrument code and export logs, metrics and traces to the backend of your choice, so many teams start there.
Is LoadFocus an observability tool?
No. LoadFocus offers API monitoring, load testing and page speed monitoring, which show how your system behaves from the outside. It does not replace tracing or log analysis inside your services.
Why are traces sampled?
Storing every trace costs a lot. OpenTelemetry describes sampling as one of the most effective ways to reduce the cost of observability without losing visibility.
Related terms
Related LoadFocus Tools
Put this concept into practice with LoadFocus, the same platform that powers everything you just read about.