我正在使用命令perf record从Linux记录性能计数器。
我想将结果perf.data
用作其他编程应用程序的输入。请问您知道如何读取和解析perf.data
中的数据吗?是否有一种方法可以将其转换为.text
文件或.csv
?
我正在使用命令perf record从Linux记录性能计数器。
我想将结果perf.data
用作其他编程应用程序的输入。请问您知道如何读取和解析perf.data
中的数据吗?是否有一种方法可以将其转换为.text
文件或.csv
?
在Linux工具的perf
工具中,有一个内置的perf.data
解析器和打印机,可以使用子命令“script”。
要转换perf.data
文件
perf script > perf.data.txt
要将perf record的输出转换为其他文件(perf record -o filename.data
),请使用-i
选项:
perf script -i filename.data > filename.data.txt
perf script
是在 man perf-script
中记录下来的,它可以在线查阅,网址为http://man7.org/linux/man-pages/man1/perf-script.1.html
perf-script - Read perf.data (created by perf record) and display
trace output
This command reads the input file and displays the trace recorded.
'perf script' to see a detailed trace of the workload that was
recorded.
perf data convert --to-json
命令已于四月份发布。
perf data convert --to-json
命令,是否需要使用LIBBABELTRACE=1
编译Linux内核呢? - Noahdefine command{
command_name store-service-perfdata
command_line /bin/echo -e "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$" >> /usr/local/nagios/var/service-perfdata.dat
}
perf
命令行工具(内核的perf_events
子系统),用于应用程序分析,而不是用于Nagios集成或Nagios性能数据https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/perfdata.html其中考虑了ping的性能。 - osgx
perf script
的输出是文本,阅读起来很容易,但使用python/perl/awk或其他脚本解析它可能并不容易。 - osgxperf script
具体允许使用 Python 和 Perl 脚本处理 perf 事件。请参阅man perf-script-python
。 - Zulan