Linux Perf
hists.c File Reference
#include <dirent.h>
#include <errno.h>
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <linux/rbtree.h>
#include <sys/ttydefaults.h>
#include "../../util/evsel.h"
#include "../../util/evlist.h"
#include "../../util/hist.h"
#include "../../util/pstack.h"
#include "../../util/sort.h"
#include "../../util/util.h"
#include "../../util/top.h"
#include "../../util/thread.h"
#include "../../arch/common.h"
#include "../browsers/hists.h"
#include "../helpline.h"
#include "../util.h"
#include "../ui.h"
#include "map.h"
#include "annotate.h"
#include "srcline.h"
#include "string2.h"
#include "units.h"
#include "sane_ctype.h"
Include dependency graph for hists.c:

Go to the source code of this file.

Classes

struct  callchain_print_arg
 
struct  hpp_arg
 
struct  popup_action
 
struct  perf_evsel_menu
 

Macros

#define LEVEL_OFFSET_STEP   3
 
#define __HPP_COLOR_PERCENT_FN(_type, _field)
 
#define __HPP_COLOR_ACC_PERCENT_FN(_type, _field)
 
#define MAX_OPTIONS   16
 
#define HIST_BROWSER_HELP_COMMON
 

Typedefs

typedef void(* print_callchain_entry_fn) (struct hist_browser *browser, struct callchain_list *chain, const char *str, int offset, unsigned short row, struct callchain_print_arg *arg)
 
typedef bool(* check_output_full_fn) (struct hist_browser *browser, unsigned short row)
 

Functions

void hist_browser__init_hpp (void)
 
static int hists_browser__scnprintf_title (struct hist_browser *browser, char *bf, size_t size)
 
static void hist_browser__update_nr_entries (struct hist_browser *hb)
 
static struct rb_node * hists__filter_entries (struct rb_node *nd, float min_pcnt)
 
static bool hist_browser__has_filter (struct hist_browser *hb)
 
static int hist_browser__get_folding (struct hist_browser *browser)
 
static void hist_browser__set_title_space (struct hist_browser *hb)
 
static u32 hist_browser__nr_entries (struct hist_browser *hb)
 
static void hist_browser__update_rows (struct hist_browser *hb)
 
static void hist_browser__refresh_dimensions (struct ui_browser *browser)
 
static void hist_browser__reset (struct hist_browser *browser)
 
static char tree__folded_sign (bool unfolded)
 
static char hist_entry__folded (const struct hist_entry *he)
 
static char callchain_list__folded (const struct callchain_list *cl)
 
static void callchain_list__set_folding (struct callchain_list *cl, bool unfold)
 
static int callchain_node__count_rows_rb_tree (struct callchain_node *node)
 
static int callchain_node__count_flat_rows (struct callchain_node *node)
 
static int callchain_node__count_folded_rows (struct callchain_node *node __maybe_unused)
 
static int callchain_node__count_rows (struct callchain_node *node)
 
static int callchain__count_rows (struct rb_root *chain)
 
static int hierarchy_count_rows (struct hist_browser *hb, struct hist_entry *he, bool include_children)
 
static bool hist_entry__toggle_fold (struct hist_entry *he)
 
static bool callchain_list__toggle_fold (struct callchain_list *cl)
 
static void callchain_node__init_have_children_rb_tree (struct callchain_node *node)
 
static void callchain_node__init_have_children (struct callchain_node *node, bool has_sibling)
 
static void callchain__init_have_children (struct rb_root *root)
 
static void hist_entry__init_have_children (struct hist_entry *he)
 
static bool hist_browser__toggle_fold (struct hist_browser *browser)
 
static int callchain_node__set_folding_rb_tree (struct callchain_node *node, bool unfold)
 
static int callchain_node__set_folding (struct callchain_node *node, bool unfold)
 
static int callchain__set_folding (struct rb_root *chain, bool unfold)
 
static int hierarchy_set_folding (struct hist_browser *hb, struct hist_entry *he, bool unfold __maybe_unused)
 
static void __hist_entry__set_folding (struct hist_entry *he, struct hist_browser *hb, bool unfold)
 
static void hist_entry__set_folding (struct hist_entry *he, struct hist_browser *browser, bool unfold)
 
static void __hist_browser__set_folding (struct hist_browser *browser, bool unfold)
 
static void hist_browser__set_folding (struct hist_browser *browser, bool unfold)
 
static void hist_browser__set_folding_selected (struct hist_browser *browser, bool unfold)
 
