Linkerd 2.10 系列

Linkerd 2.10 中文手册持续修正更新中:

所有控制平面组件(Grafana 除外)

都使用 Go 的 pprof

通过路径 /debug/pprof 暴露运行时分析信息。

您可以使用 go tool pprof 使用提供的数据以生成多种格式(PDF、DOT、PNG 等)的输出。

提供了以下诊断(/debug/pprof 提供了带链接的摘要):

  • allocs: 过去所有内存分配的样本
  • block: 导致同步原语阻塞的堆栈跟踪
  • cmdline: 当前程序的命令行调用
  • goroutine: 所有当前 goroutine 的堆栈跟踪
  • heap: 活动对象的内存分配示例。您可以指定 gc GET 参数以在获取堆样本之前运行 GC
  • mutex: 竞争互斥锁持有者的堆栈跟踪
  • profile: CPU 配置文件。您可以在 seconds GET 参数中指定持续时间。

    获取配置文件后,使用 go tool pprof 命令调查配置文件。
  • threadcreate: 导致创建新 OS 线程的堆栈跟踪
  • trace: 当前程序的执行轨迹。您可以在 seconds GET 参数中指定持续时间。

    获取跟踪文件后,使用 go tool trace 命令调查跟踪。

示例用法

此数据通过 admin-http 端口提供。要找到此端口,

您可以检查 pod 的 yaml,或者对 identity pod,发出如下命令:

kubectl -n linkerd get po \
$(kubectl -n linkerd get pod -l linkerd.io/control-plane-component=identity \
-o jsonpath='{.items[0].metadata.name}') \
-o=jsonpath='{.spec.containers[*].ports[?(@.name=="admin-http")].containerPort}'

然后使用 kubectl port-forward 命令从集群外部访问该端口(在本例中,端口为 9990):

kubectl -n linkerd port-forward \
$(kubectl -n linkerd get pod -l linkerd.io/control-plane-component=identity \
-o jsonpath='{.items[0].metadata.name}') \
9990

现在可以使用 go tool 来检查这些数据。

例如,在 PDF 文件中生成描述内存分配的图表:

go tool pprof -seconds 5 -pdf http://localhost:9990/debug/pprof/allocs
我是为少
微信:uuhells123
公众号:黑客下午茶
加我微信(互相学习交流),关注公众号(获取更多学习资料~)

最新文章

  1. Mysql 服务无法启动 1067
  2. fsn文件解析(C#)
  3. JSP网站开发基础总结《一》
  4. c++11 正则表达式基本使用
  5. 用一条UPDATE语句交换两列的值
  6. 判断滚动条到底部的JS代码
  7. cpppp
  8. textView富文本点击事件
  9. jquery $.post 返回json数据
  10. 一步一步学android之布局管理器——LinearLayout
  11. Android菜鸟的成长笔记(13)——异步任务(Async Task)
  12. Log in Spring
  13. php的sendmail发件人邮箱设定
  14. yii框架中关于控制器中filter过滤器和外部action的使用
  15. birt-j脚本调试 & 动态sql的实现
  16. GCD(欧拉函数)
  17. wamp server环境下mysql数据库的密码为什么修改不了?
  18. Vs2015 当前不会命中断点,没有与此关联的可执行代码
  19. Django学习笔记(4)——Django连接数据库
  20. java求解第N个素数(质数)

热门文章

  1. ssh保持长连接的方式
  2. MySQL 8.x 新版本特性赶紧学!!Linux 服务器上安装 MySQL 8.x
  3. C++第四十一篇 -- 安装成功的第一个驱动文件
  4. SQL_之 递归_START WITH id ='102' CONNECT BY PRIOR pid=id
  5. mysql查询拥有某个字段的所有表
  6. SpringBoot-表单验证-统一异常处理-自定义验证信息源
  7. 题解AGC004C
  8. 在vmware虚拟机下的Window2003服务器下安装IIS服务详细教程——超级详细(解决关于:800a0bb9的解决办法)
  9. Java面向对象04——构造器
  10. 开源爆款,阿里P7Android技术笔记,理论与实战齐飞,限时开放下载!