perf trace: Fix summary percentage when processing files

Getting a divide by 0 when events are processed from a file:

   perf trace -i perf.data -s
   ...
   dnsmasq (1684), 10 events, inf%, 0.000 msec

The problem is that the event count is not incremented as events are
processed. With this patch:

   perf trace -i perf.data -s
   ...
   dnsmasq (1684), 10 events, 8.9%, 0.000 msec

Signed-off-by: David Ahern <dsahern@gmail.com>
Link: http://lkml.kernel.org/r/1386211302-31303-4-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
David Ahern 2013-12-04 19:41:41 -07:00 committed by Arnaldo Carvalho de Melo
parent 9aca7f1792
commit 3160565f0e

View File

@ -1770,8 +1770,10 @@ static int trace__process_sample(struct perf_tool *tool,
if (!trace->full_time && trace->base_time == 0) if (!trace->full_time && trace->base_time == 0)
trace->base_time = sample->time; trace->base_time = sample->time;
if (handler) if (handler) {
++trace->nr_events;
handler(trace, evsel, sample); handler(trace, evsel, sample);
}
return err; return err;
} }