static void ui_browser__warn_lost_events (struct ui_browser *browser)
 
static int hist_browser__title (struct hist_browser *browser, char *bf, size_t size)
 
int hist_browser__run (struct hist_browser *browser, const char *help, bool warn_lost_event)
 
static void hist_browser__show_callchain_entry (struct hist_browser *browser, struct callchain_list *chain, const char *str, int offset, unsigned short row, struct callchain_print_arg *arg)
 
static void hist_browser__fprintf_callchain_entry (struct hist_browser *b __maybe_unused, struct callchain_list *chain, const char *str, int offset, unsigned short row __maybe_unused, struct callchain_print_arg *arg)
 
static bool hist_browser__check_output_full (struct hist_browser *browser, unsigned short row)
 
static bool hist_browser__check_dump_full (struct hist_browser *browser __maybe_unused, unsigned short row __maybe_unused)
 
static int hist_browser__show_callchain_list (struct hist_browser *browser, struct callchain_node *node, struct callchain_list *chain, unsigned short row, u64 total, bool need_percent, int offset, print_callchain_entry_fn print, struct callchain_print_arg *arg)
 
static bool check_percent_display (struct rb_node *node, u64 parent_total)
 
static int hist_browser__show_callchain_flat (struct hist_browser *browser, struct rb_root *root, unsigned short row, u64 total, u64 parent_total, print_callchain_entry_fn print, struct callchain_print_arg *arg, check_output_full_fn is_output_full)
 
static char * hist_browser__folded_callchain_str (struct hist_browser *browser, struct callchain_list *chain, char *value_str, char *old_str)
 
static int hist_browser__show_callchain_folded (struct hist_browser *browser, struct rb_root *root, unsigned short row, u64 total, u64 parent_total, print_callchain_entry_fn print, struct callchain_print_arg *arg, check_output_full_fn is_output_full)
 
static int hist_browser__show_callchain_graph (struct hist_browser *browser, struct rb_root *root, int level, unsigned short row, u64 total, u64 parent_total, print_callchain_entry_fn print, struct callchain_print_arg *arg, check_output_full_fn is_output_full)
 
static int hist_browser__show_callchain (struct hist_browser *browser, struct hist_entry *entry, int level, unsigned short row, print_callchain_entry_fn print, struct callchain_print_arg *arg, check_output_full_fn is_output_full)
 
int __hpp__slsmg_color_printf (struct perf_hpp *hpp, const char *fmt,...)
 
static int hist_browser__show_entry (struct hist_browser *browser, struct hist_entry *entry, unsigned short row)
 
static int hist_browser__show_hierarchy_entry (struct hist_browser *browser, struct hist_entry *entry, unsigned short row, int level)
 
static int hist_browser__show_no_entry (struct hist_browser *browser, unsigned short row, int level)
 
static int advance_hpp_check (struct perf_hpp *hpp, int inc)
 
static int hists_browser__scnprintf_headers (struct hist_browser *browser, char *buf, size_t size, int line)
 
static int hists_browser__scnprintf_hierarchy_headers (struct hist_browser *browser, char *buf, size_t size)
 
static void hists_browser__hierarchy_headers (struct hist_browser *browser)
 
static void hists_browser__headers (struct hist_browser *browser)
 
static void hist_browser__show_headers (struct hist_browser *browser)
 
static void ui_browser__hists_init_top (struct ui_browser *browser)
 
static unsigned int hist_browser__refresh (struct ui_browser *browser)
 
static struct rb_node * hists__filter_prev_entries (struct rb_node *nd, float min_pcnt)
 
static void ui_browser__hists_seek (struct ui_browser *browser, off_t offset, int whence)
 
static int hist_browser__fprintf_callchain (struct hist_browser *browser, struct hist_entry *he, FILE *fp, int level)
 
static int hist_browser__fprintf_entry (struct hist_browser *browser, struct hist_entry *he, FILE *fp)
 
static int hist_browser__fprintf_hierarchy_entry (struct hist_browser *browser, struct hist_entry *he, FILE *fp, int level)
 
static int hist_browser__fprintf (struct hist_browser *browser, FILE *fp)
 
static int hist_browser__dump (struct hist_browser *browser)
 
void hist_browser__init (struct hist_browser *browser, struct hists *hists)
 
struct hist_browserhist_browser__new (struct hists *hists)
 
static struct hist_browserperf_evsel_browser__new (struct perf_evsel *evsel, struct hist_browser_timer *hbt, struct perf_env *env, struct annotation_options *annotation_opts)
 
