krakend / krakend-ce

KrakenD Community Edition: High-performance, stateless, declarative, API Gateway written in Go.

Home Page:https://www.krakend.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Really old dd-trace-go.v1 dependency requirement

ALX99 opened this issue · comments

Environment info:

  • KrakenD version: 2.5.0

Describe what are you trying to do:

Hello. I am trying to set up datadog profiling for our KrakenD plugins. Because of this I am trying to import the gopkg.in/DataDog/dd-trace-go.v1 library, however I was surprised to find out that KrakenD depends on a really old version (over 3 years old) of this library:

10 incompatibility(ies) found...
...
gopkg.in/DataDog/dd-trace-go.v1
        have: v1.57.0
        want: v1.22.0

Investigating further it seems the dependency chain is as follows:
KrakenD -> krakend/krakend-opencensus -> DataDog/opencensus-go-exporter-datadog -> DataDog/dd-trace-go.

opencensus-go-exporter-datadog has been deprecated because OpenCensus and OpenTracing have merged into OpenTelemetry, and thus no longer receives any updates.

So I was wondering if there is any plan to also deprecate and remove krakend/krakend-opencensus due to the OpenCensus deprecation, and instead support OpenTelemetry?

Profiling our plugins is something we really would like to do, so being able to use dd-trace-go.v1 would be really great, but due to this dependency lock on a very old version of the library means it's something that we're currently not able to do.

Your configuration file:
N/A

Configuration check output:
N/A

N/A

Commands used:

N/A

Logs:
Logs you saw in the console and debugging information

Additional comments:

Hi @ALX99 ,

Yes there is an OTEL repository you can watch: https://github.com/krakend/krakend-otel

All the work is happening in branches

Hello @alombarte,
That is great news, thank you for letting me know!

Does this mean that the krakend/krakend-opencensus adapter will be dropped and thus the dependency chain it carries will be "unlocked"? Do you have any ETA on this?

Best regards

We still haven't planned how/when to sunset opencensus, but once Otel is in place, we will no longer update opencensus, and we will mark it as deprecated. We might update the libraries to the latest version before this happens.

The timeline for Open Telemetry is KrakenD 2.6. We release minor versions about 4 times per year, so maybe february/march could be an ETA, but do not take this timeline seriously. I still haven't planned for it.