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

Message ID 20230628200141.2739587-1-namhyung@kernel.org
Headers
Series perf lock contention: Add CSV style output support (v2) |

Message

Namhyung Kim June 28, 2023, 8:01 p.m. UTC
  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(-)
  

Comments

Namhyung Kim July 2, 2023, 1:02 a.m. UTC | #1
On Wed, Jun 28, 2023 at 1:01 PM Namhyung Kim <namhyung@kernel.org> wrote:
>
> 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

Applied to perf-tools-next, thanks!