void hist_browser__delete (struct hist_browser *browser)
 
static struct hist_entryhist_browser__selected_entry (struct hist_browser *browser)
 
static struct threadhist_browser__selected_thread (struct hist_browser *browser)
 
static bool is_report_browser (void *timer)
 
static void free_popup_options (char **options, int n)
 
static int switch_data_file (void)
 
static int do_annotate (struct hist_browser *browser, struct popup_action *act)
 
static int add_annotate_opt (struct hist_browser *browser __maybe_unused, struct popup_action *act, char **optstr, struct map *map, struct symbol *sym)
 
static int do_zoom_thread (struct hist_browser *browser, struct popup_action *act)
 
static int add_thread_opt (struct hist_browser *browser, struct popup_action *act, char **optstr, struct thread *thread)
 
static int do_zoom_dso (struct hist_browser *browser, struct popup_action *act)
 
static int add_dso_opt (struct hist_browser *browser, struct popup_action *act, char **optstr, struct map *map)
 
static int do_browse_map (struct hist_browser *browser __maybe_unused, struct popup_action *act)
 
static int add_map_opt (struct hist_browser *browser, struct popup_action *act, char **optstr, struct map *map)
 
static int do_run_script (struct hist_browser *browser __maybe_unused, struct popup_action *act)
 
static int add_script_opt (struct hist_browser *browser __maybe_unused, struct popup_action *act, char **optstr, struct thread *thread, struct symbol *sym)
 
static int do_switch_data (struct hist_browser *browser __maybe_unused, struct popup_action *act __maybe_unused)
 
static int add_switch_opt (struct hist_browser *browser, struct popup_action *act, char **optstr)
 
static int do_exit_browser (struct hist_browser *browser __maybe_unused, struct popup_action *act __maybe_unused)
 
static int add_exit_opt (struct hist_browser *browser __maybe_unused, struct popup_action *act, char **optstr)
 
static int do_zoom_socket (struct hist_browser *browser, struct popup_action *act)
 
static int add_socket_opt (struct hist_browser *browser, struct popup_action *act, char **optstr, int socket_id)
 
static void hist_browser__update_percent_limit (struct hist_browser *hb, double percent)
 
static int perf_evsel__hists_browse (struct perf_evsel *evsel, int nr_events, const char *helpline, bool left_exits, struct hist_browser_timer *hbt, float min_pcnt, struct perf_env *env, bool warn_lost_event, struct annotation_options *annotation_opts)
 
static void perf_evsel_menu__write (struct ui_browser *browser, void *entry, int row)
 
static int perf_evsel_menu__run (struct perf_evsel_menu *menu, int nr_events, const char *help, struct hist_browser_timer *hbt, bool warn_lost_event)
 
static bool filter_group_entries (struct ui_browser *browser __maybe_unused, void *entry)
 
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, bool warn_lost_event, struct annotation_options *annotation_opts)
 
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, struct annotation_options *annotation_opts)
 

Variables

static bool is_input_name_malloced = false
 

Macro Definition Documentation

◆ __HPP_COLOR_ACC_PERCENT_FN

