After converting perf.data to CTF, we lost pid-tid-comm mapping. Which makes inconvience. For example, in perf script output we know which process issue an event like this:
compiz 19361 [001] 3275709.313929: raw_syscalls:sys_exit: NR 7 = 0 After converting to CTF, we only get this: [3275709.313929985] (+0.110646118) raw_syscalls:sys_exit: { cpu_id = 1 }, { perf_ip = 0xFFFFFFFF8107B2E8, perf_tid = 19361, perf_pid = 19361, perf_id = 18920, perf_period = 1, common_type = 16, common_flags = 0, common_preempt_count = 1, common_pid = 19361, id = 7, ret = 0 } Currently, if we want to find the name and parent of a process, we have to collect 'sched:sched_switch' event. This patch set add a '--all' option to 'perf convert', converts comm, fork and exit events to CTF output. CTF user now can track the mapping by their own. Wang Nan (6): perf ctf: Add value_set_string() helper perf ctf: Pass convert options through structure perf ctf: Add non_sample option perf ctf: Generate comm event to CTF output perf ctf: Add '--all' option for 'perf data convert' perf ctf: Generate fork and exit events to CTF output tools/perf/Documentation/perf-data.txt | 5 +- tools/perf/builtin-data.c | 11 +- tools/perf/util/data-convert-bt.c | 185 ++++++++++++++++++++++++++++++++- tools/perf/util/data-convert-bt.h | 4 +- tools/perf/util/data-convert.h | 9 ++ 5 files changed, 207 insertions(+), 7 deletions(-) create mode 100644 tools/perf/util/data-convert.h -- 1.8.3.4