tools/perf/Documentation/perf-trace.txt | 4 + tools/perf/builtin-trace.c | 247 +++++++++++++++++++----- tools/perf/util/rb_resort.h | 146 -------------- 3 files changed, 203 insertions(+), 194 deletions(-) delete mode 100644 tools/perf/util/rb_resort.h
Hello,
I've realized that perf trace shows system call summary at the end for
each thread. But sometimes users want to see the global whole system
summary or statistics instead.
So I've added --summary-mode option like below:
$ sudo ./perf trace -as --summary-mode=total sleep 1
Summary of events:
total, 21580 events
syscall calls errors total min avg max stddev
(msec) (msec) (msec) (msec) (%)
--------------- -------- ------ -------- --------- --------- --------- ------
epoll_wait 1305 0 14716.712 0.000 11.277 551.529 8.87%
futex 1256 89 13331.197 0.000 10.614 733.722 15.49%
poll 669 0 6806.618 0.000 10.174 459.316 11.77%
ppoll 220 0 3968.797 0.000 18.040 516.775 25.35%
clock_nanosleep 1 0 1000.027 1000.027 1000.027 1000.027 0.00%
epoll_pwait 21 0 592.783 0.000 28.228 522.293 88.29%
nanosleep 16 0 60.515 0.000 3.782 10.123 33.33%
ioctl 510 0 4.284 0.001 0.008 0.182 8.84%
recvmsg 1434 775 3.497 0.001 0.002 0.174 6.37%
write 1393 0 2.854 0.001 0.002 0.017 1.79%
read 1063 100 2.236 0.000 0.002 0.083 5.11%
...
Also it changes internal data structure to hash table to track
statistics of syscalls. And removes the rb_resort code.
v3 changes)
* Add Acked-by from Howard
* Update commit messages (Ian)
v2 changes)
* Rebase to current perf-tools-next
* Fix some style issues (Howard)
* Rename to --summary-mode (Howard)
Thanks,
Namhyung
Namhyung Kim (4):
perf trace: Allocate syscall stats only if summary is on
perf trace: Convert syscall_stats to hashmap
perf tools: Get rid of now-unused rb_resort.h
perf trace: Add --summary-mode option
tools/perf/Documentation/perf-trace.txt | 4 +
tools/perf/builtin-trace.c | 247 +++++++++++++++++++-----
tools/perf/util/rb_resort.h | 146 --------------
3 files changed, 203 insertions(+), 194 deletions(-)
delete mode 100644 tools/perf/util/rb_resort.h
--
2.48.1.502.g6dc24dfdaf-goog
On Wed, 05 Feb 2025 12:54:39 -0800, Namhyung Kim wrote: > I've realized that perf trace shows system call summary at the end for > each thread. But sometimes users want to see the global whole system > summary or statistics instead. > > So I've added --summary-mode option like below: > > $ sudo ./perf trace -as --summary-mode=total sleep 1 > > [...] Applied to perf-tools-next, thanks! Best regards, Namhyung
Hello Namhyung, On Wed, Feb 5, 2025 at 12:54 PM Namhyung Kim <namhyung@kernel.org> wrote: > > Hello, > > I've realized that perf trace shows system call summary at the end for > each thread. But sometimes users want to see the global whole system > summary or statistics instead. > > So I've added --summary-mode option like below: > > $ sudo ./perf trace -as --summary-mode=total sleep 1 > > Summary of events: > > total, 21580 events > > syscall calls errors total min avg max stddev > (msec) (msec) (msec) (msec) (%) > --------------- -------- ------ -------- --------- --------- --------- ------ > epoll_wait 1305 0 14716.712 0.000 11.277 551.529 8.87% > futex 1256 89 13331.197 0.000 10.614 733.722 15.49% > poll 669 0 6806.618 0.000 10.174 459.316 11.77% > ppoll 220 0 3968.797 0.000 18.040 516.775 25.35% > clock_nanosleep 1 0 1000.027 1000.027 1000.027 1000.027 0.00% > epoll_pwait 21 0 592.783 0.000 28.228 522.293 88.29% > nanosleep 16 0 60.515 0.000 3.782 10.123 33.33% > ioctl 510 0 4.284 0.001 0.008 0.182 8.84% > recvmsg 1434 775 3.497 0.001 0.002 0.174 6.37% > write 1393 0 2.854 0.001 0.002 0.017 1.79% > read 1063 100 2.236 0.000 0.002 0.083 5.11% > ... > > Also it changes internal data structure to hash table to track > statistics of syscalls. And removes the rb_resort code. > > v3 changes) > * Add Acked-by from Howard > * Update commit messages (Ian) Sorry for the delay. Reviewed-by: Howard Chu <howardchu95@gmail.com> Thanks, Howard > > v2 changes) > * Rebase to current perf-tools-next > * Fix some style issues (Howard) > * Rename to --summary-mode (Howard) > > Thanks, > Namhyung > > > Namhyung Kim (4): > perf trace: Allocate syscall stats only if summary is on > perf trace: Convert syscall_stats to hashmap > perf tools: Get rid of now-unused rb_resort.h > perf trace: Add --summary-mode option > > tools/perf/Documentation/perf-trace.txt | 4 + > tools/perf/builtin-trace.c | 247 +++++++++++++++++++----- > tools/perf/util/rb_resort.h | 146 -------------- > 3 files changed, 203 insertions(+), 194 deletions(-) > delete mode 100644 tools/perf/util/rb_resort.h > > -- > 2.48.1.502.g6dc24dfdaf-goog >
On Fri, Feb 07, 2025 at 09:25:02PM -0800, Howard Chu wrote: > Hello Namhyung, > > On Wed, Feb 5, 2025 at 12:54 PM Namhyung Kim <namhyung@kernel.org> wrote: > > > > Hello, > > > > I've realized that perf trace shows system call summary at the end for > > each thread. But sometimes users want to see the global whole system > > summary or statistics instead. > > > > So I've added --summary-mode option like below: > > > > $ sudo ./perf trace -as --summary-mode=total sleep 1 > > > > Summary of events: > > > > total, 21580 events > > > > syscall calls errors total min avg max stddev > > (msec) (msec) (msec) (msec) (%) > > --------------- -------- ------ -------- --------- --------- --------- ------ > > epoll_wait 1305 0 14716.712 0.000 11.277 551.529 8.87% > > futex 1256 89 13331.197 0.000 10.614 733.722 15.49% > > poll 669 0 6806.618 0.000 10.174 459.316 11.77% > > ppoll 220 0 3968.797 0.000 18.040 516.775 25.35% > > clock_nanosleep 1 0 1000.027 1000.027 1000.027 1000.027 0.00% > > epoll_pwait 21 0 592.783 0.000 28.228 522.293 88.29% > > nanosleep 16 0 60.515 0.000 3.782 10.123 33.33% > > ioctl 510 0 4.284 0.001 0.008 0.182 8.84% > > recvmsg 1434 775 3.497 0.001 0.002 0.174 6.37% > > write 1393 0 2.854 0.001 0.002 0.017 1.79% > > read 1063 100 2.236 0.000 0.002 0.083 5.11% > > ... > > > > Also it changes internal data structure to hash table to track > > statistics of syscalls. And removes the rb_resort code. > > > > v3 changes) > > * Add Acked-by from Howard > > * Update commit messages (Ian) > > Sorry for the delay. > > Reviewed-by: Howard Chu <howardchu95@gmail.com> Thanks for your review! Arnaldo and Ian, are you ok with this? Thanks, Namhyung > > > > v2 changes) > > * Rebase to current perf-tools-next > > * Fix some style issues (Howard) > > * Rename to --summary-mode (Howard) > > > > Thanks, > > Namhyung > > > > > > Namhyung Kim (4): > > perf trace: Allocate syscall stats only if summary is on > > perf trace: Convert syscall_stats to hashmap > > perf tools: Get rid of now-unused rb_resort.h > > perf trace: Add --summary-mode option > > > > tools/perf/Documentation/perf-trace.txt | 4 + > > tools/perf/builtin-trace.c | 247 +++++++++++++++++++----- > > tools/perf/util/rb_resort.h | 146 -------------- > > 3 files changed, 203 insertions(+), 194 deletions(-) > > delete mode 100644 tools/perf/util/rb_resort.h > > > > -- > > 2.48.1.502.g6dc24dfdaf-goog > >
On Wed, Feb 12, 2025 at 10:49:44AM -0800, Namhyung Kim wrote: > On Fri, Feb 07, 2025 at 09:25:02PM -0800, Howard Chu wrote: > > Hello Namhyung, > > > > On Wed, Feb 5, 2025 at 12:54 PM Namhyung Kim <namhyung@kernel.org> wrote: > > > > > > Hello, > > > > > > I've realized that perf trace shows system call summary at the end for > > > each thread. But sometimes users want to see the global whole system > > > summary or statistics instead. > > > > > > So I've added --summary-mode option like below: > > > > > > $ sudo ./perf trace -as --summary-mode=total sleep 1 > > > > > > Summary of events: > > > > > > total, 21580 events > > > > > > syscall calls errors total min avg max stddev > > > (msec) (msec) (msec) (msec) (%) > > > --------------- -------- ------ -------- --------- --------- --------- ------ > > > epoll_wait 1305 0 14716.712 0.000 11.277 551.529 8.87% > > > futex 1256 89 13331.197 0.000 10.614 733.722 15.49% > > > poll 669 0 6806.618 0.000 10.174 459.316 11.77% > > > ppoll 220 0 3968.797 0.000 18.040 516.775 25.35% > > > clock_nanosleep 1 0 1000.027 1000.027 1000.027 1000.027 0.00% > > > epoll_pwait 21 0 592.783 0.000 28.228 522.293 88.29% > > > nanosleep 16 0 60.515 0.000 3.782 10.123 33.33% > > > ioctl 510 0 4.284 0.001 0.008 0.182 8.84% > > > recvmsg 1434 775 3.497 0.001 0.002 0.174 6.37% > > > write 1393 0 2.854 0.001 0.002 0.017 1.79% > > > read 1063 100 2.236 0.000 0.002 0.083 5.11% > > > ... > > > > > > Also it changes internal data structure to hash table to track > > > statistics of syscalls. And removes the rb_resort code. > > > > > > v3 changes) > > > * Add Acked-by from Howard > > > * Update commit messages (Ian) > > > > Sorry for the delay. > > > > Reviewed-by: Howard Chu <howardchu95@gmail.com> > > Thanks for your review! > > Arnaldo and Ian, are you ok with this? I looked at it quickly, some minor nits, apart from that, for the series: Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> - Arnaldo
On Wed, Feb 12, 2025 at 09:59:26PM +0100, Arnaldo Carvalho de Melo wrote: > On Wed, Feb 12, 2025 at 10:49:44AM -0800, Namhyung Kim wrote: > > On Fri, Feb 07, 2025 at 09:25:02PM -0800, Howard Chu wrote: > > > Hello Namhyung, > > > > > > On Wed, Feb 5, 2025 at 12:54 PM Namhyung Kim <namhyung@kernel.org> wrote: > > > > > > > > Hello, > > > > > > > > I've realized that perf trace shows system call summary at the end for > > > > each thread. But sometimes users want to see the global whole system > > > > summary or statistics instead. > > > > > > > > So I've added --summary-mode option like below: > > > > > > > > $ sudo ./perf trace -as --summary-mode=total sleep 1 > > > > > > > > Summary of events: > > > > > > > > total, 21580 events > > > > > > > > syscall calls errors total min avg max stddev > > > > (msec) (msec) (msec) (msec) (%) > > > > --------------- -------- ------ -------- --------- --------- --------- ------ > > > > epoll_wait 1305 0 14716.712 0.000 11.277 551.529 8.87% > > > > futex 1256 89 13331.197 0.000 10.614 733.722 15.49% > > > > poll 669 0 6806.618 0.000 10.174 459.316 11.77% > > > > ppoll 220 0 3968.797 0.000 18.040 516.775 25.35% > > > > clock_nanosleep 1 0 1000.027 1000.027 1000.027 1000.027 0.00% > > > > epoll_pwait 21 0 592.783 0.000 28.228 522.293 88.29% > > > > nanosleep 16 0 60.515 0.000 3.782 10.123 33.33% > > > > ioctl 510 0 4.284 0.001 0.008 0.182 8.84% > > > > recvmsg 1434 775 3.497 0.001 0.002 0.174 6.37% > > > > write 1393 0 2.854 0.001 0.002 0.017 1.79% > > > > read 1063 100 2.236 0.000 0.002 0.083 5.11% > > > > ... > > > > > > > > Also it changes internal data structure to hash table to track > > > > statistics of syscalls. And removes the rb_resort code. > > > > > > > > v3 changes) > > > > * Add Acked-by from Howard > > > > * Update commit messages (Ian) > > > > > > Sorry for the delay. > > > > > > Reviewed-by: Howard Chu <howardchu95@gmail.com> > > > > Thanks for your review! > > > > Arnaldo and Ian, are you ok with this? > > I looked at it quickly, some minor nits, apart from that, for the > series: > > Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> > Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Thanks, I'll update them. Namhyung
© 2016 - 2025 Red Hat, Inc.