|
@@ -608,7 +608,8 @@ static int hist_browser__title(struct hist_browser *browser, char *bf, size_t si
|
|
|
return browser->title ? browser->title(browser, bf, size) : 0;
|
|
|
}
|
|
|
|
|
|
-int hist_browser__run(struct hist_browser *browser, const char *help)
|
|
|
+int hist_browser__run(struct hist_browser *browser, const char *help,
|
|
|
+ bool warn_lost_event)
|
|
|
{
|
|
|
int key;
|
|
|
char title[160];
|
|
@@ -638,8 +639,9 @@ int hist_browser__run(struct hist_browser *browser, const char *help)
|
|
|
nr_entries = hist_browser__nr_entries(browser);
|
|
|
ui_browser__update_nr_entries(&browser->b, nr_entries);
|
|
|
|
|
|
- if (browser->hists->stats.nr_lost_warned !=
|
|
|
- browser->hists->stats.nr_events[PERF_RECORD_LOST]) {
|
|
|
+ if (warn_lost_event &&
|
|
|
+ (browser->hists->stats.nr_lost_warned !=
|
|
|
+ browser->hists->stats.nr_events[PERF_RECORD_LOST])) {
|
|
|
browser->hists->stats.nr_lost_warned =
|
|
|
browser->hists->stats.nr_events[PERF_RECORD_LOST];
|
|
|
ui_browser__warn_lost_events(&browser->b);
|
|
@@ -2763,7 +2765,8 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
|
|
|
bool left_exits,
|
|
|
struct hist_browser_timer *hbt,
|
|
|
float min_pcnt,
|
|
|
- struct perf_env *env)
|
|
|
+ struct perf_env *env,
|
|
|
+ bool warn_lost_event)
|
|
|
{
|
|
|
struct hists *hists = evsel__hists(evsel);
|
|
|
struct hist_browser *browser = perf_evsel_browser__new(evsel, hbt, env);
|
|
@@ -2844,7 +2847,8 @@ static int perf_evsel__hists_browse(struct perf_evsel *evsel, int nr_events,
|
|
|
|
|
|
nr_options = 0;
|
|
|
|
|
|
- key = hist_browser__run(browser, helpline);
|
|
|
+ key = hist_browser__run(browser, helpline,
|
|
|
+ warn_lost_event);
|
|
|
|
|
|
if (browser->he_selection != NULL) {
|
|
|
thread = hist_browser__selected_thread(browser);
|
|
@@ -3184,7 +3188,8 @@ static void perf_evsel_menu__write(struct ui_browser *browser,
|
|
|
|
|
|
static int perf_evsel_menu__run(struct perf_evsel_menu *menu,
|
|
|
int nr_events, const char *help,
|
|
|
- struct hist_browser_timer *hbt)
|
|
|
+ struct hist_browser_timer *hbt,
|
|
|
+ bool warn_lost_event)
|
|
|
{
|
|
|
struct perf_evlist *evlist = menu->b.priv;
|
|
|
struct perf_evsel *pos;
|
|
@@ -3203,7 +3208,9 @@ static int perf_evsel_menu__run(struct perf_evsel_menu *menu,
|
|
|
case K_TIMER:
|
|
|
hbt->timer(hbt->arg);
|
|
|
|
|
|
- if (!menu->lost_events_warned && menu->lost_events) {
|
|
|
+ if (!menu->lost_events_warned &&
|
|
|
+ menu->lost_events &&
|
|
|
+ warn_lost_event) {
|
|
|
ui_browser__warn_lost_events(&menu->b);
|
|
|
menu->lost_events_warned = true;
|
|
|
}
|
|
@@ -3224,7 +3231,8 @@ browse_hists:
|
|
|
key = perf_evsel__hists_browse(pos, nr_events, help,
|
|
|
true, hbt,
|
|
|
menu->min_pcnt,
|
|
|
- menu->env);
|
|
|
+ menu->env,
|
|
|
+ warn_lost_event);
|
|
|
ui_browser__show_title(&menu->b, title);
|
|
|
switch (key) {
|
|
|
case K_TAB:
|
|
@@ -3282,7 +3290,8 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
|
|
|
int nr_entries, const char *help,
|
|
|
struct hist_browser_timer *hbt,
|
|
|
float min_pcnt,
|
|
|
- struct perf_env *env)
|
|
|
+ struct perf_env *env,
|
|
|
+ bool warn_lost_event)
|
|
|
{
|
|
|
struct perf_evsel *pos;
|
|
|
struct perf_evsel_menu menu = {
|
|
@@ -3309,13 +3318,15 @@ static int __perf_evlist__tui_browse_hists(struct perf_evlist *evlist,
|
|
|
menu.b.width = line_len;
|
|
|
}
|
|
|
|
|
|
- return perf_evsel_menu__run(&menu, nr_entries, help, hbt);
|
|
|
+ return perf_evsel_menu__run(&menu, nr_entries, help,
|
|
|
+ hbt, warn_lost_event);
|
|
|
}
|
|
|
|
|
|
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)
|
|
|
+ struct perf_env *env,
|
|
|
+ bool warn_lost_event)
|
|
|
{
|
|
|
int nr_entries = evlist->nr_entries;
|
|
|
|
|
@@ -3325,7 +3336,7 @@ single_entry:
|
|
|
|
|
|
return perf_evsel__hists_browse(first, nr_entries, help,
|
|
|
false, hbt, min_pcnt,
|
|
|
- env);
|
|
|
+ env, warn_lost_event);
|
|
|
}
|
|
|
|
|
|
if (symbol_conf.event_group) {
|
|
@@ -3342,5 +3353,6 @@ single_entry:
|
|
|
}
|
|
|
|
|
|
return __perf_evlist__tui_browse_hists(evlist, nr_entries, help,
|
|
|
- hbt, min_pcnt, env);
|
|
|
+ hbt, min_pcnt, env,
|
|
|
+ warn_lost_event);
|
|
|
}
|