OpenCensus and OpenTracing are now OpenTelemetry

Published by Steve Flanders on

The future of observability is here! Not only are the two projects merging to create unilateral support and development towards observability standards, OpenTelemetry has also been accepted as a CNCF project. Developers now have an integrated set of APIs and libraries as well as a collection mechanism for distributed traces and metrics (logs coming soon).

Background

Microservices have become the de facto standard for how new applications are being architected. The benefits to scale and developer agility have been well documented. The downsides, however, are most apparent when application issues occur. Existing solutions for monitoring and observability were not designed to keep up with the rapid pace of change in these environments, nor the scale and distribution of these applications. This is the leading driver for establishing an open source standard for observability.

OpenTracing

In 2016, OpenTracing introduced an open-standard API specification for distributed tracing data. In addition, it supplemented this specification with open-source client libraries and semantic conventions. The focus of OpenTracing was on API standards, not implementation. As a result, users were left with tackling the problem of implementation.

OpenCensus

In 2018, Google announced the OpenCensus project. The goal was to define an end-to-end implementation for observability data (the initial focus was distributed tracing data and metrics). It did this by defining an end-to-end implementation via a wire format, client libraries, an agent, and a collector. Along with Google, we (Omnition), and Microsoft are the core contributors and maintainers.

OpenTelemetry

Unfortunately, OpenTracing and OpenCensus had some overlap and were not compatible. This caused confusion in the user community and OpenTelemetry is the result of an effort to combine the two solutions. The goal of OpenTelemetry is to retain the best aspects from both OpenCensus and Opentracing, while offering a single vendor-agnostic, open-standards and open-source solution for all observability data.

Roadmap

To successfully merge the two projects, we’ll be deprecating the OpenTracing and OpenCensus projects. The dates we are currently tracking are:

DateGoals
Sep 6C#, Golang, Java, NodeJS, and Python reach parity with existing projects.
Nov 6OpenTracing and OpenCensus projects are officially sunset.
Nov 20Sunset party at Observability Summit, Kubecon San Diego.

Existing Users

So what does this mean for existing users of either solution? The plan is to offer a bridge between the previous projects and this new one. The bridge will ensure backwards compatibility while users adopt the OpenTelemetry standard. Existing users of either project will be supported via backwards compatibility until 2021.

In addition, if you are using the OpenCensus Service (either Agent or Collector) then nothing will change. In the near future, a new receiver will be introduced. This receiver will be available in an upgrade to the existing Service. In short, nothing should prevent you from using the OpenCensus Service today.

For the latest information, be sure to watch the OpenTelemetry project on Github and join the conversation in Gitter. Pull requests welcome!

Omnition

We joined Google on OpenCensus from the beginning as we believe that open standards and open source telemetry collection is extremely beneficial to application developers. In addition to standardization, we believe it is critical that any collection mechanism be vendor-agnostic empowering users to choose the tools that best solve their particular business needs. While we work behind the scenes transitioning OpenCensus to OpenTelemetry we are also tackling the three remaining challenges of observability:

Categories: [Observability]

Tags: [OpenTelemetry OpenCensus OpenTracing]