aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-report.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2010-03-26 20:16:22 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-04-02 15:27:55 -0400
commit5f4d3f8816461300ce54505c9117bf85b3044aa0 (patch)
treeb69a6f22792480ab1ee02c67e5f8a650d66f208d /tools/perf/builtin-report.c
parent7e5e1b1404c30db5f6bc3f5203b6c21c1d244f99 (diff)
perf report: Add progress bars
For when we are processing the events and inserting the entries in the browser. Experimentation here: naming "ui_something" we may be treading into creating a TUI/GUI set of routines that can then be implemented in terms of multiple backends. Also the time it takes for adding things to the "browser" takes, visually (I guess I should do some profiling here ;-) ), more time than for processing the events... That means we probably need to create a custom hist_entry browser, so that we reuse the structures we have in place instead of duplicating them in newt. But progress was made and at least we can see something while long files are being loaded, that must be one of UI 101 bullet points :-) Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/builtin-report.c')
-rw-r--r--tools/perf/builtin-report.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 6ab16980dd66..381918515a5c 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -303,13 +303,14 @@ static int __cmd_report(void)
303 next = rb_first(&session->stats_by_id); 303 next = rb_first(&session->stats_by_id);
304 while (next) { 304 while (next) {
305 struct event_stat_id *stats; 305 struct event_stat_id *stats;
306 u64 nr_hists;
306 307
307 stats = rb_entry(next, struct event_stat_id, rb_node); 308 stats = rb_entry(next, struct event_stat_id, rb_node);
308 perf_session__collapse_resort(&stats->hists); 309 perf_session__collapse_resort(&stats->hists);
309 perf_session__output_resort(&stats->hists, stats->stats.total); 310 nr_hists = perf_session__output_resort(&stats->hists,
310 311 stats->stats.total);
311 if (use_browser) 312 if (use_browser)
312 perf_session__browse_hists(&stats->hists, 313 perf_session__browse_hists(&stats->hists, nr_hists,
313 stats->stats.total, help); 314 stats->stats.total, help);
314 else { 315 else {
315 if (rb_first(&session->stats_by_id) == 316 if (rb_first(&session->stats_by_id) ==