Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 350025
b: refs/heads/master
c: fc24d7c
h: refs/heads/master
i:
  350023: 2efc298
v: v3
  • Loading branch information
Namhyung Kim authored and Arnaldo Carvalho de Melo committed Jan 31, 2013
1 parent c7a4570 commit a185fe2
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 7 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 34b9564373a9e1d8c33d07824fae228a381d1803
refs/heads/master: fc24d7c25c9d880ae012548d522fe13caee556ed
4 changes: 4 additions & 0 deletions trunk/tools/perf/builtin-report.c
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,10 @@ static int perf_evlist__tty_browse_hists(struct perf_evlist *evlist,
struct hists *hists = &pos->hists;
const char *evname = perf_evsel__name(pos);

if (symbol_conf.event_group &&
!perf_evsel__is_group_leader(pos))
continue;

hists__fprintf_nr_sample_events(hists, evname, stdout);
hists__fprintf(hists, true, 0, 0, stdout);
fprintf(stdout, "\n\n");
Expand Down
41 changes: 35 additions & 6 deletions trunk/tools/perf/ui/browsers/hists.c
Original file line number Diff line number Diff line change
Expand Up @@ -1695,8 +1695,19 @@ static int perf_evsel_menu__run(struct perf_evsel_menu *menu,
return key;
}

static bool filter_group_entries(struct ui_browser *self __maybe_unused,
void *entry)
{
struct perf_evsel *evsel = list_entry(entry, struct perf_evsel, node);

if (symbol_conf.event_group && !perf_evsel__is_group_leader(evsel))
return true;

return false;
}

static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
const char *help,
int nr_entries, const char *help,
struct hist_browser_timer *hbt,
struct perf_session_env *env)
{
Expand All @@ -1707,7 +1718,8 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
.refresh = ui_browser__list_head_refresh,
.seek = ui_browser__list_head_seek,
.write = perf_evsel_menu__write,
.nr_entries = evlist->nr_entries,
.filter = filter_group_entries,
.nr_entries = nr_entries,
.priv = evlist,
},
.env = env,
Expand All @@ -1723,20 +1735,37 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
menu.b.width = line_len;
}

return perf_evsel_menu__run(&menu, evlist->nr_entries, help, hbt);
return perf_evsel_menu__run(&menu, nr_entries, help, hbt);
}

int perf_evlist__tui_browse_hists(struct perf_evlist *evlist, const char *help,
struct hist_browser_timer *hbt,
struct perf_session_env *env)
{
if (evlist->nr_entries == 1) {
int nr_entries = evlist->nr_entries;

single_entry:
if (nr_entries == 1) {
struct perf_evsel *first = list_entry(evlist->entries.next,
struct perf_evsel, node);
const char *ev_name = perf_evsel__name(first);
return perf_evsel__hists_browse(first, evlist->nr_entries, help,

return perf_evsel__hists_browse(first, nr_entries, help,
ev_name, false, hbt, env);
}

return __perf_evlist__tui_browse_hists(evlist, help, hbt, env);
if (symbol_conf.event_group) {
struct perf_evsel *pos;

nr_entries = 0;
list_for_each_entry(pos, &evlist->entries, node)
if (perf_evsel__is_group_leader(pos))
nr_entries++;

if (nr_entries == 1)
goto single_entry;
}

return __perf_evlist__tui_browse_hists(evlist, nr_entries, help,
hbt, env);
}
4 changes: 4 additions & 0 deletions trunk/tools/perf/ui/gtk/hists.c
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,10 @@ int perf_evlist__gtk_browse_hists(struct perf_evlist *evlist,
GtkWidget *scrolled_window;
GtkWidget *tab_label;

if (symbol_conf.event_group &&
!perf_evsel__is_group_leader(pos))
continue;

scrolled_window = gtk_scrolled_window_new(NULL, NULL);

gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window),
Expand Down

0 comments on commit a185fe2

Please sign in to comment.