Chapter 3. OpenTelemetry Overview

You can’t communicate complexity, only an awareness of it.

Alan J. Perlis1

OpenTelemetry contains everything you need to create a modern telemetry system. To understand it, you need to know how it fits into the landscape of not only cloud native software but also the greater commercial and open source observability market.

OpenTelemetry solves two big problems. First, it gives developers a single solution for built-in, native instrumentation of their code. Second, it allows for instrumentation and telemetry data to be broadly compatible with the rest of the observability ecosystem.

These problems have enough in common that they’re effectively the same challenge, but it’s good to clarify exactly what we mean by breaking them apart. Built-in (or native) instrumentation in this context means that a library, service, managed system, or something similar is creating a variety of telemetry signals directly from the application code that are linked with other signals.

You need to be able to create and process data using not just a common API or SDK but a set of “nouns and verbs”—a common set of definitions around what things mean (also known as semantics). This isn’t just about having consistent attributes across signals, although that’s part of it. You need consistent attributes and labels across your telemetry in order to correlate it together. Truly native instrumentation is about having semantically accurate instrumentation.

To learn OpenTelemetry, ...

Get Learning OpenTelemetry now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.