linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] perf trace: Add --summary-mode option
@ 2025-01-30  3:05 Namhyung Kim
  2025-01-30  3:05 ` [PATCH v2 1/4] perf trace: Allocate syscall stats only if summary is on Namhyung Kim
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Namhyung Kim @ 2025-01-30  3:05 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Ian Rogers, Kan Liang
  Cc: Jiri Olsa, Adrian Hunter, Peter Zijlstra, Ingo Molnar, LKML,
	linux-perf-users, Howard Chu

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.

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              | 252 +++++++++++++++++++-----
 tools/perf/util/rb_resort.h             | 146 --------------
 3 files changed, 208 insertions(+), 194 deletions(-)
 delete mode 100644 tools/perf/util/rb_resort.h

-- 
2.48.1.262.g85cc9f2d1e-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2025-02-08  5:25 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-30  3:05 [PATCH v2 0/4] perf trace: Add --summary-mode option Namhyung Kim
2025-01-30  3:05 ` [PATCH v2 1/4] perf trace: Allocate syscall stats only if summary is on Namhyung Kim
2025-02-02  6:57   ` Ian Rogers
2025-02-04  2:59     ` Namhyung Kim
2025-02-04 15:59       ` Ian Rogers
2025-02-04 19:21         ` Namhyung Kim
2025-02-04 19:30           ` Ian Rogers
2025-02-08  5:25           ` Howard Chu
2025-01-30  3:05 ` [PATCH v2 2/4] perf trace: Convert syscall_stats to hashmap Namhyung Kim
2025-02-02  7:03   ` Ian Rogers
2025-02-04  3:13     ` Namhyung Kim
2025-02-04  4:28       ` Ian Rogers
2025-02-04 19:30         ` Namhyung Kim
2025-01-30  3:05 ` [PATCH v2 3/4] perf tools: Get rid of now-unused rb_resort.h Namhyung Kim
2025-01-30  3:05 ` [PATCH v2 4/4] perf trace: Add --summary-mode option Namhyung Kim
2025-01-31 20:41 ` [PATCH v2 0/4] " Howard Chu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).