Reputation: 5555
I am recording a performance counters frm linux using the command perf record.
I want to use the result perf.data
as an input to other programming apps. Do you know how shall I read and parse the data in perf.data
? Is there a way to transform it to .text
file or .csv
?
Upvotes: 14
Views: 16630
Reputation: 1141
perf data convert --to-json
landed in April.
https://man7.org/linux/man-pages/man1/perf-data.1.html
Upvotes: 4
Reputation: 1141
The quipper
sub-project of https://github.com/google/perf_data_converter can parse perf.data
files.
Upvotes: 1
Reputation: 94225
There is builtin perf.data
parser and printer in perf
tool of linux tools with subcommand "script".
To convert perf.data
file
perf script > perf.data.txt
To convert output of perf record in other file (perf record -o filename.data
) use -i
option:
perf script -i filename.data > filename.data.txt
perf script
is documented at man perf-script
, available online at 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.
Upvotes: 7
Reputation: 3584
An example command definition that redirects service check performance data to a text file for later processing by another application is shown below:
define 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
}
Upvotes: -4