Lines Matching refs:browser
53 static int hist_browser__get_folding(struct hist_browser *browser) in hist_browser__get_folding() argument
56 struct hists *hists = browser->hists; in hist_browser__get_folding()
60 (nd = hists__filter_entries(nd, browser->min_pcnt)) != NULL; in hist_browser__get_folding()
86 struct ui_browser *browser = &hb->b; in hist_browser__update_rows() local
89 browser->rows = browser->height - header_offset; in hist_browser__update_rows()
94 index_row = browser->index - browser->top_idx; in hist_browser__update_rows()
95 if (index_row >= browser->rows) in hist_browser__update_rows()
96 browser->index -= index_row - browser->rows + 1; in hist_browser__update_rows()
99 static void hist_browser__refresh_dimensions(struct ui_browser *browser) in hist_browser__refresh_dimensions() argument
101 struct hist_browser *hb = container_of(browser, struct hist_browser, b); in hist_browser__refresh_dimensions()
104 browser->width = 3 + (hists__sort_list_width(hb->hists) + sizeof("[k]")); in hist_browser__refresh_dimensions()
111 ui_browser__refresh_dimensions(browser); in hist_browser__refresh_dimensions()
115 static void hist_browser__gotorc(struct hist_browser *browser, int row, int column) in hist_browser__gotorc() argument
117 u16 header_offset = browser->show_headers ? 1 : 0; in hist_browser__gotorc()
119 ui_browser__gotorc(&browser->b, row + header_offset, column); in hist_browser__gotorc()
122 static void hist_browser__reset(struct hist_browser *browser) in hist_browser__reset() argument
128 browser->nr_callchain_rows = 0; in hist_browser__reset()
130 hist_browser__update_nr_entries(browser); in hist_browser__reset()
131 browser->b.nr_entries = hist_browser__nr_entries(browser); in hist_browser__reset()
132 hist_browser__refresh_dimensions(&browser->b); in hist_browser__reset()
133 ui_browser__reset_index(&browser->b); in hist_browser__reset()
294 static bool hist_browser__toggle_fold(struct hist_browser *browser) in hist_browser__toggle_fold() argument
296 struct hist_entry *he = browser->he_selection; in hist_browser__toggle_fold()
297 struct map_symbol *ms = browser->selection; in hist_browser__toggle_fold()
311 browser->b.nr_entries -= he->nr_rows; in hist_browser__toggle_fold()
312 browser->nr_callchain_rows -= he->nr_rows; in hist_browser__toggle_fold()
319 browser->b.nr_entries += he->nr_rows; in hist_browser__toggle_fold()
320 browser->nr_callchain_rows += he->nr_rows; in hist_browser__toggle_fold()
396 __hist_browser__set_folding(struct hist_browser *browser, bool unfold) in __hist_browser__set_folding() argument
399 struct hists *hists = browser->hists; in __hist_browser__set_folding()
402 (nd = hists__filter_entries(nd, browser->min_pcnt)) != NULL; in __hist_browser__set_folding()
406 browser->nr_callchain_rows += he->nr_rows; in __hist_browser__set_folding()
410 static void hist_browser__set_folding(struct hist_browser *browser, bool unfold) in hist_browser__set_folding() argument
412 browser->nr_callchain_rows = 0; in hist_browser__set_folding()
413 __hist_browser__set_folding(browser, unfold); in hist_browser__set_folding()
415 browser->b.nr_entries = hist_browser__nr_entries(browser); in hist_browser__set_folding()
417 ui_browser__reset_index(&browser->b); in hist_browser__set_folding()
420 static void ui_browser__warn_lost_events(struct ui_browser *browser) in ui_browser__warn_lost_events() argument
422 ui_browser__warning(browser, 4, in ui_browser__warn_lost_events()
429 static int hist_browser__run(struct hist_browser *browser, const char *help) in hist_browser__run() argument
433 struct hist_browser_timer *hbt = browser->hbt; in hist_browser__run()
436 browser->b.entries = &browser->hists->entries; in hist_browser__run()
437 browser->b.nr_entries = hist_browser__nr_entries(browser); in hist_browser__run()
439 hists__browser_title(browser->hists, hbt, title, sizeof(title)); in hist_browser__run()
441 if (ui_browser__show(&browser->b, title, help) < 0) in hist_browser__run()
445 key = ui_browser__run(&browser->b, delay_secs); in hist_browser__run()
452 if (hist_browser__has_filter(browser)) in hist_browser__run()
453 hist_browser__update_nr_entries(browser); in hist_browser__run()
455 nr_entries = hist_browser__nr_entries(browser); in hist_browser__run()
456 ui_browser__update_nr_entries(&browser->b, nr_entries); in hist_browser__run()
458 if (browser->hists->stats.nr_lost_warned != in hist_browser__run()
459 browser->hists->stats.nr_events[PERF_RECORD_LOST]) { in hist_browser__run()
460 browser->hists->stats.nr_lost_warned = in hist_browser__run()
461 browser->hists->stats.nr_events[PERF_RECORD_LOST]; in hist_browser__run()
462 ui_browser__warn_lost_events(&browser->b); in hist_browser__run()
465 hists__browser_title(browser->hists, in hist_browser__run()
467 ui_browser__show_title(&browser->b, title); in hist_browser__run()
472 struct hist_entry *h = rb_entry(browser->b.top, in hist_browser__run()
476 seq++, browser->b.nr_entries, in hist_browser__run()
477 browser->hists->nr_entries, in hist_browser__run()
478 browser->b.rows, in hist_browser__run()
479 browser->b.index, in hist_browser__run()
480 browser->b.top_idx, in hist_browser__run()
486 hist_browser__set_folding(browser, false); in hist_browser__run()
490 hist_browser__set_folding(browser, true); in hist_browser__run()
493 browser->show_headers = !browser->show_headers; in hist_browser__run()
494 hist_browser__update_rows(browser); in hist_browser__run()
497 if (hist_browser__toggle_fold(browser)) in hist_browser__run()
505 ui_browser__hide(&browser->b); in hist_browser__run()
519 typedef void (*print_callchain_entry_fn)(struct hist_browser *browser,
525 static void hist_browser__show_callchain_entry(struct hist_browser *browser, in hist_browser__show_callchain_entry() argument
533 bool show_annotated = browser->show_dso && chain->ms.sym && symbol__annotation(chain->ms.sym)->src; in hist_browser__show_callchain_entry()
536 width = browser->b.width - (offset + 2); in hist_browser__show_callchain_entry()
537 if (ui_browser__is_current_entry(&browser->b, row)) { in hist_browser__show_callchain_entry()
538 browser->selection = &chain->ms; in hist_browser__show_callchain_entry()
543 ui_browser__set_color(&browser->b, color); in hist_browser__show_callchain_entry()
544 hist_browser__gotorc(browser, row, 0); in hist_browser__show_callchain_entry()
545 ui_browser__write_nstring(&browser->b, " ", offset); in hist_browser__show_callchain_entry()
546 ui_browser__printf(&browser->b, "%c", folded_sign); in hist_browser__show_callchain_entry()
547 ui_browser__write_graph(&browser->b, show_annotated ? SLSMG_RARROW_CHAR : ' '); in hist_browser__show_callchain_entry()
548 ui_browser__write_nstring(&browser->b, str, width); in hist_browser__show_callchain_entry()
563 typedef bool (*check_output_full_fn)(struct hist_browser *browser,
566 static bool hist_browser__check_output_full(struct hist_browser *browser, in hist_browser__check_output_full() argument
569 return browser->b.rows == row; in hist_browser__check_output_full()
572 static bool hist_browser__check_dump_full(struct hist_browser *browser __maybe_unused, in hist_browser__check_dump_full()
580 static int hist_browser__show_callchain(struct hist_browser *browser, in hist_browser__show_callchain() argument
622 browser->show_dso); in hist_browser__show_callchain()
633 print(browser, chain, str, offset + extra_offset, row, arg); in hist_browser__show_callchain()
637 if (is_output_full(browser, ++row)) in hist_browser__show_callchain()
652 row += hist_browser__show_callchain(browser, &child->rb_root, in hist_browser__show_callchain()
656 if (is_output_full(browser, row)) in hist_browser__show_callchain()
756 static int hist_browser__show_entry(struct hist_browser *browser, in hist_browser__show_entry() argument
762 int width = browser->b.width; in hist_browser__show_entry()
764 bool current_entry = ui_browser__is_current_entry(&browser->b, row); in hist_browser__show_entry()
770 browser->he_selection = entry; in hist_browser__show_entry()
771 browser->selection = &entry->ms; in hist_browser__show_entry()
781 .b = &browser->b, in hist_browser__show_entry()
792 hist_browser__gotorc(browser, row, 0); in hist_browser__show_entry()
795 if (perf_hpp__should_skip(fmt) || column++ < browser->b.horiz_scroll) in hist_browser__show_entry()
798 if (current_entry && browser->b.navkeypressed) { in hist_browser__show_entry()
799 ui_browser__set_color(&browser->b, in hist_browser__show_entry()
802 ui_browser__set_color(&browser->b, in hist_browser__show_entry()
808 ui_browser__printf(&browser->b, "%c ", folded_sign); in hist_browser__show_entry()
813 ui_browser__printf(&browser->b, " "); in hist_browser__show_entry()
821 ui_browser__printf(&browser->b, "%s", s); in hist_browser__show_entry()
826 if (!browser->b.navkeypressed) in hist_browser__show_entry()
829 ui_browser__write_nstring(&browser->b, "", width); in hist_browser__show_entry()
836 if (folded_sign == '-' && row != browser->b.rows) { in hist_browser__show_entry()
850 printed += hist_browser__show_callchain(browser, in hist_browser__show_entry()
856 browser->he_selection = entry; in hist_browser__show_entry()
868 static int hists_browser__scnprintf_headers(struct hist_browser *browser, char *buf, size_t size) in hists_browser__scnprintf_headers() argument
870 struct hists *hists = browser->hists; in hists_browser__scnprintf_headers()
886 if (perf_hpp__should_skip(fmt) || column++ < browser->b.horiz_scroll) in hists_browser__scnprintf_headers()
901 static void hist_browser__show_headers(struct hist_browser *browser) in hist_browser__show_headers() argument
905 hists_browser__scnprintf_headers(browser, headers, sizeof(headers)); in hist_browser__show_headers()
906 ui_browser__gotorc(&browser->b, 0, 0); in hist_browser__show_headers()
907 ui_browser__set_color(&browser->b, HE_COLORSET_ROOT); in hist_browser__show_headers()
908 ui_browser__write_nstring(&browser->b, headers, browser->b.width + 1); in hist_browser__show_headers()
911 static void ui_browser__hists_init_top(struct ui_browser *browser) in ui_browser__hists_init_top() argument
913 if (browser->top == NULL) { in ui_browser__hists_init_top()
916 hb = container_of(browser, struct hist_browser, b); in ui_browser__hists_init_top()
917 browser->top = rb_first(&hb->hists->entries); in ui_browser__hists_init_top()
921 static unsigned int hist_browser__refresh(struct ui_browser *browser) in hist_browser__refresh() argument
926 struct hist_browser *hb = container_of(browser, struct hist_browser, b); in hist_browser__refresh()
933 ui_browser__hists_init_top(browser); in hist_browser__refresh()
937 for (nd = browser->top; nd; nd = rb_next(nd)) { in hist_browser__refresh()
949 if (row == browser->rows) in hist_browser__refresh()
988 static void ui_browser__hists_seek(struct ui_browser *browser, in ui_browser__hists_seek() argument
996 hb = container_of(browser, struct hist_browser, b); in ui_browser__hists_seek()
998 if (browser->nr_entries == 0) in ui_browser__hists_seek()
1001 ui_browser__hists_init_top(browser); in ui_browser__hists_seek()
1005 nd = hists__filter_entries(rb_first(browser->entries), in ui_browser__hists_seek()
1009 nd = browser->top; in ui_browser__hists_seek()
1012 nd = hists__filter_prev_entries(rb_last(browser->entries), in ui_browser__hists_seek()
1024 h = rb_entry(browser->top, struct hist_entry, rb_node); in ui_browser__hists_seek()
1055 browser->top = nd; in ui_browser__hists_seek()
1063 browser->top = nd; in ui_browser__hists_seek()
1076 browser->top = nd; in ui_browser__hists_seek()
1086 browser->top = nd; in ui_browser__hists_seek()
1097 browser->top = nd; in ui_browser__hists_seek()
1112 browser->top = nd; in ui_browser__hists_seek()
1118 static int hist_browser__fprintf_callchain(struct hist_browser *browser, in hist_browser__fprintf_callchain() argument
1129 hist_browser__show_callchain(browser, &he->sorted_chain, 1, 0, total, in hist_browser__fprintf_callchain()
1135 static int hist_browser__fprintf_entry(struct hist_browser *browser, in hist_browser__fprintf_entry() argument
1171 printed += hist_browser__fprintf_callchain(browser, he, fp); in hist_browser__fprintf_entry()
1176 static int hist_browser__fprintf(struct hist_browser *browser, FILE *fp) in hist_browser__fprintf() argument
1178 struct rb_node *nd = hists__filter_entries(rb_first(browser->b.entries), in hist_browser__fprintf()
1179 browser->min_pcnt); in hist_browser__fprintf()
1185 printed += hist_browser__fprintf_entry(browser, h, fp); in hist_browser__fprintf()
1186 nd = hists__filter_entries(rb_next(nd), browser->min_pcnt); in hist_browser__fprintf()
1192 static int hist_browser__dump(struct hist_browser *browser) in hist_browser__dump() argument
1198 scnprintf(filename, sizeof(filename), "perf.hist.%d", browser->print_seq); in hist_browser__dump()
1204 if (++browser->print_seq == 8192) { in hist_browser__dump()
1218 ++browser->print_seq; in hist_browser__dump()
1219 hist_browser__fprintf(browser, fp); in hist_browser__dump()
1230 struct hist_browser *browser = zalloc(sizeof(*browser)); in hist_browser__new() local
1232 if (browser) { in hist_browser__new()
1233 browser->hists = hists; in hist_browser__new()
1234 browser->b.refresh = hist_browser__refresh; in hist_browser__new()
1235 browser->b.refresh_dimensions = hist_browser__refresh_dimensions; in hist_browser__new()
1236 browser->b.seek = ui_browser__hists_seek; in hist_browser__new()
1237 browser->b.use_navkeypressed = true; in hist_browser__new()
1238 browser->show_headers = symbol_conf.show_hist_headers; in hist_browser__new()
1239 browser->hbt = hbt; in hist_browser__new()
1240 browser->env = env; in hist_browser__new()
1243 return browser; in hist_browser__new()
1246 static void hist_browser__delete(struct hist_browser *browser) in hist_browser__delete() argument
1248 free(browser); in hist_browser__delete()
1251 static struct hist_entry *hist_browser__selected_entry(struct hist_browser *browser) in hist_browser__selected_entry() argument
1253 return browser->he_selection; in hist_browser__selected_entry()
1256 static struct thread *hist_browser__selected_thread(struct hist_browser *browser) in hist_browser__selected_thread() argument
1258 return browser->he_selection->thread; in hist_browser__selected_thread()
1444 int (*fn)(struct hist_browser *browser, struct popup_action *act);
1448 do_annotate(struct hist_browser *browser, struct popup_action *act) in do_annotate() argument
1455 if (!objdump_path && perf_env__lookup_objdump(browser->env)) in do_annotate()
1462 evsel = hists_to_evsel(browser->hists); in do_annotate()
1463 err = map_symbol__tui_annotate(&act->ms, evsel, browser->hbt); in do_annotate()
1464 he = hist_browser__selected_entry(browser); in do_annotate()
1472 ui_browser__update_nr_entries(&browser->b, browser->hists->nr_entries); in do_annotate()
1474 ui_browser__handle_resize(&browser->b); in do_annotate()
1479 add_annotate_opt(struct hist_browser *browser __maybe_unused, in add_annotate_opt()
1496 do_zoom_thread(struct hist_browser *browser, struct popup_action *act) in do_zoom_thread() argument
1500 if (browser->hists->thread_filter) { in do_zoom_thread()
1501 pstack__remove(browser->pstack, &browser->hists->thread_filter); in do_zoom_thread()
1503 thread__zput(browser->hists->thread_filter); in do_zoom_thread()
1509 browser->hists->thread_filter = thread__get(thread); in do_zoom_thread()
1511 pstack__push(browser->pstack, &browser->hists->thread_filter); in do_zoom_thread()
1514 hists__filter_by_thread(browser->hists); in do_zoom_thread()
1515 hist_browser__reset(browser); in do_zoom_thread()
1520 add_thread_opt(struct hist_browser *browser, struct popup_action *act, in add_thread_opt() argument
1527 browser->hists->thread_filter ? "out of" : "into", in add_thread_opt()
1538 do_zoom_dso(struct hist_browser *browser, struct popup_action *act) in do_zoom_dso() argument
1542 if (browser->hists->dso_filter) { in do_zoom_dso()
1543 pstack__remove(browser->pstack, &browser->hists->dso_filter); in do_zoom_dso()
1545 browser->hists->dso_filter = NULL; in do_zoom_dso()
1552 browser->hists->dso_filter = map->dso; in do_zoom_dso()
1554 pstack__push(browser->pstack, &browser->hists->dso_filter); in do_zoom_dso()
1557 hists__filter_by_dso(browser->hists); in do_zoom_dso()
1558 hist_browser__reset(browser); in do_zoom_dso()
1563 add_dso_opt(struct hist_browser *browser, struct popup_action *act, in add_dso_opt() argument
1570 browser->hists->dso_filter ? "out of" : "into", in add_dso_opt()
1580 do_browse_map(struct hist_browser *browser __maybe_unused, in do_browse_map()
1588 add_map_opt(struct hist_browser *browser __maybe_unused, in add_map_opt()
1603 do_run_script(struct hist_browser *browser __maybe_unused, in do_run_script()
1622 add_script_opt(struct hist_browser *browser __maybe_unused, in add_script_opt()
1646 do_switch_data(struct hist_browser *browser __maybe_unused, in do_switch_data()
1659 add_switch_opt(struct hist_browser *browser, in add_switch_opt() argument
1662 if (!is_report_browser(browser->hbt)) in add_switch_opt()
1673 do_exit_browser(struct hist_browser *browser __maybe_unused, in do_exit_browser()
1680 add_exit_opt(struct hist_browser *browser __maybe_unused, in add_exit_opt()
1691 do_zoom_socket(struct hist_browser *browser, struct popup_action *act) in do_zoom_socket() argument
1693 if (browser->hists->socket_filter > -1) { in do_zoom_socket()
1694 pstack__remove(browser->pstack, &browser->hists->socket_filter); in do_zoom_socket()
1695 browser->hists->socket_filter = -1; in do_zoom_socket()
1698 browser->hists->socket_filter = act->socket; in do_zoom_socket()
1700 pstack__push(browser->pstack, &browser->hists->socket_filter); in do_zoom_socket()
1703 hists__filter_by_socket(browser->hists); in do_zoom_socket()
1704 hist_browser__reset(browser); in do_zoom_socket()
1709 add_socket_opt(struct hist_browser *browser, struct popup_action *act, in add_socket_opt() argument
1716 (browser->hists->socket_filter > -1) ? "out of" : "into", in add_socket_opt()
1751 struct hist_browser *browser = hist_browser__new(hists, hbt, env); in perf_evsel__hists_browse() local
1798 if (browser == NULL) in perf_evsel__hists_browse()
1806 browser->min_pcnt = min_pcnt; in perf_evsel__hists_browse()
1807 hist_browser__update_nr_entries(browser); in perf_evsel__hists_browse()
1810 browser->pstack = pstack__new(3); in perf_evsel__hists_browse()
1811 if (browser->pstack == NULL) in perf_evsel__hists_browse()
1828 ++browser->b.columns; in perf_evsel__hists_browse()
1842 key = hist_browser__run(browser, helpline); in perf_evsel__hists_browse()
1844 if (browser->he_selection != NULL) { in perf_evsel__hists_browse()
1845 thread = hist_browser__selected_thread(browser); in perf_evsel__hists_browse()
1846 map = browser->selection->map; in perf_evsel__hists_browse()
1847 socked_id = browser->he_selection->socket; in perf_evsel__hists_browse()
1861 ui_browser__warning(&browser->b, delay_secs * 2, in perf_evsel__hists_browse()
1867 if (browser->selection == NULL || in perf_evsel__hists_browse()
1868 browser->selection->sym == NULL || in perf_evsel__hists_browse()
1869 browser->selection->map->dso->annotate_warned) in perf_evsel__hists_browse()
1872 actions->ms.map = browser->selection->map; in perf_evsel__hists_browse()
1873 actions->ms.sym = browser->selection->sym; in perf_evsel__hists_browse()
1874 do_annotate(browser, actions); in perf_evsel__hists_browse()
1877 hist_browser__dump(browser); in perf_evsel__hists_browse()
1881 do_zoom_dso(browser, actions); in perf_evsel__hists_browse()
1884 browser->show_dso = !browser->show_dso; in perf_evsel__hists_browse()
1888 do_zoom_thread(browser, actions); in perf_evsel__hists_browse()
1892 do_zoom_socket(browser, actions); in perf_evsel__hists_browse()
1902 hist_browser__reset(browser); in perf_evsel__hists_browse()
1909 do_run_script(browser, actions); in perf_evsel__hists_browse()
1914 key = do_switch_data(browser, actions); in perf_evsel__hists_browse()
1937 ui_browser__help_window(&browser->b, in perf_evsel__hists_browse()
1949 if (pstack__empty(browser->pstack)) { in perf_evsel__hists_browse()
1957 ui_browser__dialog_yesno(&browser->b, in perf_evsel__hists_browse()
1963 top = pstack__peek(browser->pstack); in perf_evsel__hists_browse()
1964 if (top == &browser->hists->dso_filter) { in perf_evsel__hists_browse()
1970 do_zoom_dso(browser, actions); in perf_evsel__hists_browse()
1971 } else if (top == &browser->hists->thread_filter) { in perf_evsel__hists_browse()
1972 do_zoom_thread(browser, actions); in perf_evsel__hists_browse()
1973 } else if (top == &browser->hists->socket_filter) { in perf_evsel__hists_browse()
1974 do_zoom_socket(browser, actions); in perf_evsel__hists_browse()
2008 if (browser->selection == NULL) in perf_evsel__hists_browse()
2012 bi = browser->he_selection->branch_info; in perf_evsel__hists_browse()
2017 nr_options += add_annotate_opt(browser, in perf_evsel__hists_browse()
2023 nr_options += add_annotate_opt(browser, in perf_evsel__hists_browse()
2029 nr_options += add_annotate_opt(browser, in perf_evsel__hists_browse()
2032 browser->selection->map, in perf_evsel__hists_browse()
2033 browser->selection->sym); in perf_evsel__hists_browse()
2036 nr_options += add_thread_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2038 nr_options += add_dso_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2040 nr_options += add_map_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2042 browser->selection ? in perf_evsel__hists_browse()
2043 browser->selection->map : NULL); in perf_evsel__hists_browse()
2044 nr_options += add_socket_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2048 if (browser->he_selection) { in perf_evsel__hists_browse()
2049 nr_options += add_script_opt(browser, in perf_evsel__hists_browse()
2062 if (sort__has_sym && browser->selection->sym) { in perf_evsel__hists_browse()
2063 nr_options += add_script_opt(browser, in perf_evsel__hists_browse()
2066 NULL, browser->selection->sym); in perf_evsel__hists_browse()
2069 nr_options += add_script_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2071 nr_options += add_switch_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2074 nr_options += add_exit_opt(browser, &actions[nr_options], in perf_evsel__hists_browse()
2085 key = act->fn(browser, act); in perf_evsel__hists_browse()
2092 pstack__delete(browser->pstack); in perf_evsel__hists_browse()
2094 hist_browser__delete(browser); in perf_evsel__hists_browse()
2107 static void perf_evsel_menu__write(struct ui_browser *browser, in perf_evsel_menu__write() argument
2110 struct perf_evsel_menu *menu = container_of(browser, in perf_evsel_menu__write()
2114 bool current_entry = ui_browser__is_current_entry(browser, row); in perf_evsel_menu__write()
2121 ui_browser__set_color(browser, current_entry ? HE_COLORSET_SELECTED : in perf_evsel_menu__write()
2138 ui_browser__printf(browser, "%s", bf); in perf_evsel_menu__write()
2144 ui_browser__set_color(browser, HE_COLORSET_TOP); in perf_evsel_menu__write()
2151 ui_browser__write_nstring(browser, warn, browser->width - printed); in perf_evsel_menu__write()
2242 static bool filter_group_entries(struct ui_browser *browser __maybe_unused, in filter_group_entries()