perf hists: Print number of samples, not the period sum
So that we match the header where we state the number of events with the "Samples" column when using 'perf report -n/--show-nr-samples': [root@emilia ~]# perf record -a sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.111 MB perf.data (~4860 samples) ] [root@emilia ~]# perf report --stdio --show-nr-samples # Events: 11 cycles # # Overhead Samples Command Shared Object Symbol # ........ .......... ........... .................. ............................ # 16.65% 1 sleep [kernel.kallsyms] [k] unmap_vmas 16.10% 1 perf libpthread-2.12.so [.] __pthread_cleanup_push_defer 15.79% 2 perf [kernel.kallsyms] [k] format_decode 12.88% 1 kworker/1:2 [kernel.kallsyms] [k] cache_reap 10.69% 1 swapper [kernel.kallsyms] [k] _raw_spin_lock 7.55% 1 sleep [kernel.kallsyms] [k] prepare_exec_creds 6.00% 1 perf [jbd2] [k] start_this_handle 5.29% 1 perf [kernel.kallsyms] [k] seq_read 4.75% 1 perf [kernel.kallsyms] [k] get_pid_task 4.30% 1 perf [kernel.kallsyms] [k] _raw_spin_unlock_irqrestore # # (For a higher level overview, try: perf report --sort comm,dso) # [root@emilia ~]# Reported-by: Stephane Eranian <eranian@google.com> Acked-by: Stephane Eranian <eranian@google.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <new-submission> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f0c55bcf4a
commit
fec9cbd15b
|
@ -591,6 +591,7 @@ int hist_entry__snprintf(struct hist_entry *self, char *s, size_t size,
|
||||||
{
|
{
|
||||||
struct sort_entry *se;
|
struct sort_entry *se;
|
||||||
u64 period, total, period_sys, period_us, period_guest_sys, period_guest_us;
|
u64 period, total, period_sys, period_us, period_guest_sys, period_guest_us;
|
||||||
|
u64 nr_events;
|
||||||
const char *sep = symbol_conf.field_sep;
|
const char *sep = symbol_conf.field_sep;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -599,6 +600,7 @@ int hist_entry__snprintf(struct hist_entry *self, char *s, size_t size,
|
||||||
|
|
||||||
if (pair_hists) {
|
if (pair_hists) {
|
||||||
period = self->pair ? self->pair->period : 0;
|
period = self->pair ? self->pair->period : 0;
|
||||||
|
nr_events = self->pair ? self->pair->nr_events : 0;
|
||||||
total = pair_hists->stats.total_period;
|
total = pair_hists->stats.total_period;
|
||||||
period_sys = self->pair ? self->pair->period_sys : 0;
|
period_sys = self->pair ? self->pair->period_sys : 0;
|
||||||
period_us = self->pair ? self->pair->period_us : 0;
|
period_us = self->pair ? self->pair->period_us : 0;
|
||||||
|
@ -606,6 +608,7 @@ int hist_entry__snprintf(struct hist_entry *self, char *s, size_t size,
|
||||||
period_guest_us = self->pair ? self->pair->period_guest_us : 0;
|
period_guest_us = self->pair ? self->pair->period_guest_us : 0;
|
||||||
} else {
|
} else {
|
||||||
period = self->period;
|
period = self->period;
|
||||||
|
nr_events = self->nr_events;
|
||||||
total = session_total;
|
total = session_total;
|
||||||
period_sys = self->period_sys;
|
period_sys = self->period_sys;
|
||||||
period_us = self->period_us;
|
period_us = self->period_us;
|
||||||
|
@ -646,9 +649,9 @@ int hist_entry__snprintf(struct hist_entry *self, char *s, size_t size,
|
||||||
|
|
||||||
if (symbol_conf.show_nr_samples) {
|
if (symbol_conf.show_nr_samples) {
|
||||||
if (sep)
|
if (sep)
|
||||||
ret += snprintf(s + ret, size - ret, "%c%" PRIu64, *sep, period);
|
ret += snprintf(s + ret, size - ret, "%c%" PRIu64, *sep, nr_events);
|
||||||
else
|
else
|
||||||
ret += snprintf(s + ret, size - ret, "%11" PRIu64, period);
|
ret += snprintf(s + ret, size - ret, "%11" PRIu64, nr_events);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pair_hists) {
|
if (pair_hists) {
|
||||||
|
|
Loading…
Reference in a new issue