#define __HPP_COLOR_ACC_PERCENT_FN (   _type,
  _field 
)
Value:
static u64 __hpp_get_acc_##_field(struct hist_entry *he) \
{ \
return he->stat_acc->_field; \
} \
\
static int \
hist_browser__hpp_color_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, \
struct hist_entry *he) \
{ \
struct hpp_arg *arg = hpp->ptr; \
int len = fmt->user_len ?: fmt->len; \
int ret = scnprintf(hpp->buf, hpp->size, \
"%*s", len, "N/A"); \
ui_browser__printf(arg->b, "%s", hpp->buf); \
\
return ret; \
} \
return hpp__fmt(fmt, hpp, he, __hpp_get_acc_##_field, \
" %*.2f%%", __hpp__slsmg_color_printf, true); \
}
bool cumulate_callchain
Definition: symbol.h:93
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
int hpp__fmt(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:110
int __hpp__slsmg_color_printf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hists.c:1141

Definition at line 1176 of file hists.c.

◆ __HPP_COLOR_PERCENT_FN

#define __HPP_COLOR_PERCENT_FN (   _type,
  _field 
)
Value:
static u64 __hpp_get_##_field(struct hist_entry *he) \
{ \
return he->stat._field; \
} \
\
static int \
hist_browser__hpp_color_##_type(struct perf_hpp_fmt *fmt, \
struct perf_hpp *hpp, \
struct hist_entry *he) \
{ \
return hpp__fmt(fmt, hpp, he, __hpp_get_##_field, " %*.2f%%", \
}
Definition: hist.h:234
Definition: sort.h:89
const char * fmt
Definition: dso.c:193
int hpp__fmt(struct perf_hpp_fmt *fmt, struct perf_hpp *hpp, struct hist_entry *he, hpp_field_fn get_field, const char *fmtstr, hpp_snprint_fn print_fn, bool fmt_percent)
Definition: hist.c:110
int __hpp__slsmg_color_printf(struct perf_hpp *hpp, const char *fmt,...)
Definition: hists.c:1141

Definition at line 1161 of file hists.c.

◆ HIST_BROWSER_HELP_COMMON

#define HIST_BROWSER_HELP_COMMON
Value:
"h/?/F1 Show this window\n" \
"UP/DOWN/PGUP\n" \
"PGDN/SPACE Navigate\n" \
"q/ESC/CTRL+C Exit browser or go back to previous screen\n\n" \
"For multiple event sessions:\n\n" \
"TAB/UNTAB Switch events\n\n" \
"For symbolic views (--sort has sym):\n\n" \
"ENTER Zoom into DSO/Threads & Annotate current symbol\n" \
"ESC Zoom out\n" \
"a Annotate current symbol\n" \
"C Collapse all callchains\n" \
"d Zoom into current DSO\n" \
"E Expand all callchains\n" \
"F Toggle percentage of filtered entries\n" \
"H Display column headers\n" \
"L Change percent limit\n" \
"m Display context menu\n" \
"S Zoom into current Processor Socket\n" \

◆ LEVEL_OFFSET_STEP

#define LEVEL_OFFSET_STEP   3

Definition at line 774 of file hists.c.

◆ MAX_OPTIONS

#define MAX_OPTIONS   16

Typedef Documentation

◆ check_output_full_fn

typedef bool(* check_output_full_fn) (struct hist_browser *browser, unsigned short row)

Definition at line 759 of file hists.c.

◆ print_callchain_entry_fn

typedef void(* print_callchain_entry_fn) (struct hist_browser *browser, struct callchain_list *chain, const char *str, int offset, unsigned short row, struct callchain_print_arg *arg)

Definition at line 715 of file hists.c.

Function Documentation

◆ __hist_browser__set_folding()

static void __hist_browser__set_folding ( struct hist_browser browser,
bool  unfold 
)
static

Definition at line 564 of file hists.c.

Here is the call graph for this function:

◆ __hist_entry__set_folding()

static void __hist_entry__set_folding ( struct hist_entry he,
struct hist_browser hb,
bool  unfold 
)
static

Definition at line 521 of file hists.c.

Here is the call graph for this function:

◆ __hpp__slsmg_color_printf()

int __hpp__slsmg_color_printf ( struct perf_hpp hpp,
const char *  fmt,
  ... 
)

Definition at line 1141 of file hists.c.

Here is the call graph for this function:

◆ __perf_evlist__tui_browse_hists()

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,
bool  warn_lost_event,
struct annotation_options annotation_opts 
)
static

Definition at line 3228 of file hists.c.

Here is the call graph for this function:

◆ add_annotate_opt()

static int add_annotate_opt ( struct hist_browser *browser  __maybe_unused,
struct popup_action act,
char **  optstr,
struct map map,
struct symbol sym 
)
static

Definition at line 2368 of file hists.c.

Here is the call graph for this function:

◆ add_dso_opt()

static int add_dso_opt ( struct hist_browser browser,
struct popup_action act,
char **  optstr,
struct map map 
)
static

Definition at line 2473 of file hists.c.

Here is the call graph for this function:

◆ add_exit_opt()

static int add_exit_opt ( struct hist_browser *browser  __maybe_unused,
struct popup_action act,
char **  optstr 
)
static

Definition at line 2590 of file hists.c.

Here is the call graph for this function:

◆ add_map_opt()

static int add_map_opt ( struct hist_browser browser,
struct popup_action act,
char **  optstr,
struct map map 
)
static

Definition at line 2498 of file hists.c.

Here is the call graph for this function:

◆ add_script_opt()

static int add_script_opt ( struct hist_browser *browser  __maybe_unused,
struct popup_action act,
char **  optstr,
struct thread thread,
struct symbol sym 
)
static

Definition at line 2532 of file hists.c.

Here is the call graph for this function:

◆ add_socket_opt()

static int add_socket_opt ( struct hist_browser browser,
struct popup_action act,
char **  optstr,
int  socket_id 
)
static

Definition at line 2622 of file hists.c.

Here is the call graph for this function:

◆ add_switch_opt()

static int add_switch_opt ( struct hist_browser browser,
struct popup_action act,
char **  optstr 
)
static

Definition at line 2569 of file hists.c.

Here is the call graph for this function:

◆ add_thread_opt()

static int add_thread_opt ( struct hist_browser browser,
struct popup_action act,
char **  optstr,
struct thread thread 
)
static

Definition at line 2419 of file hists.c.

Here is the call graph for this function:

◆ advance_hpp_check()

static int advance_hpp_check ( struct perf_hpp hpp,
int  inc 
)
static

Definition at line 1567 of file hists.c.

Here is the call graph for this function:

◆ callchain__count_rows()

static int callchain__count_rows ( struct rb_root *  chain)
static

Definition at line 244 of file hists.c.

Here is the call graph for this function:

◆ callchain__init_have_children()

static void callchain__init_have_children ( struct rb_root *  root)
static

Definition at line 352 of file hists.c.

Here is the call graph for this function:

◆ callchain__set_folding()

static int callchain__set_folding ( struct rb_root *  chain,
bool  unfold 
)
static

Definition at line 490 of file hists.c.

Here is the call graph for this function:

◆ callchain_list__folded()

static char callchain_list__folded ( const struct callchain_list cl)
static

Definition at line 151 of file hists.c.

Here is the call graph for this function:

◆ callchain_list__set_folding()

static void callchain_list__set_folding ( struct callchain_list cl,
bool  unfold 
)
static

Definition at line 156 of file hists.c.

◆ callchain_list__toggle_fold()

static bool callchain_list__toggle_fold ( struct callchain_list cl)
static

Definition at line 301 of file hists.c.

◆ callchain_node__count_flat_rows()

static int callchain_node__count_flat_rows ( struct callchain_node node)
static

Definition at line 187 of file hists.c.

Here is the call graph for this function:

◆ callchain_node__count_folded_rows()

static int callchain_node__count_folded_rows ( struct callchain_node *node  __maybe_unused)
static

Definition at line 216 of file hists.c.

◆ callchain_node__count_rows()

static int callchain_node__count_rows ( struct callchain_node node)
static

Definition at line 221 of file hists.c.

Here is the call graph for this function:

◆ callchain_node__count_rows_rb_tree()

static int callchain_node__count_rows_rb_tree ( struct callchain_node node)
static

Definition at line 161 of file hists.c.

Here is the call graph for this function:

◆ callchain_node__init_have_children()

static void callchain_node__init_have_children ( struct callchain_node node,
bool  has_sibling 
)
static

Definition at line 336 of file hists.c.

Here is the call graph for this function:

◆ callchain_node__init_have_children_rb_tree()

static void callchain_node__init_have_children_rb_tree ( struct callchain_node node)
static

Definition at line 313 of file hists.c.

◆ callchain_node__set_folding()

static int callchain_node__set_folding ( struct callchain_node node,
bool  unfold 
)
static

Definition at line 472 of file hists.c.

Here is the call graph for this function:

◆ callchain_node__set_folding_rb_tree()

static int callchain_node__set_folding_rb_tree ( struct callchain_node node,
bool  unfold 
)
static

Definition at line 449 of file hists.c.

Here is the call graph for this function:

◆ check_percent_display()

static bool check_percent_display ( struct rb_node *  node,
u64  parent_total 
)
static

Definition at line 827 of file hists.c.

Here is the call graph for this function:

◆ do_annotate()

static int do_annotate ( struct hist_browser browser,
struct popup_action act 
)
static

Definition at line 2335 of file hists.c.

Here is the call graph for this function:

◆ do_browse_map()

static int do_browse_map ( struct hist_browser *browser  __maybe_unused,
struct popup_action act 
)
static

Definition at line 2490 of file hists.c.

Here is the call graph for this function:

◆ do_exit_browser()

static int do_exit_browser ( struct hist_browser *browser  __maybe_unused,
struct popup_action *act  __maybe_unused 
)
static

Definition at line 2583 of file hists.c.

◆ do_run_script()

static int do_run_script ( struct hist_browser *browser  __maybe_unused,
struct popup_action act 
)
static

Definition at line 2513 of file hists.c.

Here is the call graph for this function:

◆ do_switch_data()

