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

Support Redis instrumentation #69

Closed
qw2283345 opened this issue Oct 19, 2017 · 16 comments
Closed

Support Redis instrumentation #69

qw2283345 opened this issue Oct 19, 2017 · 16 comments

Comments

@qw2283345
Copy link

When can support redis

@pavolloffay
Copy link
Contributor

@qw2283345 hi,

what API are you using to access Redis storage? RedisTemplate or something else?

@qw2283345
Copy link
Author

qw2283345 commented Oct 19, 2017

@pavolloffay thanks for replay, do you have any plan to make OpenTracing to support redis?

@pavolloffay
Copy link
Contributor

At the moment we don't have any specific plans for redis instrumentation. If anybody is interested please comment or 👍 on this issue.

@isaachier
Copy link

I am wondering if this is feasible without instrumenting a third party client and/or the Redis code itself. The only way that I can see of getting around that is potentially the pub/sub feature, but not sure how much sense that makes. If that isn't feasible, would it make sense to wrap the Redis networking code using opentracing-c? Just wondering how this third-party instrumentation usually works. @pavolloffay @rnburn @yurishkuro please let me know your thoughts here.

@yurishkuro
Copy link

@isaachier I think this issue is mostly about instrumenting client side. Afaik Redis has a fairly open and well documented wire protocol, so most clients can be written natively in the chosen language without relying on some low-level libraries. I think your suggestion of opentracing-c applies more on the server side. I don't have any insight how feasible it is (probably possible).

@isaachier
Copy link

isaachier commented Apr 3, 2018

I mean is it reasonable to instrument the server-side or would that mean maintaining a fork which may not be part of the OpenTracing mission?

@yurishkuro
Copy link

I think the only viable approach for instrumenting 3rd party products server-side is if they either support pluggable instrumentation (like Cassandra), or they are willing to integrate OpenTracing API directly (as couchbase or grafana). Maintaining a fork is certainly not a viable long term strategy.

@isaachier
Copy link

OK got it thanks.

@pavolloffay
Copy link
Contributor

This issue is related to the client side only. I haven't looked into this very closely but it seems we will have to instrument RedisTemplate and maybe also message receiver.

@pavolloffay
Copy link
Contributor

There is also https://github.com/opentracing-contrib/java-redis-client which could be perhaps used as the underlying instrumentation.

@isaachier
Copy link

Right I sort of hijacked this issue to refer to the server side. Having so many client side instrumentations seems more difficult than maintaining one redis server instrumentation.

@pavolloffay pavolloffay changed the title OpenTracing Instrumentation for redis? Support Redis instrumentation Apr 17, 2018
@ddcprg
Copy link

ddcprg commented Sep 17, 2018

Is anyone working on this already? I wouldn't mind taking a look since I need this feature

@pavolloffay
Copy link
Contributor

@ddcprg I am not aware of anybody. It would be great if you could have a look 👍

@ddcprg
Copy link

ddcprg commented Sep 18, 2018

I've managed to spend some time on this issue this evening. I'll try to push a PR tomorrow.

@pavolloffay
Copy link
Contributor

Done in #182

@ddcprg
Copy link

ddcprg commented Oct 31, 2018

thanks @pavolloffay

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants