深度解密基于 eBPF 的 Kubernetes 问题排查全景图
火焰图来看。如果代码没有问题,那么可能执行代码的环境是有问题的,这时可以查看系统的 CPU/Memory 等资源是否有问题来做进一步排查。下面举个 SQL 慢查询的例子(如下图)。在这个例子中网关调用 product 服务,product 服务依赖了 MySQL 服务,逐步查看链路上的黄金指标,最终发现 product 执行了一条特别复杂的 SQL,关联了多张表,导致 MySQL 服务响应慢。MySQL 协议基于 TCP 之上的,我们的 eBPF 探针识别到 MySQL 协议后,组装、还原了 MySQL 协议内容,任何语言执行的 SQL 语句都能采集到。第二个例子是应用本身慢的例子,这时候自然会问具体哪一步、哪个函数造成了慢,ARMS 应用监控支持的火焰图通过对 CPU 耗时定期采样(如...阅读全文