Skip to content

Commit

Permalink
Add "Sunsetting OpenCensus" blog post (open-telemetry#2629)
Browse files Browse the repository at this point in the history
  • Loading branch information
aabmass authored May 1, 2023
1 parent 981da6f commit 7eac895
Show file tree
Hide file tree
Showing 2 changed files with 124 additions and 0 deletions.
100 changes: 100 additions & 0 deletions content/en/blog/2023/sunsetting-opencensus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: Sunsetting OpenCensus
linkTitle: Sunsetting OpenCensus
date: 2023-05-01
author: '[Aaron Abbott](https://github.com/aabmass) (Google)'
---

In 2019, we announced that OpenTracing and OpenCensus would be merging to form
the OpenTelemetry project. From the start, we considered OpenTelemetry
[to be the next major version of both OpenTracing and OpenCensus](https://www.cncf.io/blog/2019/05/21/a-brief-history-of-opentelemetry-so-far/).

We are excited to announce that OpenTelemetry has reached feature parity with
OpenCensus in C++, .NET, Go, Java, JavaScript, PHP and Python.
[Stable releases](/docs/instrumentation/#status-and-releases) of both the
Tracing and Metrics SDKs are available in most of these languages with Go and
PHP soon to follow. This means that OpenTelemetry can collect and export
telemetry data with the same level of functionality as OpenCensus. Beyond that,
OpenTelemetry offers a [richer ecosystem](/ecosystem) of instrumentation
libraries and exporters, and an
[active open source community](https://www.cncf.io/blog/2023/01/11/a-look-at-the-2022-velocity-of-cncf-linux-foundation-and-top-30-open-source-projects/).

As a result, we will be archiving all OpenCensus GitHub repositories (with the
exception of [census-instrumentation/opencensus-python][][^python-timeline]) on
July 31st, 2023. We are excited to see the
[long term plan for OpenTelemetry](https://medium.com/opentracing/a-roadmap-to-convergence-b074e5815289)
coming to fruition and encourage all users of OpenCensus to migrate to
OpenTelemetry.

## How to Migrate to OpenTelemetry

One of the
[key goals](https://medium.com/opentracing/merging-opentracing-and-opencensus-f0fe9c7ca6f0)
of the OpenTelemetry project is to provide backward compatibility with
OpenCensus and a migration story for existing users.

To help ease the migration path, we have provided backward compatibility bridges
in [Go][go shim], [Java][java shim], [JavaScript][js shim][^shim-next-release],
and [Python][python shim][^shim-next-release]. Installing these bridges allows
OpenCensus and OpenTelemetry instrumentation to smoothly interoperate, with all
of your telemetry flowing out of OpenTelemetry exporters. This lets OpenCensus
users incrementally transition all of their instrumentation from OpenCensus to
OpenTelemetry, and finally remove OpenCensus libraries from their
applications[^shim-support].

While OpenTelemetry was never intended to be a strict superset of OpenCensus,
most of the APIs and data models are compatible. Migration should be considered
a "major version bump" and you may notice some changes in your telemetry.

More details on what to expect and some suggested workflows for migration are
outlined in the
[OpenCensus Compatibility specification](/docs/reference/specification/compatibility/opencensus#migration-path)[^spec-next-release].

## What to Expect After July 31st, 2023

After July 31st, 2023, the OpenCensus project will no longer be maintained. This
means that there will be no new features added to the project, and any security
vulnerabilities that are found will not be patched.

However, the OpenCensus repositories will remain archived on GitHub. This means
users will still be able to download the OpenCensus code and use it in their
projects. Existing releases of OpenCensus will remain available in public
package repositories like NPM and PyPI. **We encourage all OpenCensus users to
begin planning your migration to OpenTelemetry now.**

One exception to this is the
[census-instrumentation/opencensus-python][][^python-timeline] repo.

[go shim]:
https://github.com/open-telemetry/opentelemetry-go/tree/main/bridge/opencensus
[java shim]:
https://github.com/open-telemetry/opentelemetry-java/tree/main/opencensus-shim
[python shim]:
https://github.com/open-telemetry/opentelemetry-python/tree/main/shim/opentelemetry-opencensus-shim
[js shim]:
https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-shim-opencensus
[census-instrumentation/opencensus-python]:
https://github.com/census-instrumentation/opencensus-python

[^python-timeline]:
A number of projects within this repository are still being used as
recommended production solutions. These projects will continue to be
maintained. Please reach out to the individual maintainers for details
regarding maintenance timeline, next steps for migration and general support
questions.

[^shim-next-release]:
Python and JavaScript shim packages are currently unreleased but will be
available in future releases.

[^spec-next-release]:
The
[OpenCensus Compatability specification](https://opentelemetry.io/docs/reference/specification/compatibility/opencensus/)
is marked stable for the next specification release.

[^shim-support]:
These shims implement the stable
[OpenCensus Compatibility specification](/docs/reference/specification/compatibility/opencensus#migration-path)[^spec-next-release]
and will be supported for at least one year following
[OpenTelemetry's long term support](https://opentelemetry.io/docs/reference/specification/versioning-and-stability/#long-term-support)
guidelines.
24 changes: 24 additions & 0 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -1419,6 +1419,10 @@
"StatusCode": 200,
"LastSeen": "2023-02-20T07:43:37.8719-05:00"
},
"https://github.com/aabmass": {
"StatusCode": 200,
"LastSeen": "2023-04-24T16:54:54.131842195Z"
},
"https://github.com/aishyandapalli": {
"StatusCode": 200,
"LastSeen": "2023-02-20T08:12:22.870564-05:00"
Expand Down Expand Up @@ -1499,6 +1503,10 @@
"StatusCode": 200,
"LastSeen": "2023-02-20T08:02:57.433517-05:00"
},
"https://github.com/census-instrumentation/opencensus-python": {
"StatusCode": 200,
"LastSeen": "2023-04-24T16:54:55.217650606Z"
},
"https://github.com/census-instrumentation/opencensus-specs": {
"StatusCode": 200,
"LastSeen": "2023-02-20T08:00:55.574495-05:00"
Expand Down Expand Up @@ -3111,6 +3119,14 @@
"StatusCode": 200,
"LastSeen": "2023-02-16T17:17:36.925688-05:00"
},
"https://medium.com/opentracing/a-roadmap-to-convergence-b074e5815289": {
"StatusCode": 200,
"LastSeen": "2023-04-24T16:54:55.28743128Z"
},
"https://medium.com/opentracing/merging-opentracing-and-opencensus-f0fe9c7ca6f0": {
"StatusCode": 200,
"LastSeen": "2023-04-24T16:54:55.343964078Z"
},
"https://medium.com/p/42337e994b63": {
"StatusCode": 200,
"LastSeen": "2023-02-16T17:15:39.339631-05:00"
Expand Down Expand Up @@ -3915,10 +3931,18 @@
"StatusCode": 206,
"LastSeen": "2023-02-18T13:37:44.838318-05:00"
},
"https://www.cncf.io/blog/2019/05/21/a-brief-history-of-opentelemetry-so-far/": {
"StatusCode": 206,
"LastSeen": "2023-04-24T16:54:54.215591367Z"
},
"https://www.cncf.io/blog/2021/08/26/opentelemetry-becomes-a-cncf-incubating-project/": {
"StatusCode": 206,
"LastSeen": "2023-02-18T13:37:50.760488-05:00"
},
"https://www.cncf.io/blog/2023/01/11/a-look-at-the-2022-velocity-of-cncf-linux-foundation-and-top-30-open-source-projects/": {
"StatusCode": 206,
"LastSeen": "2023-04-24T16:54:54.873649488Z"
},
"https://www.cncf.io/projects/": {
"StatusCode": 206,
"LastSeen": "2023-02-18T13:34:56.607908-05:00"
Expand Down

0 comments on commit 7eac895

Please sign in to comment.