static int do_switch_data ( struct hist_browser *browser  __maybe_unused,
struct popup_action *act  __maybe_unused 
)
static

Definition at line 2556 of file hists.c.

Here is the call graph for this function:

◆ do_zoom_dso()

static int do_zoom_dso ( struct hist_browser browser,
struct popup_action act 
)
static

Definition at line 2447 of file hists.c.

Here is the call graph for this function:

◆ do_zoom_socket()

static int do_zoom_socket ( struct hist_browser browser,
struct popup_action act 
)
static

Definition at line 2601 of file hists.c.

Here is the call graph for this function:

◆ do_zoom_thread()

static int do_zoom_thread ( struct hist_browser browser,
struct popup_action act 
)
static

Definition at line 2385 of file hists.c.

Here is the call graph for this function:

◆ filter_group_entries()

static bool filter_group_entries ( struct ui_browser *browser  __maybe_unused,
void *  entry 
)
static

Definition at line 3217 of file hists.c.

Here is the call graph for this function:

◆ free_popup_options()

static void free_popup_options ( char **  options,
int  n 
)
inlinestatic

Definition at line 2229 of file hists.c.

◆ hierarchy_count_rows()

static int hierarchy_count_rows ( struct hist_browser hb,
struct hist_entry he,
bool  include_children 
)
static

Definition at line 257 of file hists.c.

Here is the call graph for this function:

◆ hierarchy_set_folding()

static int hierarchy_set_folding ( struct hist_browser hb,
struct hist_entry he,
bool unfold  __maybe_unused 
)
static

Definition at line 503 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__check_dump_full()

static bool hist_browser__check_dump_full ( struct hist_browser *browser  __maybe_unused,
unsigned short row  __maybe_unused 
)
static

Definition at line 768 of file hists.c.

◆ hist_browser__check_output_full()

static bool hist_browser__check_output_full ( struct hist_browser browser,
unsigned short  row 
)
static

Definition at line 762 of file hists.c.

◆ hist_browser__delete()

void hist_browser__delete ( struct hist_browser browser)

Definition at line 2193 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__dump()

static int hist_browser__dump ( struct hist_browser browser)
static

Definition at line 2100 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__folded_callchain_str()

static char* hist_browser__folded_callchain_str ( struct hist_browser browser,
struct callchain_list chain,
char *  value_str,
char *  old_str 
)
static

Definition at line 919 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__fprintf()

static int hist_browser__fprintf ( struct hist_browser browser,
FILE *  fp 
)
static

Definition at line 2076 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__fprintf_callchain()

static int hist_browser__fprintf_callchain ( struct hist_browser browser,
struct hist_entry he,
FILE *  fp,
int  level 
)
static

Definition at line 1963 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__fprintf_callchain_entry()

static void hist_browser__fprintf_callchain_entry ( struct hist_browser *b  __maybe_unused,
struct callchain_list chain,
const char *  str,
int  offset,
unsigned short row  __maybe_unused,
struct callchain_print_arg arg 
)
static

Definition at line 747 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__fprintf_entry()

static int hist_browser__fprintf_entry ( struct hist_browser browser,
struct hist_entry he,
FILE *  fp 
)
static

Definition at line 1977 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__fprintf_hierarchy_entry()

static int hist_browser__fprintf_hierarchy_entry ( struct hist_browser browser,
struct hist_entry he,
FILE *  fp,
int  level 
)
static

Definition at line 2019 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__get_folding()

static int hist_browser__get_folding ( struct hist_browser browser)
static

Definition at line 46 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__has_filter()

static bool hist_browser__has_filter ( struct hist_browser hb)
static

Definition at line 41 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__init()

void hist_browser__init ( struct hist_browser browser,
struct hists hists 
)

Definition at line 2134 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__init_hpp()

void hist_browser__init_hpp ( void  )

Definition at line 1210 of file hists.c.

◆ hist_browser__new()

struct hist_browser* hist_browser__new ( struct hists hists)

Definition at line 2166 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__nr_entries()

static u32 hist_browser__nr_entries ( struct hist_browser hb)
static

Definition at line 73 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__refresh()

static unsigned int hist_browser__refresh ( struct ui_browser browser)
static

Definition at line 1745 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__refresh_dimensions()

static void hist_browser__refresh_dimensions ( struct ui_browser browser)
static

Definition at line 112 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__reset()

static void hist_browser__reset ( struct hist_browser browser)
static

Definition at line 127 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__run()

