deepflowio / deepflow

eBPF Observability - Distributed Tracing and Profiling
https://deepflow.io
Apache License 2.0
2.88k stars 319 forks source link

[FR] 关于rabbitmq的correlationId关联traceID的问题 #8351

Closed qingwadefox closed 2 days ago

qingwadefox commented 4 days ago

Search before asking

Description

我们目前在研究mq的调用链想请教几个问题 1.是否一定需要在代码中设置correlationId才能traceid 2.因为很多是遗留代码并不会为追踪连做改造,能否通过不修改代码的方法实现mq的traceid 3.我设置了correlationId但是在查询界面上上没有显示traceId这个是什么原因 image image image 请问下这个是否有具体的使用限制或者使用方法吗?

Use case

No response

Related issues

No response

Are you willing to submit a PR?

Code of Conduct

Fancyki1 commented 4 days ago

@qingwadefox 我最近也在看这部分,但是还没来得及验证,请确认一下已下内容 1.看官方是v6.5,v6.6才支持的功能,确认一下你用的什么版本 2.amqp的correlationId在官方文档上链路追踪的用法是否用对 7295947679446 3.kafka对应的字段是correlationId,https://www.deepflow.io/docs/zh/features/l7-protocols/mq/ 确认完后可以同步一下结果哈

qingwadefox commented 3 days ago

@qingwadefox 我最近也在看这部分,但是还没来得及验证,请确认一下已下内容 1.看官方是v6.5,v6.6才支持的功能,确认一下你用的什么版本 2.amqp的correlationId在官方文档上链路追踪的用法是否用对 7295947679446 3.kafka对应的字段是correlationId,https://www.deepflow.io/docs/zh/features/l7-protocols/mq/ 确认完后可以同步一下结果哈

版本用的是6.5的 correlationId 我用的是java编程 image rabbitmq官方的api 在测试过程中我生产者放入的 correlationId 在消费者消费队列的时候同样的已经获取到 correlationId 我认为 correlationId 的使用应该没问题 就是不知道deepflow什么机制能过够获取到correlationId 这个对于整体业务链的追踪调用感觉还是蛮重要的

Fancyki1 commented 3 days ago

@qingwadefox 你不能自己认为amqp支持correlationId就用这个,要看deepflow是否支持和amqp协议解析使用了correlationId做关联,我看文档目前只有kafka是用correlationId这个字段实现svc<->mq的关联,deepflow文档中amqp是在content header中用trace关联

PengBin9 commented 2 days ago
  1. 目前 correlationId 在 deepflow-agent 中没有解析,和 trace id 也没有关联;
  2. 目前 v6.5 版本已经支持解析 trace id,具体格式包含 traceparent、sw8、sw6 和 sw3;;
  3. deepflow-agent 中没有解析 correlationId,可以通过此处配置更新 agent-group-config 解析对应的全局id;