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

opentelemetry: update to latest otel release version #1049

Merged
merged 7 commits into from
Nov 12, 2020

Conversation

jtescher
Copy link
Collaborator

@jtescher jtescher commented Oct 19, 2020

Motivation

Support the latest OpenTelemetry specification

Solution

In order to support the latest spec, this patch makes the following breaking API changes:

  • Update opentelemetry to 0.10.x
  • Update CompatSpan to reflect changes to Span trait
  • Record u64 values as strings as they are no longer supported in OpenTelemetry

Additionally the following non-public api, doc, and example changes:

  • Update examples and docs to use new simplified pipeline builder.
  • As opentelemetry::api no longer exports trace types, internally use opentelemetry::trace as otel to disambiguate from tracing types.
  • Remove rand dependency as it is no longer needed
  • Update private methods to use span references instead of span contexts

## Motivation

Support the latest OpenTelemetry specification

## Solution

In order to support the latest spec, this patch makes the following
breaking API changes:

* Update `opentelemetry` to 0.9.x
* Update `CompatSpan` to reflect changes to `Span` trait
* Update `PreSampledTracer` interface to reflect span context -> span
reference renaming.

Additionally the following non-public api, doc, and example changes:

* Update examples and docs to use new simplified pipeline builder.
* As `opentelemetry::api` no longer exports trace types, internally use
`opentelemetry::api::trace as otel` to disambiguate from tracing types.
* Remove `rand` dependency as it is no longer needed
* Update private methods to use span references instead of span contexts
@jtescher jtescher added the crate/opentelemetry Related to the `tracing-opentelemetry` crate. label Oct 19, 2020
@jtescher jtescher requested review from hawkw and a team as code owners October 19, 2020 01:33
@jtescher
Copy link
Collaborator Author

@hawkw looks like some exporters (including jaeger) don't support rust back to 1.42, could just remove the dependency and have docs that suggest jaeger usage. opentelemetry crate itself does support 1.42.

@adelbertc
Copy link

Thank you for this PR - I was going to do this just now but realized the PR already exists!

@jtescher
Copy link
Collaborator Author

@adelbertc yep! holding off with this though until another release to both ensure rust 1.42 support in (open-telemetry/opentelemetry-rust#296) and the spec reverted their rename of SpanContext so no use introducing that churn here (open-telemetry/opentelemetry-specification#1127)

@djc
Copy link
Contributor

djc commented Oct 26, 2020

I suppose this should also bump the tracing-opentelemetry crate version?

@hawkw
Copy link
Member

hawkw commented Oct 28, 2020

@hawkw looks like some exporters (including jaeger) don't support rust back to 1.42, could just remove the dependency and have docs that suggest jaeger usage. opentelemetry crate itself does support 1.42.

Is this specifically in examples, or are they actual dependencies of the crate? Because if it's just for the examples, I think we may just want to exclude the examples crate from MSRV checks, honestly...

@jtescher
Copy link
Collaborator Author

@hawkw the latest otel release is compatible with rust 1.42.0 now, should be good to review this whenever you have time 🙏

Copy link
Contributor

@djc djc left a comment

Choose a reason for hiding this comment

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

Will be nice to have this. Changes look good to me.

tracing-opentelemetry/README.md Show resolved Hide resolved
examples/examples/opentelemetry-remote-context.rs Outdated Show resolved Hide resolved
@jtescher jtescher merged commit 4f73561 into master Nov 12, 2020
@jtescher jtescher deleted the jtescher/update-otel-version branch November 12, 2020 22:20
@kjvalencik
Copy link

This is awesome! Thanks, so much! How often does tracing cut new releases? I noticed that this PR didn't bump any versions and tracing@0.3 is still unreleased. Thanks!

@hawkw
Copy link
Member

hawkw commented Nov 12, 2020

@kjvalencik I think we'll need to backport this to the v0.1.x branch; there's a bunch of stuff in the pipe for the upcoming breaking change releases & some of it is not quite ready yet.

jtescher added a commit that referenced this pull request Nov 13, 2020
## Motivation

Support the latest OpenTelemetry specification

## Solution

In order to support the latest spec, this patch makes the following
breaking API changes:

* Update `opentelemetry` to 0.10.x
* Update `CompatSpan` to reflect changes to `Span` trait
* Record `u64` values as strings as they are no longer supported in
  OpenTelemetry.

Additionally the following non-public api, doc, and example changes:

* Update examples and docs to use new simplified pipeline builder.
* As `opentelemetry::api` no longer exports trace types, internally use
`opentelemetry::trace as otel` to disambiguate from tracing types.
* Remove `rand` dependency as it is no longer needed

Co-authored-by: Eliza Weisman <eliza@buoyant.io>
# Conflicts:
#	examples/examples/opentelemetry-remote-context.rs
#	tracing-opentelemetry/Cargo.toml
#	tracing-opentelemetry/src/layer.rs
#	tracing-opentelemetry/src/span_ext.rs
#	tracing-opentelemetry/src/tracer.rs
hawkw pushed a commit that referenced this pull request Nov 13, 2020
This backports  #1049, which was already approved on master.

## Motivation

Support the latest OpenTelemetry specification

## Solution

In order to support the latest spec, this patch makes the following
breaking API changes:

* Update `opentelemetry` to 0.10.x
* Update `CompatSpan` to reflect changes to `Span` trait
* Record `u64` values as strings as they are no longer supported in
  OpenTelemetry.

Additionally the following non-public api, doc, and example changes:

* Update examples and docs to use new simplified pipeline builder.
* As `opentelemetry::api` no longer exports trace types, internally use
`opentelemetry::trace as otel` to disambiguate from tracing types.
* Remove `rand` dependency as it is no longer needed

Co-authored-by: Eliza Weisman <eliza@buoyant.io>
# Conflicts:
#	examples/examples/opentelemetry-remote-context.rs
#	tracing-opentelemetry/Cargo.toml
#	tracing-opentelemetry/src/layer.rs
#	tracing-opentelemetry/src/span_ext.rs
#	tracing-opentelemetry/src/tracer.rs
kaffarell pushed a commit to kaffarell/tracing that referenced this pull request May 22, 2024
…okio-rs#1099)

This backports  tokio-rs#1049, which was already approved on master.

Support the latest OpenTelemetry specification

In order to support the latest spec, this patch makes the following
breaking API changes:

* Update `opentelemetry` to 0.10.x
* Update `CompatSpan` to reflect changes to `Span` trait
* Record `u64` values as strings as they are no longer supported in
  OpenTelemetry.

Additionally the following non-public api, doc, and example changes:

* Update examples and docs to use new simplified pipeline builder.
* As `opentelemetry::api` no longer exports trace types, internally use
`opentelemetry::trace as otel` to disambiguate from tracing types.
* Remove `rand` dependency as it is no longer needed

Co-authored-by: Eliza Weisman <eliza@buoyant.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crate/opentelemetry Related to the `tracing-opentelemetry` crate.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants