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

Upgrade to opentelemetry 0.22 #100

Merged
merged 6 commits into from
Mar 4, 2024
Merged

Upgrade to opentelemetry 0.22 #100

merged 6 commits into from
Mar 4, 2024

Conversation

djc
Copy link
Collaborator

@djc djc commented Feb 25, 2024

Motivation

Would like to upgrade to opentelemetry 0.22.

Solution

This seems mostly straightforward. Upstream deprecated opentelemetry_jaeger::new_pipeline() (which is used in an example) in favor of the OTLP collector for Jaeger; given that we already have an OTLP example should we just delete it?

@djc djc requested a review from jtescher as a code owner February 25, 2024 19:37
Copy link
Collaborator

@jtescher jtescher left a comment

Choose a reason for hiding this comment

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

Looks good, seems like the jaeger -> otlp exporter switch needs to happen to avoid the deprecation errors

@djc
Copy link
Collaborator Author

djc commented Feb 25, 2024

I was suggesting just removing the Jaeger example -- are you saying it should be switched to OTLP? (I noticed there's already a fairly elaborate OTLP setup in one of the other examples, so not sure it makes sense to have both.)

@jtescher
Copy link
Collaborator

Can remove too, whichever is easier

@@ -35,6 +35,7 @@ once_cell = "1.13.0"

# Fix minimal-versions
async-trait = { version = "0.1.56", optional = true }
futures-util = { version = "0.3.17", optional = true }
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I'm not sure it makes to continue to pursue minimal-versions here if we don't have a similar CI job in the upstream opentelemetry repo to keep it from regressing this.

Copy link
Collaborator

Choose a reason for hiding this comment

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

yeah true

@rbtcollins
Copy link
Contributor

I think like asked for in #99 the silent API break of i64 histograms should be added to a Changelog entry.

Something like

Breaking Changes

* Upgrade to v0.22.0 of opentelemetry. For list of breaking changes in OpenTelemetry, see the [v0.22.0 changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/v0.22.0/opentelemetry/CHANGELOG.md).
* ia64 histograms will silently downgrade to k:v exports. This is not statically detected. Code like the following produces ia64 histograms:

\```
        tracing::info!(histogram.abcdefg_auenatsou = -19_i64);
\```

@djc
Copy link
Collaborator Author

djc commented Feb 26, 2024

I've added a changelog entry and bumped the version number. @jtescher do you think this is good to release?

@rbtcollins
Copy link
Contributor

@djc
Copy link
Collaborator Author

djc commented Feb 27, 2024

Yeah, was looking at this last night but it's not actually clear to me where the second (or rather, the first) import is.

@valkum
Copy link
Contributor

valkum commented Feb 27, 2024

Yeah, was looking at this last night but it's not actually clear to me where the second (or rather, the first) import is.

A borrow::Cow was recently added by a PR to layer.rs. Wondering if this is some rebase GitHub thing. The CI used 8b31f0a which is not the HEAD of your branch.

The Jaeger crate is soft-deprecated in favor of using the OTLP protocol to talk
to Jaeger. Since we already have an otlp example here, remove the Jaeger example.
opentelemetry-sdk apparently is not getting checked for minimal
versions upstream, and now depends on a Stream export in the root
of futures-util that didn't exist in early versions of that crate.
Require 0.3.17, which appears to be the version that introduced
the top-level re-exports.
@djc
Copy link
Collaborator Author

djc commented Feb 28, 2024

Yeah, was looking at this last night but it's not actually clear to me where the second (or rather, the first) import is.

A borrow::Cow was recently added by a PR to layer.rs. Wondering if this is some rebase GitHub thing. The CI used 8b31f0a which is not the HEAD of your branch.

Ahh, that explains it, thanks!

@vriesk
Copy link

vriesk commented Mar 1, 2024

Hi! Can this be merged now?

@djc
Copy link
Collaborator Author

djc commented Mar 4, 2024

(@jtescher also, I would be happy to help maintaining this if you're running short on time/energy.)

@jtescher
Copy link
Collaborator

jtescher commented Mar 4, 2024

@djc thanks! I don't have admin on this repo, could get added in discord maybe? but I made you an owner on crates.io 👍

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.

5 participants