This blog is the first part in the Understand OpenTelemetry series. Part 1 begins with an overview of what OpenTelemetry is and why this open standard is the future of instrumentation. In the next parts, Alan West, one of the maintainers of the OpenTelemetry project, and contributor Jack Berg will walk through the core components of OpenTelemetry, the data sources, how to instrument an application with OpenTelemetry, how to see the data in New Relic, and more.
Part 2 explores the core components of the OpenTelemetry project, and Part 3 focuses on the primary OpenTelemetry data sources. Part 4 walks through examples of instrumenting a Java application with OpenTelemetry, and Part 5 shows how to send the OpenTelemetry data to your backend platform.
What is OpenTelemetry?
OpenTelemetry is an open source project and unified standard for service instrumentation, or a way of measuring performance. Sponsored by the Cloud Native Computing Foundation (CNCF), it replaces OpenTracing and OpenCensus. The goal is to standardize how you collect and send telemetry data to a backend platform. The OpenTelemetry project consists of specifications, application programming interfaces (APIs), libraries, and integrations, including software development kits (SDKs) for various languages like Java, Go, and Python. It also defines a centralized collector service that you can use for collecting telemetry data from your applications and services. It includes exporters to send that data to the observability platform that you choose.
Why is OpenTelemetry the future of instrumentation?
As described in the video above, there are four reasons why OpenTelemetry is changing instrumentation:
- You have access to a broad and deep set of instrumentation, because it is built and supported by a large open source community. More than 300 companies contributed to the OpenTelemetry project in the past year, with more than 100,000 contributions. And the OpenTelemetry community had more than 2,000 contributors over the past year. As an open standard, OpenTelemetry encourages broad collaboration and promotes better coverage, flexibility, and ubiquity as engineers from all over the world contribute to the instrumentation.
- The standard instrumentation means that different tools and services operate together, so you get visibility for your entire system. OpenTelemetry is interoperable, which means that various systems can use this standard form of instrumentation across all services to exchange information. Without a standard instrumentation across all services of your application, you have blind spots or data silos that affect troubleshooting and reduce your ability to quickly detect and resolve issues. OpenTelemetry bridges gaps in visibility.
- You have flexibility to change your backend observability tools. Most proprietary monitoring solutions require you to install specific instrumentation agents to gather telemetry data. If you switch to a different tool, you have to spend more time and resources installing different proprietary agents or re-instrumenting your code. With OpenTelemetry, your path is independent from the various proprietary tools. You can change your backend observability tool without having to change your instrumentation. You have full visibility into the OpenTelemetry source code and insight into how the community develops features and fixes bugs.
- You can monitor emerging technologies easily. When new technologies are built, OpenTelemetry instrumentation becomes a part of libraries and frameworks that your applications are already using. This means you don't need to wait for individual monitoring tools to support the latest technologies.
New Relic and OpenTelemetry
New Relic has been one of the major contributors to OpenTelemetry since its inception. Last year we announced our full commitment to open source instrumentation including open sourcing our agents and standardizing our observability offerings on OpenTelemetry. With New Relic’s native OpenTelemetry protocol (OTLP) support and curated user experiences, you can use this new standard of instrumentation to understand, troubleshoot, and optimize your systems.
Start exploring OpenTelemetry today
The OpenTelemetry tracing specification is at V 1.0 as of May 2021, and now is the perfect time to start experimenting with it on your own applications and services. If you want to try it, check out New Relic’s OpenTelemetry examples.
- Sign up for New Relic’s free tier and start sending your OpenTelemetry data today.
- Check out Part 2 in the series: Core components of OpenTelemetry.
- Ready to apply your knowledge and instrument a basic application in your preferred programming language? Go to the OpenTelemetry Masterclass.
A previous version of this post was published on The New Stack in October 2020.
The views expressed on this blog are those of the author and do not necessarily reflect the views of New Relic. Any solutions offered by the author are environment-specific and not part of the commercial solutions or support offered by New Relic. Please join us exclusively at the Explorers Hub (discuss.newrelic.com) for questions and support related to this blog post. This blog may contain links to content on third-party sites. By providing such links, New Relic does not adopt, guarantee, approve or endorse the information, views or products available on such sites.