This lesson is a part of our OpenTelemetry masterclass. If you haven't already, checkout the chapter introduction.
Each lesson in this lab builds on the last one, so make sure you learn about OpenTelemetry before proceeding with this one.
The specification provides a standard definition of what telemetry data looks like and a description of how to build OpenTelemetry instrumentation.
Specifically, it describes:
- A data model for each telemetry data type it supports. This specification includes a protocol for sending data over the wire and conventional attributes for describing data for common operations and technologies.
- An application programming interface (API) that consists of classes and functions that ensure telemetry data is generated in a consistent way
- A software development kit (SDK) with mechanisms for configuring, processing, and exporting telemetry data generated by the API
Standardized data models are useful because developers and observability platforms can agree on what telemetry data structures look like, how they’re represented in code, and how they’re serialized and transmitted between services. You, the end user, can choose between competing platforms and tools that adhere to the spec with confidence that the data will be generated and formatted consistently.
A standard way to build instrumentation provides consistency across all supported programming languages. If you instrument your application with tools that adhere to the OpenTelemetry specification, you’ll know how they work and that they generate telemetry data in a consistent way.
It’s helpful to compartmentalize the different components of the OpenTelemetry specification. Developers can create instrumentation libraries that comply with the data spec, but that don’t comply with the API or SDK specs. In other words, their libraries may have different interfaces and configuration mechanisms while still generating and sending data that matches the OpenTelemetry specification.
You learn more specifics about the specification and its components in a later lesson.
This lesson is a part of our OpenTelemetry masterclass. Continue on to the next lesson: Data model.