sofa-tracer icon indicating copy to clipboard operation
sofa-tracer copied to clipboard

redis-trace

Open yangzhongj opened this issue 5 years ago • 8 comments

redis-trace

sofa对于redis-trace实现在未来是怎么做的,如何app---》redis-proxy--》redis 串联在一起。类似的还有mysql-proxy等

Your scenes

describe your use scenes (why need this feature)

Your advice

describe the advice or solution you'd like

Environment

  • SOFATracer version:
  • JVM version (e.g. java -version):
  • OS version (e.g. uname -a):
  • Maven version:
  • IDE version:

yangzhongj avatar Feb 12 '19 03:02 yangzhongj

@yangzhongj SOFATracer 组件埋点是基于拦截或者代理来实现的,对于 redis 或者 mysql ,基于 SOFATracer 本身API 的埋点或者基于Opentracing API 的埋点实现也是基于上述基本思路。

glmapper avatar Feb 13 '19 01:02 glmapper

@yangzhongj 问下你们是在用什么样的 redis-proxy?

khotyn avatar Feb 13 '19 02:02 khotyn

类似codis的java版redis-proxy, redis-proxy都是通过redis协议的请求。我理解traceId应该在传递在协议层做的。但是redis协议没法是无法改变的。

yangzhongj avatar Feb 13 '19 03:02 yangzhongj

要是方便加下weixin : r93508

yangzhongj avatar Feb 13 '19 03:02 yangzhongj

在proxy端无法获取traceid,好像无法和真实的后端数据源进行关联。

yangzhongj avatar Feb 13 '19 03:02 yangzhongj

类似codis的java版redis-proxy, redis-proxy 都是通过 redis 协议的请求。我理解traceId应该在传递在协议层做的。但是redis协议没法是无法改变的。

是开源的产品吗?可以提供一些具体的信息,方便我们调研然后支持。另外我们后面会逐渐向 opentracing-contrib 靠近,opentracing-contrib 已经有贡献redis 客户端的埋点实现,可以参考。如果你们对此有需求,我们会尽快推进对此的支持。

glmapper avatar Feb 13 '19 04:02 glmapper

@glmapper 我理解 @yangzhongj 说的 redis-proxy 就是类似于 https://github.com/CodisLabs/codis 这样在应用和 Redis Server 之间的 Proxy。这个要做的确需要看 Redis 自身的协议上是否有扩展能力,可以携带 TraceId,RpcId 过去,也要看 Codis 本身是否有扩展能力。

khotyn avatar Feb 13 '19 06:02 khotyn

redis协议不容易不支持。假设要支持相关命令改动也是很大的。其实mysql-proxy 也存在这个问题

yangzhongj avatar Feb 13 '19 07:02 yangzhongj