int hist_browser__run ( struct hist_browser browser,
const char *  help,
bool  warn_lost_event 
)

Definition at line 614 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__selected_entry()

static struct hist_entry* hist_browser__selected_entry ( struct hist_browser browser)
static

Definition at line 2198 of file hists.c.

◆ hist_browser__selected_thread()

static struct thread* hist_browser__selected_thread ( struct hist_browser browser)
static

Definition at line 2203 of file hists.c.

◆ hist_browser__set_folding()

static void hist_browser__set_folding ( struct hist_browser browser,
bool  unfold 
)
static

Definition at line 580 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__set_folding_selected()

static void hist_browser__set_folding_selected ( struct hist_browser browser,
bool  unfold 
)
static

Definition at line 591 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__set_title_space()

static void hist_browser__set_title_space ( struct hist_browser hb)
static

Definition at line 64 of file hists.c.

◆ hist_browser__show_callchain()

static int hist_browser__show_callchain ( struct hist_browser browser,
struct hist_entry entry,
int  level,
unsigned short  row,
print_callchain_entry_fn  print,
struct callchain_print_arg arg,
check_output_full_fn  is_output_full 
)
static

Definition at line 1096 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_callchain_entry()

static void hist_browser__show_callchain_entry ( struct hist_browser browser,
struct callchain_list chain,
const char *  str,
int  offset,
unsigned short  row,
struct callchain_print_arg arg 
)
static

Definition at line 721 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_callchain_flat()

static int hist_browser__show_callchain_flat ( struct hist_browser browser,
struct rb_root *  root,
unsigned short  row,
u64  total,
u64  parent_total,
print_callchain_entry_fn  print,
struct callchain_print_arg arg,
check_output_full_fn  is_output_full 
)
static

Definition at line 841 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_callchain_folded()

static int hist_browser__show_callchain_folded ( struct hist_browser browser,
struct rb_root *  root,
unsigned short  row,
u64  total,
u64  parent_total,
print_callchain_entry_fn  print,
struct callchain_print_arg arg,
check_output_full_fn  is_output_full 
)
static

Definition at line 945 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_callchain_graph()

static int hist_browser__show_callchain_graph ( struct hist_browser browser,
struct rb_root *  root,
int  level,
unsigned short  row,
u64  total,
u64  parent_total,
print_callchain_entry_fn  print,
struct callchain_print_arg arg,
check_output_full_fn  is_output_full 
)
static

Definition at line 1030 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_callchain_list()

static int hist_browser__show_callchain_list ( struct hist_browser browser,
struct callchain_node node,
struct callchain_list chain,
unsigned short  row,
u64  total,
bool  need_percent,
int  offset,
print_callchain_entry_fn  print,
struct callchain_print_arg arg 
)
static

Definition at line 776 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_entry()

static int hist_browser__show_entry ( struct hist_browser browser,
struct hist_entry entry,
unsigned short  row 
)
static

Definition at line 1226 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_headers()

static void hist_browser__show_headers ( struct hist_browser browser)
static

Definition at line 1727 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_hierarchy_entry()

static int hist_browser__show_hierarchy_entry ( struct hist_browser browser,
struct hist_entry entry,
unsigned short  row,
int  level 
)
static

Definition at line 1332 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__show_no_entry()

static int hist_browser__show_no_entry ( struct hist_browser browser,
unsigned short  row,
int  level 
)
static

Definition at line 1498 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__title()

static int hist_browser__title ( struct hist_browser browser,
char *  bf,
size_t  size 
)
static

Definition at line 609 of file hists.c.

◆ hist_browser__toggle_fold()

static bool hist_browser__toggle_fold ( struct hist_browser browser)
static

Definition at line 381 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__update_nr_entries()

static void hist_browser__update_nr_entries ( struct hist_browser hb)
static

Definition at line 2638 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__update_percent_limit()

static void hist_browser__update_percent_limit ( struct hist_browser hb,
double  percent 
)
static

Definition at line 2657 of file hists.c.

Here is the call graph for this function:

◆ hist_browser__update_rows()

static void hist_browser__update_rows ( struct hist_browser hb)
static

Definition at line 88 of file hists.c.

◆ hist_entry__folded()

static char hist_entry__folded ( const struct hist_entry he)
static

Definition at line 146 of file hists.c.

Here is the call graph for this function:

◆ hist_entry__init_have_children()

static void hist_entry__init_have_children ( struct hist_entry he)
static

Definition at line 366 of file hists.c.

Here is the call graph for this function:

