tracecompass+lttng 分析系统性能问题

发布时间 2023-04-25 21:41:47作者: 荣锋亮

主要是一个测试学习,对于基于babeltrace 的我以前写过简单的使用,以下主要是基于tracecompass 进行可视化分析

安装lttng

可以直接使用centos 系统自带的,但是推荐使用EfficiOS 源

wget -P /etc/yum.repos.d/ https://packages.efficios.com/repo.files/EfficiOS-RHEL7-x86-64.repo
rpmkeys --import https://packages.efficios.com/rhel/repo.key
yum install kmod-lttng-modules lttng-tools babeltrace lttng-ust 

使用

进行内核态trace 信息获取

  • 创建session
lttng create my-kernel-session --output=/tmp/my-kernel-trace 

效果

  • 查看内核态tracepoint
 
lttng list --kernel

 

 

  • 配置record规则
lttng enable-event --kernel --all
  • 启动会话
lttng start
  • 进行一些压测
    可以进行io 或者其他操作
  • 停止录制
 
lttng destroy
  • 信息查看

 

  • 通过tracecompass 查看信息

 

说明

基于perf 也是一个不错的选择,但是一般发行版的perf 没有构建ctf 转换,同时构建perf 有点费事。。。,基于ftrace 也是不错的,比如使用trace-cmd 工具,总之方法是很多的,就有lttng 是一个不错的选择,对于性能问题分析是一个不错的选择,结合tracecompass可以节省我们不少时间,同时有一个devrocks 的商业工具,可以直接基于ssh 连接虚拟机,然后通过界面管理lttng 很方便

参考资料

https://lttng.org/
https://github.com/KDAB/hotspot
https://archive.eclipse.org/tracecompass.incubator/doc/org.eclipse.tracecompass.incubator.ftrace.doc.user/User-Guide.html
https://www.brendangregg.com/perf.html
https://github.com/brendangregg/perf-tools
https://archive.eclipse.org/tracecompass/doc/stable/org.eclipse.tracecompass.doc.user/Installation.html#LTTng_Tracer