perf hists browser: Pass annotation_options from tool to browser
So that things changed in the command line may percolate to the browser code without using globals. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Wang Nan <wangnan0@huawei.com> Link: https://lkml.kernel.org/n/tip-5daawc40zhl6gcs600com1ua@git.kernel.org [ Merged fix for NO_SLANG=1 build provided by Jiri Olsa ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
@@ -2175,7 +2175,8 @@ struct hist_browser *hist_browser__new(struct hists *hists)
|
||||
static struct hist_browser *
|
||||
perf_evsel_browser__new(struct perf_evsel *evsel,
|
||||
struct hist_browser_timer *hbt,
|
||||
struct perf_env *env)
|
||||
struct perf_env *env,
|
||||
struct annotation_options *annotation_opts)
|
||||
{
|
||||
struct hist_browser *browser = hist_browser__new(evsel__hists(evsel));
|
||||
|
||||
@@ -2183,6 +2184,7 @@ perf_evsel_browser__new(struct perf_evsel *evsel,
|
||||
browser->hbt = hbt;
|
||||
browser->env = env;
|
||||
browser->title = hists_browser__scnprintf_title;
|
||||
browser->annotation_opts = annotation_opts;
|
||||
}
|
||||
return browser;
|
||||
}
|
||||
@@ -2344,7 +2346,8 @@ do_annotate(struct hist_browser *browser, struct popup_action *act)
|
||||
return 0;
|
||||
|
||||
evsel = hists_to_evsel(browser->hists);
|
||||
err = map_symbol__tui_annotate(&act->ms, evsel, browser->hbt);
|
||||
err = map_symbol__tui_annotate(&act->ms, evsel, browser->hbt,
|
||||
browser->annotation_opts);
|
||||
he = hist_browser__selected_entry(browser);
|
||||
/*
|
||||
* offer option to annotate the other branch source or target
|
||||
@@ -2697,10 +2700,11 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
|
||||
struct hist_browser_timer *hbt,
|
||||
float min_pcnt,
|
||||
struct perf_env *env,
|
||||
bool warn_lost_event)
|
||||
bool warn_lost_event,
|
||||
struct annotation_options *annotation_opts)
|
||||
{
|
||||
struct hists *hists = evsel__hists(evsel);
|
||||
struct hist_browser *browser = perf_evsel_browser__new(evsel, hbt, env);
|
||||
struct hist_browser *browser = perf_evsel_browser__new(evsel, hbt, env, annotation_opts);
|
||||
struct branch_info *bi;
|
||||
#define MAX_OPTIONS 16
|
||||
char *options[MAX_OPTIONS];
|
||||
@@ -3062,6 +3066,7 @@ out:
|
||||
struct perf_evsel_menu {
|
||||
struct ui_browser b;
|
||||
struct perf_evsel *selection;
|
||||
struct annotation_options *annotation_opts;
|
||||
bool lost_events, lost_events_warned;
|
||||
float min_pcnt;
|
||||
struct perf_env *env;
|
||||
@@ -3163,7 +3168,8 @@ browse_hists:
|
||||
true, hbt,
|
||||
menu->min_pcnt,
|
||||
menu->env,
|
||||
warn_lost_event);
|
||||
warn_lost_event,
|
||||
menu->annotation_opts);
|
||||
ui_browser__show_title(&menu->b, title);
|
||||
switch (key) {
|
||||
case K_TAB:
|
||||
@@ -3222,7 +3228,8 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
|
||||
struct hist_browser_timer *hbt,
|
||||
float min_pcnt,
|
||||
struct perf_env *env,
|
||||
bool warn_lost_event)
|
||||
bool warn_lost_event,
|
||||
struct annotation_options *annotation_opts)
|
||||
{
|
||||
struct perf_evsel *pos;
|
||||
struct perf_evsel_menu menu = {
|
||||
@@ -3237,6 +3244,7 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
|
||||
},
|
||||
.min_pcnt = min_pcnt,
|
||||
.env = env,
|
||||
.annotation_opts = annotation_opts,
|
||||
};
|
||||
|
||||
ui_helpline__push("Press ESC to exit");
|
||||
@@ -3257,7 +3265,8 @@ int perf_evlist__tui_browse_hists(struct perf_evlist *evlist, const char *help,
|
||||
struct hist_browser_timer *hbt,
|
||||
float min_pcnt,
|
||||
struct perf_env *env,
|
||||
bool warn_lost_event)
|
||||
bool warn_lost_event,
|
||||
struct annotation_options *annotation_opts)
|
||||
{
|
||||
int nr_entries = evlist->nr_entries;
|
||||
|
||||
@@ -3267,7 +3276,8 @@ single_entry:
|
||||
|
||||
return perf_evsel__hists_browse(first, nr_entries, help,
|
||||
false, hbt, min_pcnt,
|
||||
env, warn_lost_event);
|
||||
env, warn_lost_event,
|
||||
annotation_opts);
|
||||
}
|
||||
|
||||
if (symbol_conf.event_group) {
|
||||
@@ -3285,5 +3295,6 @@ single_entry:
|
||||
|
||||
return __perf_evlist__tui_browse_hists(evlist, nr_entries, help,
|
||||
hbt, min_pcnt, env,
|
||||
warn_lost_event);
|
||||
warn_lost_event,
|
||||
annotation_opts);
|
||||
}
|
||||
|
Reference in New Issue
Block a user