◆ hist_entry__set_folding()

static void hist_entry__set_folding ( struct hist_entry he,
struct hist_browser browser,
bool  unfold 
)
static

Definition at line 540 of file hists.c.

Here is the call graph for this function:

◆ hist_entry__toggle_fold()

static bool hist_entry__toggle_fold ( struct hist_entry he)
static

Definition at line 289 of file hists.c.

◆ hists__filter_entries()

static struct rb_node * hists__filter_entries ( struct rb_node *  nd,
float  min_pcnt 
)
static

Definition at line 1793 of file hists.c.

Here is the call graph for this function:

◆ hists__filter_prev_entries()

static struct rb_node* hists__filter_prev_entries ( struct rb_node *  nd,
float  min_pcnt 
)
static

Definition at line 1816 of file hists.c.

Here is the call graph for this function:

◆ hists_browser__headers()

static void hists_browser__headers ( struct hist_browser browser)
static

Definition at line 1708 of file hists.c.

Here is the call graph for this function:

◆ hists_browser__hierarchy_headers()

static void hists_browser__hierarchy_headers ( struct hist_browser browser)
static

Definition at line 1696 of file hists.c.

Here is the call graph for this function:

◆ hists_browser__scnprintf_headers()

static int hists_browser__scnprintf_headers ( struct hist_browser browser,
char *  buf,
size_t  size,
int  line 
)
static

Definition at line 1574 of file hists.c.

Here is the call graph for this function:

◆ hists_browser__scnprintf_hierarchy_headers()

static int hists_browser__scnprintf_hierarchy_headers ( struct hist_browser browser,
char *  buf,
size_t  size 
)
static

Definition at line 1612 of file hists.c.

Here is the call graph for this function:

◆ hists_browser__scnprintf_title()

static int hists_browser__scnprintf_title ( struct hist_browser browser,
char *  bf,
size_t  size 
)
static

Definition at line 2214 of file hists.c.

Here is the call graph for this function:

◆ is_report_browser()

static bool is_report_browser ( void *  timer)
inlinestatic

Definition at line 2209 of file hists.c.

◆ perf_evlist__tui_browse_hists()

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,
struct annotation_options annotation_opts 
)

Definition at line 3266 of file hists.c.

Here is the call graph for this function:

◆ perf_evsel__hists_browse()

static int perf_evsel__hists_browse ( struct perf_evsel evsel,
int  nr_events,
const char *  helpline,
bool  left_exits,
struct hist_browser_timer hbt,
float  min_pcnt,
struct perf_env env,
bool  warn_lost_event,
struct annotation_options annotation_opts 
)
static

Definition at line 2699 of file hists.c.

Here is the call graph for this function:

◆ perf_evsel_browser__new()

static struct hist_browser* perf_evsel_browser__new ( struct perf_evsel evsel,
struct hist_browser_timer hbt,
struct perf_env env,
struct annotation_options annotation_opts 
)
static

Definition at line 2177 of file hists.c.

Here is the call graph for this function:

◆ perf_evsel_menu__run()

static int perf_evsel_menu__run ( struct perf_evsel_menu menu,
int  nr_events,
const char *  help,
struct hist_browser_timer hbt,
bool  warn_lost_event 
)
static

Definition at line 3127 of file hists.c.

Here is the call graph for this function:

◆ perf_evsel_menu__write()

static void perf_evsel_menu__write ( struct ui_browser browser,
void *  entry,
int  row 
)
static

Definition at line 3077 of file hists.c.

Here is the call graph for this function:

◆ switch_data_file()

static int switch_data_file ( void  )
static

Definition at line 2244 of file hists.c.

Here is the call graph for this function:

◆ tree__folded_sign()

static char tree__folded_sign ( bool  unfolded)
static

Definition at line 141 of file hists.c.

◆ ui_browser__hists_init_top()

static void ui_browser__hists_init_top ( struct ui_browser browser)
static

Definition at line 1735 of file hists.c.

◆ ui_browser__hists_seek()

static void ui_browser__hists_seek ( struct ui_browser browser,
off_t  offset,
int  whence 
)
static

Definition at line 1832 of file hists.c.

Here is the call graph for this function:

◆ ui_browser__warn_lost_events()

static void ui_browser__warn_lost_events ( struct ui_browser browser)
static

Definition at line 600 of file hists.c.

Here is the call graph for this function:

Variable Documentation

◆ is_input_name_malloced

bool is_input_name_malloced = false
static

Definition at line 2242 of file hists.c.