-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Move tracing to OpenTelemetry #1972
Comments
Would love to see this. And we’ll be in line with other projects moving in this direction eg prom |
Turns out, I'm too busy to spare time for this one. |
@bwplotka i am happy to work on this. Update: So there are two ways to move:
BTW, OpenTelemetry is still under active development, some features in OpenTracing may be not supported i think. |
Awesome! Thanks for taking a look. My thoughts:
This is kind of worrying state of Go right now. Maybe it's worth to put a friendly issue on https://github.com/open-telemetry/opentelemetry-go github with a question for current dates/blockers? |
I file a issue about Elastic/Lightstep support, i would try the bridge. |
Given opencencus and opentracing are both mature libraries with LTS guarantees, would it make more sense to pick one of those for now? I've held off using opentelemetry while it's in alpha to avoid needless changes, and under the expectation that opencencus/opentracing -> opentelemetry will eventually become a well worn migration path. |
We use opentracing right now, but it does not define actual RPC protocol, only client API. So we are forced to maintain client code against different tracing backends ourselves. Something that we would like to avoid |
As far as I know, OpenTelemetry has a fairly stable API for tracing. |
Yep, here is the roadmap for opentelemetry, maybe we can wait for the 1.0 version of golang based on feedback. |
This issue/PR has been automatically marked as stale because it has not had recent activity. Please comment on status otherwise the issue will be closed in a week. Thank you for your contributions. |
Still todo.
…On Sun, 8 Mar 2020 at 04:50, stale[bot] ***@***.***> wrote:
This issue/PR has been automatically marked as stale because it has not
had recent activity. Please comment on status otherwise the issue will be
closed in a week. Thank you for your contributions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1972?email_source=notifications&email_token=ABVA3O5XQY5U37I2VTIK5LDRGMP2JA5CNFSM4KEXQIRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOEMPOY#issuecomment-596166587>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABVA3O7JVQDAZIW6JIUOVKDRGMP2JANCNFSM4KEXQIRA>
.
|
This issue/PR has been automatically marked as stale because it has not had recent activity. Please comment on status otherwise the issue will be closed in a week. Thank you for your contributions. |
We still want this. |
Hello 👋 Looks like there was no activity on this issue for last 30 days. |
Hello 👋 Looks like there was no activity on this issue for last 30 days. |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
Closing for now as promised, let us know if you need this to be reopened! 🤗 |
On it, but missing Otel API -> opentracing tracer/exporters support that will allow us to use our custom exporter to Elastic APM/lightstep etc... .This is required to make sure we don't break compatibility of existing Tracing integrations when moving to Otel lib ): |
I had a quick look and it seems like the configuration should be translatable relatively good to ensure smooth transition from OpenTracing to OpenTelemetry (even if not completely 1:1). I think that would make more sense than having a 'translating' exporter (that would necessitate we still rely on OpenTracing packages, which I think we want to avoid, since the expectation is these will be deprecated). To me it seems that:
I personally would be leaning towards option b). I'm wondering how many Thanos users are actually using these exporters. Since they are proprietary, I would expect the respective commercial providers to contribute the code and maintain it instead of community having to use resources to do that. Otherwise it makes more sense to have an OTLP exporter (which would be usable with any provider accepting it, seeing as it might become the standard and which is also accepted by the actual OTEL collector). |
Nice, thanks for the investigation. Let's summarize our options:
So using existing configuration and translate into new provider code available in Otel packages. Assuming it's possible, (I don't think it's trivial due to different sampling techniques), we either can do this while sticking to (a1 option) OpenTracing instrumentation for now, OR replace it with Otel (a2 option) which will require us to switch all exporters at once.. which is not fun. In a1 option, we could try to translate each provider one by one and when all are using Otel we can switch instrumentation to Otel too. That would make some sense.
We cannot do this if we also replace our instrumentation to Otel from OpenTracing because there is no shim for OpenTracing to use Otel exporters. But this is fine if we would do similar to option Overall, I think it's nice you looked at it excluding instrumentation because this kind of tells us that replacing the OpenTracing instrumentation part should be postponed until we switch all providers. Technically I would stick to |
cc Cortex and Loki devs since they might laverage our tracing clients. Are you ok with option |
I took a quick look at the discussion and, as far as I can see, option |
I'm posting to provide updates on the progress here. I started to migrate the exporters:
I'll also use this comment to track the progress below:
Next step would be adding OTLP and once all necessary work to add Jaeger features on OTEL side is done, that will also be migrated. |
It would great if we can start with |
Sorry for the delay on this @yeya24, I updated my related PR and commented there as well. I believe that PR should give us a common set of utilities to bridge OpenTelemetry exporters while we keep using OpenTracing instrumentation, for now. So I believe we can work on the other exporters independently once those bridging utilities land, as you say. |
So to move this forward again, the Google Cloud (Stackdriver) provider has now been move (#4838) and we should have all the code necessary to support move for other providers as well, including adding OTLP exporter. |
FYI: I played with much simpler API for own use https://github.com/bwplotka/tracing-go (it using Otel underneath) |
ooOOooh! |
Hello 👋 Looks like there was no activity on this issue for the last two months. |
Looks like a PR for this issue was merged some time ago. When can we expect a new release with it? |
It would be nice to reuse ready libraries then invent and maintain our own (:
AC:
The text was updated successfully, but these errors were encountered: