(1)linux下文本操作以及log相关内容可视化
首先获取日志文件,然后使用linux的awk工具抽取包含某字段的整行日志并保存到文件
awk '{if($0~"key_value") print}' xxx.log > a.txt
这时候,xxx.log文件中只会包含某些特定的行,但是其实你只需要行里面的某一列(比如打印的函数耗时),注意行号是从1开始的。
awk '{print $列号}' xxx.log > timestamp.txt
此时就可以使用kst2工具将里面的内容可视化了(注意kst的列号也是从1开始的)。
kst2 timestamp.txt -y 列号
(2)录屏工具
在跑slam的长数据集的时候,需要花比较长的时间来看ros的可视化,可以采用先录屏,再加速播放的方法提高效率。
安装Kazam的命令如下
sudo apt-get install kazam
Kazam录制视频的方法很简单,这里就不介绍了。
还有一个稍微功能复杂点的工具SimpleScreenRecorder,本人用下来更推荐
使用播放器,如sm-player对录制的视频进行加速回放,或者逐帧查看。
(3)valgrind内存分析
使用valgrind检查内存占用
valgrind -tool=massif ./exe #可执行程序的Args...
使用massif-visualizer对内存分析的结果进行可视化。首先启动massif-visualizer,然后打开log文件就可以了。
massif-visualizer的安装命令如下:
sudo apt-get install massif-visualizer
(4)valgrind代码耗时分析
可以检查不同函数对cpu资源的使用情况
valgrind -tool=callgrind ./exe #可执行程序的Args..
生成的.out文件用kcachegrind可视化查看
To be continue ...