My IBM Log in Subscribe

What is OpenTelemetry?

2 May 2025

Authors

Chrystal R. China

Writer, automation & ITOps

What is OpenTelemetry?

OpenTelemetry, or OTel, is an open source observability framework that includes a collection of software development kits (SDKs), vendor-agnostic APIs and other tools for application, system and device instrumentation.

OTel simplifies how telemetry data is collected, regardless of programming language, infrastructure or runtime environment, and enables developers to generate, collect and export standardized telemetry data for any observability backend. This standardized framework strengthens and extends observability capabilities, and provides IT and DevOps teams with greater flexibility.  

OTel is implemented between applications, systems and devices, and backend solutions—storage and visualization are intentionally left to other tools, granting organizations the freedom to choose the tools that best suit them.

Observability is the ability to gain insights into the internal workings of a system by analyzing its external outputs. In IT operations (ITOps) and cloud computing, telemetry data (such as logs, metrics and traces) is used to assess system performance and health. DevOps professionals rely on instrumentation—adding code to applications and systems to produce and capture telemetry data—to create observable systems.

This instrumentation is often a complex undertaking when working in modern environments, with hybrid cloud and multicloud environments, microservices-based applications, Kubernetes containers and other features of current computing environments. These distributed systems, and the various programming languages and runtimes they incorporate, present a complicated array to instrument, collect and export for backend storage, visualization and analysis.

To gain a comprehensive understanding of network service and application performance, engineers must configure custom instrumentation for applications and systems across the entire infrastructure. OpenTelemetry helps solve this problem.

OTel provides a standard method for collecting and transmitting observability data, which helps simplify monitoring in distributed systems. It uses unified, vendor-neutral libraries and APIs to gather and send telemetry data to backend platforms. By adopting OpenTelemetry, teams can uniformly collect and process telemetry across complex systems, regardless of which applications they manage or which observability tools they use.

3D design of balls rolling on a track

The latest AI News + Insights 


Discover expertly curated insights and news on AI, cloud and more in the weekly Think Newsletter. 

Why is OpenTelemetry important for observability?

Instrumentation code used to vary widely. And because no single commercial provider offered a tool capable of collecting data from every app and service on a network, it was difficult for companies to collect data in different languages and formats or change backends.

If, for instance, a development team wanted to switch out backend tools, they would have to completely reinstrument their code and configure new agents to send telemetry data to the new servers. Furthermore, this fragmented approach created data silos and confusion, making it difficult to troubleshoot and resolve performance issues effectively.

OpenTelemetry represented a significant advancement in observability tools because it standardized the way telemetry data is gathered, analyzed and transmitted to backend platforms. It provides an open source solution—based on community-driven standards—for collecting data about system behavior and security, helping teams streamline monitoring and observability in distributed ecosystems. As such, OTel offers business an open, consistent approach to gathering critical data from network applications and services.

The evolution of OpenTelemetry

OpenTelemetry was created by combining the distributed tracing capabilities of OpenTracing and OpenCensus into a single tool. OpenTracing was an open source project designed by the Cloud Native Computing Foundation (CNCF) to provide engineers with a vendor-neutral API for adding distributed tracing instrumentation to applications. It established a set of semantic conventions to help ensure consistency in telemetry data.

However, unlike OpenTelemetry, OpenTracing wasn’t itself a tracing implementation. Rather, it provided interfaces that tracing systems could implement to maximize compatibility across platforms. OpenTracing is a defunct project (that now encourages users to migrate to OpenTelemetry), but various software and tracing solutions still rely on its APIs.

OpenCensus is a set of instrumentation libraries—developed by Google, for gathering application metrics and distributed traces—that can export data to different backends in real time. It collects data using consistent propagation tags and metadata—a concept that now exists in OpenTelemetry as “resources.”

With OpenCensus, applications can import and export data based on their specific requirements, ensuring flexibility in how metrics and traces are sent to observability backends. OpenCensus hasn’t been formally discontinued like OpenTracing; it still receives regular maintenance and security updates. However, active development has largely shifted to OpenTelemetry.

Both projects aimed to address the same issue. At the time, development teams had no standard way to instrument code and transmit telemetry data to backend observability tools.

However, neither project could resolve this issue on its own. So, the CNCF sponsored the OpenTelemetry project, combining the best features of each solution. OpenTelemetry brings together OpenTracing’s API standardization and OpenCensus’s data collection capabilities to provide a single, unified platform for sending, collecting and transferring telemetry data to backend observability platforms.

What is telemetry data?

A key part of running fast, high-availability networks and applications is achieving full-stack observability (or visibility), which requires access to telemetry data. Observability solutions collect, monitor and analyze telemetry data to determine system health and then provide IT teams with actionable insights for repairs and optimizations.

To gain a deeper understanding of OpenTelemetry, let’s dive into what telemetry data is and how organizations use it. OpenTelemetry supports specific data types, namely the outputs collected from logs, metrics and traces (often called the “three pillars of observability”).

Metrics

Metrics are numerical assessments of system performance and resource usage. They provide a high-level overview of the network’s health by capturing key performance indicators (KPIs) such as latency, packet loss, bandwidth utilization and device CPU usage.

Metrics are typically summarized using dashboards and other visualizations. They often provide teams with the first indications of a system or application performance issue.

Logs

Logs are detailed records of every event or action that occurs within the environment. They provide granular information about what occurred, when it occurred and where in the network it occurred, giving teams valuable context for troubleshooting, debugging and forensic analysis.

Logs reveal the underlying causes of issues by detailing system events such as device configuration changes, failed authentications and dropped connections.

Traces

Traces capture the flow of data across the network, providing insights into the path and behavior of packets as they traverse multiple devices and systems. They’re essential for understanding distributed systems and diagnosing latency issues.

