census-instrumentation / opencensus-python

A stats collection and distributed tracing framework
Apache License 2.0
664 stars 249 forks source link

opencensus-ext-stackdriver should relax or upgrade dependendency pinning of google-cloud-trace #1073

Open frehov opened 2 years ago

frehov commented 2 years ago

Describe your environment. Describe any aspect of your environment relevant to the problem, including your Python version, platform, version numbers of installed dependencies, information about your cloud hosting provider, etc. If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on master.

Steps to reproduce.

Create a project with google-cloud-core 2.0.0, and add opencensus and opencensus-ext-stackdriver.

What is the expected behavior? Dependency resolution should finish.

What is the actual behavior? Dependency resolution times out due to opencensus-ext-stackdriver pinning an older version of google-cloud-trace that dissallows the usage of google-cloud-core 2.x

Additional context. We use dependabot in our project as an automatic dependency management tool, and upon receiving the update to google-cloud-core all of the builds/checks for the project started timing out, using more than 15 minutes for dependency resolution. Upon researching what were holding us back, we identified opencensus-ext-stackdriver as the culprit, because it was pinning an alfa/beta-release of the google-cloud-trace library. The google-cloud-trace library went GA with version 1.1.0 on Oct 13, 2020. This breakage caused us to reexamine our use of tracing, and we found that OpenTelemetry with opentelemetry-exporter-gcp-trace was now the preferred option according to the documentation. However, both libraries depend on the pre-GA version of google-cloud-trace and as such we can't upgrade to google-cloud-core 2.0.0.

henrik-caroe-bylling commented 2 years ago

We're having this issue as well. We're using opencensus-ext-stackdriver and we're not able to migrate to opentelemetry currently because of other dependencies. However, we need to upgrade to google-cloud-core 2.0.0 but are unable to at the moment due to this issue.

laz- commented 1 year ago

the google-cloud-trace pin also logjams any upgrade of protobuf above 3.x, which is a major version bump that happened last year: https://protobuf.dev/news/2022-05-06/