Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "Sunsetting OpenCensus" blog post #2629

Merged
merged 12 commits into from
May 1, 2023

Conversation

aabmass
Copy link
Member

@aabmass aabmass commented Apr 24, 2023

@aabmass aabmass requested review from a team April 24, 2023 16:59
Copy link
Member Author

@aabmass aabmass left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feedback from SIG:

content/en/blog/2023/sunsetting-opencensus.md Outdated Show resolved Hide resolved
content/en/blog/2023/sunsetting-opencensus.md Outdated Show resolved Hide resolved
@aabmass aabmass requested a review from lzchen April 24, 2023 17:35
package repositories like NPM and PyPI. **We encourage all OpenCensus users to
migrate to OpenTelemetry as soon as possible.**

One exception to this is the [census-instrumentation/opencensus-python], which
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jeremydvoss @lzchen I'd like to mention the reason for exempting python for now. Can you suggest some wording?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe something along the lines of:

"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 the projects for details regarding maintenance timeline, next steps for migration and general support questions."

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added as a footnote

static/refcache.json Outdated Show resolved Hide resolved
@aabmass
Copy link
Member Author

aabmass commented Apr 25, 2023

Thanks for the help on this. I will be out until Monday, @damemi can address any minor comments, or maintainers feel free to push suggestions.

@damemi
Copy link
Contributor

damemi commented Apr 27, 2023

Bumping this, is there any more feedback to be addressed today or tomorrow? Want to make sure this is on track to publish Monday

outlined in the
[OpenCensus Compatibility specification](/docs/reference/specification/compatibility/opencensus#migration-path)[^spec-next-release].

## What to Expect After July 31st, 2023
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there intention to mention the support lifecycle for shims or we want to separate the concern?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LTS and support plans would be good to share - see my comment above.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Shims are in OpenTelemetry and subject to https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md#long-term-support.

Currently, that's one year support (from OTEL's side).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added this in a footnote

@@ -0,0 +1,91 @@
---
title: Sunsetting OpenCensus
Copy link
Member

@reyang reyang Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any announcement from the OpenCensus official site? It'll be great to have the cross reference.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're planning to update the banner on the OpenCensus website to announce the date and point with a link to this blog post.


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
Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we be clear about the current status of these shims and if/when they will be stable?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree. Would be good to provide a current status of these bridges and how long they will be maintained (whats the LTS plan).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LTS is under https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md#long-term-support.

As far as stability, now that the specification is marked as stable, we can get each component to be marked as stable.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added a footnote re: stability and support, linking to the docs Josh provided

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
Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't OpenCensus have a stable logging story?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otel's logging data model is stable, could you give an example of what you mean in opencensus?

Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you go to OTel-Python repo the logs API and SDK files both have underscores before them. In the OTel-Spec, the Logs/Events API (if/when it comes into being) is not stable. Just a having a stable data model doesn't guarantee customers won't be broken in the future. We should be up front that there is a caveat about this "feature parity" claim. Customers could take a bet on OpenCensus Logging, whereas I don't see that same level of confidence with OTel logging yet.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OpenCensus does not include any logging API whatsoever. It was just "stats(metrics) + traces".

Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If OTel would make the same decision and call it done, then I'd feel comfortable with the "feature parity" claim. IMO, we should make customers aware that the OTel logging pillar is still WIP.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattmccleary maybe I'm misunderstanding your point, but if OC only supported metrics and traces then doesn't feature parity with OTel only rely on metrics and traces? I am confused how the addition of logging in OTel isn't compatible with OC

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly. OpenCensus users don't need to migrate OC logging because there was nothing to migrate, it didn't exist. We're asking OC users to migrate their metrics + traces to OpenTelemetry.

I don't understand the point you're making at all.

Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Azure customers have taken a production dependency on an Azure-specific OpenCensus Logs Exporter:
https://github.com/census-instrumentation/opencensus-python#log-exporter

If they migrate to OTLP Python Exporter for Logging, are you guaranteeing it's stable and they will not be broken in the future?

I just want to make sure we're properly setting customer expectations for this cohort.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see. OpenCensus extensions are NOT part of this transition plan, nor will we be transitioning existing OpenCensus exporters. The module you list would be considered both.

For the extension you mention, I'd suggest Azure could provide such a module to an OpenTelemetry Contrib component. From what I can tell, it's very Azure specific (and does not even require the user to interact with OpenCensus to install it). Additionally, you could still recommend Azure customers use that log exporter while they transition Metrics/Traces to OpenTelemetry via the OpenCesnus shim and I bet nothing breaks.

There are other extensions/contrib in opencensus, e.g. https://github.com/census-instrumentation/opencensus-java/tree/master/contrib/log_correlation/log4j2. These will not break when using the OpenCensus-shim.

Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OpenCensus extensions are NOT part of this transition plan, nor will we be transitioning existing OpenCensus exporters.

Awesome. As long as this is clear to customers, great. It wasn't to me. Many of the customers I work with are not deeply versed in the communities like we are. They do not understand (or care to understand) the difference between extensions vs core components. It's all OpenCensus to them.

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
Copy link
Contributor

@mattmccleary mattmccleary Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we expand out the steps of how/why we consider this incremental?
For example, what if customers want to leave their opencensus data flows as-is and temporarily emit OpenTelemetry side-by-side so they can compare their charts, etc. before removing OpenCensus? Is this a recommended/available incremental approach?

Copy link
Contributor

@damemi damemi Apr 27, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Details about migration plans are included in the compatibility specification linked below this https://opentelemetry.io/docs/reference/specification/compatibility/opencensus/#migration-plans, as well as language-specific outlines in the documentation for each shim.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattmccleary given the overhead you'd find from double-o11y solutions, side-by-side running would not be recommended. Far better to A:B test different configurations in different running binaries. Even then, it's an expensive user proposition. As @damemi points out, the justification behind the incremental approach is in the migration plan.


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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👏


## What to Expect After July 31st, 2023

After July 31st, 2023, the OpenCensus project will no longer be maintained. This
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

except Python, right? Can we be consistent with langauge above?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see it now...just didn't catch my eye because it seemed separate.

Co-authored-by: Matt McCleary <43887470+mattmccleary@users.noreply.github.com>
Copy link
Member

@reyang reyang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Congratulations!! 👏 🥳 As a former OpenCensus member I'm super glad to see this big step forward, another big milestone for OpenTelemetry!!!

@svrnm
Copy link
Member

svrnm commented Apr 28, 2023

All, as discussed on Monday's SIG call with @aabmass & @austinlparker we will merge & publish this blog post on May 1th. I think it is in a good shape and noting should stop us doing so. If you think otherwise please call out any flaws that need to be fixed before publishing.

Thanks everyone for taking the effort on writing & editing this, this will be a great announcment! Like everyone else I am super excited about this!

@damemi
Copy link
Contributor

damemi commented May 1, 2023

Bump, is this still planned to merge today?

@svrnm svrnm merged commit 7eac895 into open-telemetry:main May 1, 2023
@svrnm
Copy link
Member

svrnm commented May 1, 2023

Bump, is this still planned to merge today?

Yes. Thanks for the bump, I didn't anticipate that it's a public holiday for me today.

Merged. Will be available in a few minutes.

@damemi
Copy link
Contributor

damemi commented May 1, 2023

@svrnm no problem, thanks!

@aabmass
Copy link
Member Author

aabmass commented May 1, 2023

Thanks everyone for your review and input!

@aabmass aabmass deleted the sunsetting-opencensus branch May 1, 2023 15:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants