Open kill51216 opened 3 months ago
Hello, have you been unable to retrieve the complete SQL after several attempts? If the issue persists despite multiple attempts, please visit the DeepFlow System
and check the DeepFlow Alert Analysis
Dashboard to see if any data is available.
This dashboard can check whether there is packet loss. If there is data, we will first solve the packet loss problem and then check again whether we can capture all SQL
是的,多次尝试后无法检索到完整的SQL,DeepFlow Alert Analysis里内数据都是No data. 日志中有debug信息有Packet类型的打印。
这个问题会和java 程序使用的是多线程并发&jdbc连接池操作mysql有关么?
@kill51216
- 主要是想确认一下为什么会有sql语句在调用链路时缺失,是否可以通过配置改善(比如是否哪里的超时时间?) 这个问题会和java 程序使用的是多线程并发&jdbc连接池操作mysql有关么?
是的,程序内多线程可见这个文档 的 #当前限制 中第一项说明,看下是否类似此场景(接收请求、向下游发送请求位于不同的线程) 可以看下mysql 文档,通过注释实现关联
- 另外通过链路追踪api调用使用数据库中的(syscall_trace_id_response,syscall_tracd_id_request,req_tcp_seq)进行关联是否还有其他方式?
分具体情况,如果是过 nginx 类网关可开启 x-request-id 能力串联网关出入 如果使用了 otel 一类的 apm 插桩可使用 trace_id 进行关联
- 观察发现syscall_tracd_id_request和response有些时候是一个完全相等的id是什么情况? syscall_trace_id_request和response是完全呈链式(a-b,b-c)还是会出现(a-b, (b+1)-c)这样的情况么?
syscall_tracd_id_request/response 完全相等一般发生在【请求终点】,比如一个 mysql 服务接收到请求之后,立刻在同线程内原地处理完毕并返回响应,这种时候就是一致的。 syscall_tracd_id_request/response 在同一应用内呈链式,在不同应用间无关系,形如: 请求链:(|a, a+1| -> |x, x+1| -> |k|) 响应链:(|u+1, u| <- |p+1, p| <- |k|)
Search before asking
DeepFlow Component
Agent
What you expected to happen
当我运行Agent采集一个api接口到mysql的所有执行过程时,我通过dashboard无法获取到完整的调用链信息。 api仅关联上了1-2个sql,而实际调用过程还是包含好几个SQL的(例如:SELECT id, minip, maxip, continent, areacode,比较重要就没有关联上。 我的应用程序是一个java的程序运行在docker里面。 然后我就开启debug,查看日志中的信息。
我也大致看了一遍代码,相关代码应该是parser.rs 中MetaAppProto -- meta_packet.rs -- socket.c 内。 详细agent日志信息: [Uploading agent_cu.log…]()
How to reproduce
采集JAVA服务的业务程序,通过页面查看或者数据库查看。
DeepFlow version
docker-compose部署的6.5.7
Name: deepflow-ctl community edition Branch: v6.5.7 CommitID: 9e76a00361a49647ed80419c47f714e27cc06254 RevCount: 10379 Compiler: go version go1.20.14 linux/amd64 CompileTime: 2024-05-24 02:26:56
DeepFlow agent list
root@node949:~# deepflow-ctl agent list 2024/06/03 08:39:06 open /run/secrets/kubernetes.io/serviceaccount/ca.crt: no such file or directory ID NAME TYPE CTRL_IP CTRL_MAC STATE GROUP EXCEPTIONS REVISION UPGRADE_REVISION
4 ubuntu-W1 CHOST_VM 192.168.8.157 92:12:d2:62:87:15 NORMAL legacy-host
Kubernetes CNI
No response
Operation-System/Kernel version
root@node949:~# awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release "Ubuntu 22.04.4 LTS"
Anything else
No response
Are you willing to submit a PR?
Code of Conduct