What is OpenTelemetry?
Let’s explore what OpenTelemetry is and isn’t. Here is what OpenTelemetry says about the project…
OpenTelemetry is:
An Observability framework and toolkit designed to create and manage telemetry data such as traces, metrics, and logs.
Vendor- and tool-agnostic, meaning that it can be used with a broad variety of Observability backends, including open source tools like Jaeger and Prometheus, as well as commercial offerings.
Not an observability backend like Jaeger, Prometheus, or other commercial vendors.
Focused on the generation, collection, management, and export of telemetry. A major goal of OpenTelemetry is that you can easily instrument your applications or systems, no matter their language, infrastructure, or runtime environment. The storage and visualization of telemetry is intentionally left to other tools.
OpenTelemetry has a very broad focus that includes traces, metrics and logs which is a double edge sword for many developers. To understand why OpenTelemetry collects the amount of data it does, it’s worth understanding what Observability is as seen by OpenTelemetry.
What is observability?
Observability is the ability to understand the internal state of a system by examining its outputs. In the context of software, this means being able to understand the internal state of a system by examining its telemetry data, which includes traces, metrics, and logs.
To make a system observable, it must be instrumented. That is, the code must emit traces, metrics, or logs. The instrumented data must then be sent to an observability backend.
Why OpenTelemetry?
OpenTelemetry satisfies the need for observability while following two key principles:
You own the data that you generate. There’s no vendor lock-in.
You only have to learn a single set of APIs and conventions.
Both principles combined grant teams and organizations the flexibility they need in today’s modern computing world.
Why NOT to use OpenTelemetry?
“It tries to do everything — logs, metrics and traces, with dozens of integrations. It provides a standardized, vendor-neutral way to gather observability data. In a world full of fragmented tools and monitoring solutions, that is valuable. But its broad scope has come at a cost: It is bloated, slow and inefficient.”
OpenTelemetry is seen by many developers as bloated, slow and inefficient as it tries to do logs, metrics and traces in one. This indeed comes at a cost that many developers do not find enough value in.
Another issue developers face is the lack of support for OpenTelemetry in observability and error monitoring platforms that they are already using in their production environments.
History of OpenTelemetry
“OpenTelemetry is a Cloud Native Computing Foundation (CNCF) project that is the result of a merger between two prior projects, OpenTracing and OpenCensus. Both of these projects were created to solve the same problem: the lack of a standard for how to instrument code and send telemetry data to an Observability backend. As neither project was fully able to solve the problem independently, they merged to form OpenTelemetry and combine their strengths while offering a single solution.” - OpenTelemetry Authors
Alternatives to OpenTelemetry would include OpenTracing or OpenCensus.
Try Rollbar today to capture errors in your applications quickly without any bloated SDK's