-
Notifications
You must be signed in to change notification settings - Fork 346
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
[BUG] “Distributed Tracing - Cloud” 这个grafana视图,无法生成火焰图 #8378
Comments
@yujianweilai 先看下 deepflow-app 的镜像版本(镜像 tag 即可) |
|
@yujianweilai ok,可以更新到 latest 看看,在下面这个 commit 里修了可能有环的问题,可以看看是否已修复 |
@taloric 好的,谢谢。我先更新一下看看。可能需要观察一下,这个bug不是稳定复现的。 |
@taloric |
@yujianweilai 这里可以确认下是否左右两边的数据都是 OTel?且有同一个 trace_id? |
@taloric 抱歉,刚才是我查询的问题,我选择了一些异步的业务进行查询,导致火焰图比较分散。但是我有个疑问,为何一次链路调用,时间跨度能有169s?我们的业务系统不应该有这么大的延时。如下图: |
@yujianweilai 可以看看左下角的缩略图,粗看之下应该是从最初到最后的时间跨度有169s,此类情况可看下是否也是异步,一般而言:如果整个链路都有同一个 trace_id,他们一定会渲染在一张火焰图上 ,如果发生了异步使得【正常业务已经结束】、【异步任务隔一段时间后才被调度,但同样会产生 trace_id】,那他们可能就会出现这种相隔很远但在一张图上的现象。 |
@taloric 懂了,那应该是您分析的这个原因。 |
@yujianweilai 此类情况一般而言原因是这样的: 所以,解决这个问题只需要让空行上下有可用的关联关系即可。可以试试这样: 另外,如果 gateway 可以修改为单线程模式 之类的模式,也可以使得空行下的 A Span 上下的两个 S span(server) 与 S span (client) 的 syscall_trace_id 有关联,也可关联上; |
@taloric 我们这套程序的插装情况是这样的: |
@yujianweilai 这里 related_data 里每一列数据点击会闪烁显示关联的 span,可以这样操作:1. 先点击空行前的一个 S span ,2. 点击右下角的 related_data,找到在空行后闪烁的 span,看下它俩的关联信息 按我理解,这里一般是 syscall_trace_id 相等或启用了 x_request_id 注入,所以才会关联在一张图里,可以看下是否如此 |
@taloric 非常感谢您的回复。安装您的建议,我做了查询,为方便理解,我录制了短视频,如下: |
总结一下沟通的结论:
|
@taloric 研发老师,关于上午我们讨论的mysql服务支持traceid注释的问题,我这边发现,有的服务,在生成mysql查询时,可以关联到mysql查询时网卡的转换信息(TID=089cfa2ac75c4a2b960a36c45fb3c048.128.17302791000245237),如下图: 但是有的链路,就关联不到mysql数据库网卡信息(TID=ef067c1423364f508b0f41d9ee764f86.111.17302785932343331),如下: 这是什么原因? |
@taloric |
@yujianweilai 这里先看下 deepflow-app pod 日志 |
@taloric |
@taloric |
@yujianweilai 不用看 ck ,是一个 bug |
@taloric 这个问题 您再给看看 谢谢 |
@yujianweilai 就在上面提及的 PR 里修复了,用 deepflow-app 最新镜像更新下即可 |
@taloric v6.5版本能否同步修复一下,deepflowio/deepflow-app#301 |
@Fancyki1 done,可通过 v6.5 这个 tag 在 v6.5 获取到此修改对应的镜像 |
@taloric 总的来说,针对traceid=ef067c1423364f508b0f41d9ee764f86.125.17307081665506201 目前我这里看到的火焰图,确实是断行分散的,如果有需要,我们可以腾讯会议一下。 |
研发老师: 另外,截图中有一个cx-im-processor服务,他的start_time是10:30:45,其他span都是10:30:47开始,导致这条span在绘制时,明显长于其他span |
@yujianweilai 在图里这个场景里,我看都是独立的 kafka 事件,互相异步发生,所以没有关联关系(也就是上下不构成父子关系),逻辑上看应该是对的 最后这个 10:30:45 的问题,这是一个 AppSpan,也就是它由 sdk 创建并发出,那它的时间其实只取决于 sdk 创建 span 时获取到的时间(也就是应用所在主机的时间),可能可以排查下是否这个主机的时间会早些 |
Search before asking
DeepFlow Component
Server
What you expected to happen
通过traceid,在“Distributed Tracing - Cloud” 这个grafana视图查询出链路追踪数据后,点击traceid,火焰图经过长时间的等待后,无法生成,如下图:
查询火焰图的“inspect -> data”,没有数据:
How to reproduce
No response
DeepFlow version
[root@pretycx-master1 ~]# kubectl exec -it -n deepflow deploy/deepflow-server -- deepflow-server -v
Name: deepflow-server community edition
Branch: v6.6.6
CommitID: 36ec980
RevCount: 11234
Compiler: go version go1.21.13 linux/amd64
CompileTime: 2024-10-25 09:20:12
[root@pretycx-master1 ~]# kubectl exec -it -n deepflow ds/deepflow-agent -- deepflow-agent -v
11227-d5e26dd2618cf3dbac2c10594d06d75aab3a38e1
Name: deepflow-agent community edition
Branch: v6.6.6
CommitId: d5e26dd
RevCount: 11227
Compiler: rustc 1.77.1 (7cf61ebde 2024-03-27)
CompileTime: 2024-10-11 07:20:14
[root@pretycx-master1 ~]#
DeepFlow agent list
Kubernetes CNI
k8s 1.19.16
calico
Operation-System/Kernel version
[root@pretycx-master1 ~]# awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release
"CentOS Linux 7 (Core)"
[root@pretycx-master1 ~]# uname -r
3.10.0-1062.el7.x86_64
[root@pretycx-master1 ~]#
Anything else
No response
Are you willing to submit a PR?
Code of Conduct
The text was updated successfully, but these errors were encountered: