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

feat!(opentelemetry): migrate from opencensus to opentelemetry #266

Draft
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

Sharponentielle
Copy link

@Sharponentielle Sharponentielle commented May 23, 2022

What?

Flamingo uses Opencensus to collect application metrics and traces and transfer the data to a backend of the user's choice.
This pull request aims to replace Opencensus with Opentelemetry.

@Sharponentielle Sharponentielle linked an issue May 23, 2022 that may be closed by this pull request
6 tasks
@Sharponentielle Sharponentielle self-assigned this May 23, 2022
@Sharponentielle Sharponentielle added Hackathon enhancement New feature or request labels May 23, 2022
@Sharponentielle Sharponentielle changed the title Opentelemetry migration Migration from Opencensus to Opentelemetry May 23, 2022
@bastianccm bastianccm self-requested a review May 25, 2022 15:45
@Sharponentielle
Copy link
Author

Sharponentielle commented May 27, 2022

Since we want to guarantee backward compatibility with OpenCensus, I tried to use the OpenCensus bridge module. However, an open issue hinders me. I'm trying to find a workaround.

@Sharponentielle
Copy link
Author

Sharponentielle commented May 29, 2022

As of now, it's not possible to define boundaries for histograms at the instrument level with opentelemetry-go.
Issues: open-telemetry/opentelemetry-go#689, open-telemetry/opentelemetry-go#2678.

@github-actions
Copy link
Contributor

Code Coverage

Package Line Rate Health
flamingo.me/flamingo/v3/core/auth 10%
flamingo.me/flamingo/v3/core/auth/fake 50%
flamingo.me/flamingo/v3/core/auth/http 40%
flamingo.me/flamingo/v3/core/auth/oauth 46%
flamingo.me/flamingo/v3/core/cache 52%
flamingo.me/flamingo/v3/core/gotemplate 87%
flamingo.me/flamingo/v3/core/healthcheck/interfaces/controllers 76%
flamingo.me/flamingo/v3/core/healthcheck 64%
flamingo.me/flamingo/v3/core/internalauth/application 100%
flamingo.me/flamingo/v3/core/internalauth 100%
flamingo.me/flamingo/v3/core/locale/application 87%
flamingo.me/flamingo/v3/core/locale/domain 75%
flamingo.me/flamingo/v3/core/locale/interfaces/controllers 100%
flamingo.me/flamingo/v3/core/locale/interfaces/templatefunctions 92%
flamingo.me/flamingo/v3/core/locale 59%
flamingo.me/flamingo/v3/core/oauth/application 4%
flamingo.me/flamingo/v3/core/oauth/domain 62%
flamingo.me/flamingo/v3/core/oauth 55%
flamingo.me/flamingo/v3/core/requestlogger 100%
flamingo.me/flamingo/v3/core/requesttask 10%
flamingo.me/flamingo/v3/core/robotstxt 50%
flamingo.me/flamingo/v3/core/runtime 77%
flamingo.me/flamingo/v3/core/security/application/role 95%
flamingo.me/flamingo/v3/core/security/application 98%
flamingo.me/flamingo/v3/core/security/application/voter 100%
flamingo.me/flamingo/v3/core/security/interface/controller 100%
flamingo.me/flamingo/v3/core/security/interface/middleware 72%
flamingo.me/flamingo/v3/core/security 59%
flamingo.me/flamingo/v3/core/zap 43%
flamingo.me/flamingo/v3/framework/cmd 12%
flamingo.me/flamingo/v3/framework/config 45%
flamingo.me/flamingo/v3/framework/flamingo 8%
flamingo.me/flamingo/v3/framework 28%
flamingo.me/flamingo/v3/framework/opencensus 88%
flamingo.me/flamingo/v3/framework/prefixrouter 44%
flamingo.me/flamingo/v3/framework/systemendpoint 27%
flamingo.me/flamingo/v3/framework/testutil 0%
flamingo.me/flamingo/v3/framework/web 49%
Summary 48% (3132 / 6551)

@karstenkoehler
Copy link
Contributor

karstenkoehler commented Oct 9, 2023

  • rebase onto latest version of master
  • upgrade all otel packages to latest version
  • check if all traces have been migrated to otel
  • check if all metrics have been migrated to otel
  • test if opencensus module still works as before
  • check if new opentelemetry module works as expected
  • [optional] move new opentelemetry module to separate repository

@karstenkoehler karstenkoehler force-pushed the opentelemetry-migration branch from 3e645a2 to 1ca1f56 Compare October 9, 2023 09:18
@karstenkoehler karstenkoehler changed the title Migration from Opencensus to Opentelemetry feat(opentelemetry): migrate from opencensus to opentelemetry Oct 9, 2023
@karstenkoehler karstenkoehler force-pushed the opentelemetry-migration branch from 1ca1f56 to df3b13d Compare November 29, 2023 10:02
@karstenkoehler
Copy link
Contributor

OpenTelemetry module now has its own repository: https://github.com/i-love-flamingo/opentelemetry

We can not merge this PR right now, because it contains breaking changes. With all the traces and metrics moved to the OpenTelemetry API, they are no longer exposed for the opencensus module. So we have to keep this PR around, until we decide to go for a flamingo v4 that accepts breaking changes.

I created another PR to mark the opencensus module as deprecated, see #364

@karstenkoehler karstenkoehler changed the title feat(opentelemetry): migrate from opencensus to opentelemetry feat!(opentelemetry): migrate from opencensus to opentelemetry Nov 29, 2023
@karstenkoehler karstenkoehler added this to the v4 milestone Nov 29, 2023
@tessig tessig added blocked and removed Hackathon labels Jul 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Replace Opencensus with OpenTelemetry
4 participants