Tracing data enables IT teams to see the full journey of a transaction, end-to-end, helping pinpoint delays and failures that occur within complex, multilayered environments.

Components of OpenTelemetry

OpenTelemetry relies on several components and processes to make data collection successful, including:

Application programming interfaces (APIs)

An API is a set of rules or protocols that enables software applications to communicate with each other to exchange data, features and functions.

OpenTelemetry provides language-specific APIs—for Java, Ruby, JavaScript, Python and other languages—that developers can use to instrument their applications for telemetry data collection. OpenTelemetry APIs decouple apps from network infrastructure, giving teams the flexibility to use whichever endpoint matches their instrumentation code.

Language software development kits (SDKs)

OpenTelemetry SDKs enable engineers to configure and customize API behavior. SDKs form the bridge between APIs and collectors and make it possible to connect manual instrumentation for common libraries to manual app instrumentation. 

OTel offers SDKs for a range of programming languages, so developers can use OTel APIs to generate and export telemetry data specific to their chosen language and backend. OTel SDKs also support custom instrumentation for in-house frameworks not yet covered by the OpenTelemetry community.

Collectors

A collector is an agent that gathers telemetry data from applications instrumented with OpenTelemetry. Composed of receivers, processors, aggregates and exporters, the collector acts as a vendor-neutral intermediary, receiving data from applications and forwarding it to observability platforms or other destinations for analysis.

The OpenTelemetry collector supports contrib packages that enable it to ingest data in multiple formats—including OpenTelemetry Protocol (OTLP), Prometheus and Jaeger—and export it to various backends, sometimes simultaneously (for redundancy). Contrib packages are third-party extensions that provide development teams instrumentation, samplers, propagators and resource detectors in a submodule format.

Collectors can also process and filter telemetry data before exporting it to prioritize the delivery of the most vital data and accelerate troubleshooting and debugging processes.

Exporters

Exporters are part of the collector and are responsible for sending application telemetry data to one or more specified observability backends. Whereas collectors manage overall data flow, exporters prioritize transmitting data outward to its destination.

OpenTelemetry data exporters decouple instrumentation from backend configurations and convert data into the appropriate format for each observability platform (converting traces to the Zipkin protocol, for example). These dynamics enable the collector to send the same telemetry data to multiple backends, making it easier to change destinations without altering the code’s instrumentation logic.

Automatic instrumentation

Automatic instrumentation provides ready-made libraries and frameworks that enable apps to automatically generate telemetry data with minimal or no code changes. This process simplifies instrumentation for developers, reducing—and sometimes eliminating—manual coding tasks.

However, auto-instrumentation might offer less control over specific types of data collection compared to manual instrumentation. The breadth of automatic instrumentation can also vary based on language runtimes, computing environments and levels of community support for observability frameworks.

How does OpenTelemetry work?

OpenTelemetry works by combining APIs, SDKs, collectors and automatic instrumentation processes to pull data and send it to the target system.

First, the DevOps team instruments application code with OTel APIs, specifying which metrics, traces and logs to collect and how to collect them. The OTel SDK collector gathers the data and prepares it for processing and export, and then samples, filters and correlates the data with dependencies and other data sources.

When the processed data is properly formatted, the SDK groups it into time-based batches (where it undergoes more filtering, if necessary) and sends it to the designated backend system.

Benefits of OpenTelemetry

OpenTelemetry’s primary goal is to collect and export telemetry data and enhance observability, providing organizations with a tool that facilitates vendor neutrality, and platform and tool integration. It helps DevOps teams and site reliability engineers (SREs) manage and debug applications and systems, so they can make more informed decisions and remain agile as business needs change.

The benefits of OTel include:

  • Implement consistent data collection. OpenTelemetry enables teams to collect telemetry data consistently across different apps, systems and use cases.
  • Avoid vendor lock-in. OTel is a vendor-neutral solution that enables developers to switch out backend observability tools and providers without making significant changes to instrumentation code.
  • Streamline observability. OTel simplifies observability by collecting telemetry data without requiring IT personnel to modify source code or metadata. It also enables developers to maintain full-stack visibility, regardless of which observability backends or vendors they use.
  • Future-proof IT ecosystems. Because OpenTelemetry is backed by an open-source community and the CNCF, it’s made to evolve as computing technologies and observability needs change. For instance, OTel recently added continuous profiling to its group of primary telemetry signals.1
  • Track resource usage. OpenTelemetry can capture data requests between servers to categorize resource usage by groups, helping IT teams track utilization between shared systems.
  • Prioritize data requests. OpenTelemetry can create a priority ranking pipeline for data requests within the architecture so that competing requests traverse the network in order of mission criticality.
  • Expand access to monitoring data. With OTel, developers can monitor telemetry data and receive alerts on any web browser or device, making it easier to track software performance and overall system health in real time.
Mixture of Experts | 9 May, episode 54

Decoding AI: Weekly News Roundup

Join our world-class panel of engineers, researchers, product leaders and more as they cut through the AI noise to bring you the latest in AI news and insights.

Related solutions

Related solutions

OpenTelemetry

Optimize the operations and performance of your cloud-native applications with OpenTelemetry on IBM Instana Observability.

    Explore OpenTelemetry
    IBM Observability solution

    Maximize your operational resiliency and assure health of cloud-native applications with AI-powered observability.

      Explore IBM Observability solution
      IBM Consulting AIOps

      Step up IT automation and operations with generative AI, aligning every aspect of your IT infrastructure with business priorities.

      Explore IBM Consulting AIOps
      Take the next step

      Unlock cloud-native application performance with AI-driven automated observability.

      Explore IBM Instana Play with Instana