[PATCHSET 0/4] perf lock contention: Add CSV style output support (v2)

From: Namhyung Kim
Date: Wed Jun 28 2023 - 16:01:55 EST


Hello,

This is v2 of perf lock contention CSV output change.
I've added --output option and a test case according to Ian's feedback.

Sometimes we want to process the output by external programs. Let's add
the -x option to specify the field separator like perf stat.

$ sudo ./perf lock con -ab -x, sleep 1
# output: contended, total wait, max wait, avg wait, type, caller
19, 194232, 21415, 10222, spinlock, process_one_work+0x1f0
15, 162748, 23843, 10849, rwsem:R, do_user_addr_fault+0x40e
4, 86740, 23415, 21685, rwlock:R, ep_poll_callback+0x2d
1, 84281, 84281, 84281, mutex, iwl_mvm_async_handlers_wk+0x135
8, 67608, 27404, 8451, spinlock, __queue_work+0x174
3, 58616, 31125, 19538, rwsem:W, do_mprotect_pkey+0xff
3, 52953, 21172, 17651, rwlock:W, do_epoll_wait+0x248
2, 30324, 19704, 15162, rwsem:R, do_madvise+0x3ad
1, 24619, 24619, 24619, spinlock, rcu_core+0xd4

The first line is a comment that shows the output format. Each line is
separated by the given string ("," in this case). The time is printed
in nsec without the unit so that it can be parsed easily.

The code is available at 'perf/lock-con-csv-v2' branch in

git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung


Namhyung Kim (4):
perf lock: Remove stale comments
perf lock contention: Add -x option for CSV style output
perf lock contention: Add --output option
perf test: Test perf lock contention CSV output

tools/perf/Documentation/perf-lock.txt | 5 +
tools/perf/builtin-lock.c | 383 ++++++++++++++++------
tools/perf/tests/shell/lock_contention.sh | 36 ++
3 files changed, 328 insertions(+), 96 deletions(-)

--
2.41.0.255.g8b1d071c50-goog