[PATCH v2 0/4] perf script: Add script per-event-dump support

From: yuzhoujian
Date: Sun Sep 24 2017 - 07:13:00 EST


Introduce a new option to print trace output to files named by the
monitored events and update perf-script documentation accordingly.

Shown below is output of perf script command with the newly introduced
option.

$perf record -e cycles -e cs -ag -- sleep 10
$perf script --per-event-dump
$ls /
perf.data-script-dump-cycles.txt perf.data-script-dump-cs.txt

Without per-event-dump support, drawing flamegraphs for different events
is really hard. You can only monitor one event at a time for perf record.
Using this option, we can get the trace output files named by the monitored
events, and could draw flamegraphs according to the event's name.

yuzhoujian (4):
Add a new element for the struct perf_tool, and add the
--per-event-dump option for perf script
Add fp argument to print functions
Replace printf with fprintf for all print functions
Make all print functions receive the fp argument, and opens a dump
file in process_event.

changes in v2:
- remove the set of script.tool.per_event_dump variable.
- add the __maybe_unused attribute for the fp argument in the second patch.
- remove the fp_selection_helper function for setting the fp argument.
- split the original second patch(Makes all those related functions receive the FILE pointer) to two patches.
- modify the file name of per-event-dump to <ORIGINAL PERF DATA FILE NAME>-script-dump-<EVENT NAME>.txt

tools/perf/builtin-script.c | 452 ++++++++++++++++++++++++--------------------
tools/perf/util/tool.h | 1 +
2 files changed, 250 insertions(+), 203 deletions(-)

--
1.8.3.1