Linux Perf
hist.h File Reference
#include <linux/types.h>
#include <pthread.h>
#include "callchain.h"
#include "evsel.h"
#include "header.h"
#include "color.h"
#include "ui/progress.h"
Include dependency graph for hist.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hists
 
struct  hist_iter_ops
 
struct  hist_entry_iter
 
struct  hists_evsel
 
struct  perf_hpp
 
struct  perf_hpp_fmt
 
struct  perf_hpp_list
 
struct  perf_hpp_list_node
 
struct  hist_browser_timer
 

Macros

#define hists__has(__h, __f)   (__h)->hpp_list->__f
 
#define perf_hpp_list__for_each_format(_list, format)   list_for_each_entry(format, &(_list)->fields, list)
 
#define perf_hpp_list__for_each_format_safe(_list, format, tmp)   list_for_each_entry_safe(format, tmp, &(_list)->fields, list)
 
#define perf_hpp_list__for_each_sort_list(_list, format)   list_for_each_entry(format, &(_list)->sorts, sort_list)
 
#define perf_hpp_list__for_each_sort_list_safe(_list, format, tmp)   list_for_each_entry_safe(format, tmp, &(_list)->sorts, sort_list)
 
#define hists__for_each_format(hists, format)   perf_hpp_list__for_each_format((hists)->hpp_list, fmt)
 
#define hists__for_each_sort_list(hists, format)   perf_hpp_list__for_each_sort_list((hists)->hpp_list, fmt)
 
#define K_LEFT   -1000
 
#define K_RIGHT   -2000
 
#define K_SWITCH_INPUT_DATA   -3000
 
#define HIERARCHY_INDENT   3
 

Typedefs

typedef int(* hists__resort_cb_t) (struct hist_entry *he)
 
typedef u64(* hpp_field_fn) (struct hist_entry *he)
 
typedef int(* hpp_callback_fn) (struct perf_hpp *hpp, bool front)
 
typedef int(* hpp_snprint_fn) (struct perf_hpp *hpp, const char *fmt,...)
 

Enumerations

enum  hist_filter {
  HIST_FILTER__DSO, HIST_FILTER__THREAD, HIST_FILTER__PARENT, HIST_FILTER__SYMBOL,
  HIST_FILTER__GUEST, HIST_FILTER__HOST, HIST_FILTER__SOCKET, HIST_FILTER__C2C
}
 
enum  hist_column {
  HISTC_SYMBOL, HISTC_DSO, HISTC_THREAD, HISTC_COMM,
  HISTC_CGROUP_ID, HISTC_PARENT, HISTC_CPU, HISTC_SOCKET,
  HISTC_SRCLINE, HISTC_SRCFILE, HISTC_MISPREDICT, HISTC_IN_TX,
  HISTC_ABORT, HISTC_SYMBOL_FROM, HISTC_SYMBOL_TO, HISTC_DSO_FROM,
  HISTC_DSO_TO, HISTC_LOCAL_WEIGHT, HISTC_GLOBAL_WEIGHT, HISTC_MEM_DADDR_SYMBOL,
  HISTC_MEM_DADDR_DSO, HISTC_MEM_PHYS_DADDR, HISTC_MEM_LOCKED, HISTC_MEM_TLB,
  HISTC_MEM_LVL, HISTC_MEM_SNOOP, HISTC_MEM_DCACHELINE, HISTC_MEM_IADDR_SYMBOL,
  HISTC_TRANSACTION, HISTC_CYCLES, HISTC_SRCLINE_FROM, HISTC_SRCLINE_TO,
  HISTC_TRACE, HISTC_SYM_SIZE, HISTC_DSO_SIZE, HISTC_NR_COLS
}
 
enum  {
  PERF_HPP__OVERHEAD, PERF_HPP__OVERHEAD_SYS, PERF_HPP__OVERHEAD_US, PERF_HPP__OVERHEAD_GUEST_SYS,
  PERF_HPP__OVERHEAD_GUEST_US, PERF_HPP__OVERHEAD_ACC, PERF_HPP__SAMPLES, PERF_HPP__PERIOD,
  PERF_HPP__MAX_INDEX
}
 
enum  hierarchy_move_dir { HMD_NORMAL, HMD_FORCE_SIBLING, HMD_FORCE_CHILD }
 

Functions

struct hist_entryhists__add_entry (struct hists *hists, struct addr_location *al, struct symbol *parent, struct branch_info *bi, struct mem_info *mi, struct perf_sample *sample, bool sample_self)
 
struct hist_entryhists__add_entry_ops (struct hists *hists, struct hist_entry_ops *ops, struct addr_location *al, struct symbol *sym_parent, struct branch_info *bi, struct mem_info *mi, struct perf_sample *sample, bool sample_self)
 
int hist_entry_iter__add (struct hist_entry_iter *iter, struct addr_location *al, int max_stack_depth, void *arg)
 
int64_t hist_entry__cmp (struct hist_entry *left, struct hist_entry *right)
 
int64_t hist_entry__collapse (struct hist_entry *left, struct hist_entry *right)
 
int hist_entry__transaction_len (void)
 
int hist_entry__sort_snprintf (struct hist_entry *he, char *bf, size_t size, struct hists *hists)
 
int hist_entry__snprintf_alignment (struct hist_entry *he, struct perf_hpp *hpp, struct perf_hpp_fmt *fmt, int printed)
 
void hist_entry__delete (struct hist_entry *he)
 
void perf_evsel__output_resort (struct perf_evsel *evsel, struct ui_progress *prog)
 
void hists__output_resort (struct hists *hists, struct ui_progress *prog)
 
void hists__output_resort_cb (struct hists *hists, struct ui_progress *prog, hists__resort_cb_t cb)
 
int hists__collapse_resort (struct hists *hists, struct ui_progress *prog)
 
void hists__decay_entries (struct hists *hists, bool zap_user, bool zap_kernel)
 
void hists__delete_entries (struct hists *hists)
 
void hists__output_recalc_col_len (struct hists *hists, int max_rows)
 
u64 hists__total_period (struct hists *hists)
 
void hists__reset_stats (struct hists *hists)
 
void hists__inc_stats (struct hists *hists, struct hist_entry *h)
 
void hists__inc_nr_events (struct hists *hists, u32 type)
 
void hists__inc_nr_samples (struct hists *hists, bool filtered)
 
void events_stats__inc (struct events_stats *stats, u32 type)
 
size_t events_stats__fprintf (struct events_stats *stats, FILE *fp)
 
size_t hists__fprintf (struct hists *hists, bool show_header, int max_rows, int max_cols, float min_pcnt, FILE *fp, bool use_callchain)
 
size_t perf_evlist__fprintf_nr_events (struct perf_evlist *evlist, FILE *fp)
 
void hists__filter_by_dso (struct hists *hists)
 
void hists__filter_by_thread (struct hists *hists)
 
void hists__filter_by_symbol (struct hists *hists)
 
void hists__filter_by_socket (struct hists *hists)
 
static bool hists__has_filter (struct hists *hists)
 
u16 hists__col_len (struct hists *hists, enum hist_column col)
 
void hists__set_col_len (struct hists *hists, enum hist_column col, u16 len)
 
bool hists__new_col_len (struct hists *hists, enum hist_column col, u16 len)
 
void hists__reset_col_len (struct hists *hists)
 
void hists__calc_col_len (struct hists *hists, struct hist_entry *he)
 
void hists__match (struct hists *leader, struct hists *other)
 
int hists__link (struct hists *leader, struct hists *other)
 
static struct perf_evselhists_to_evsel (struct hists *hists)
 
static struct histsevsel__hists (struct perf_evsel *evsel)
 
static __pure bool hists__has_callchains (struct hists *hists)
 
int hists__init (void)
 
int __hists__init (struct hists *hists, struct perf_hpp_list *hpp_list)
 
struct rb_root * hists__get_rotate_entries_in (struct hists *hists)
 
void perf_hpp_list__column_register (struct perf_hpp_list *list, struct perf_hpp_fmt *format)
 
void perf_hpp_list__register_sort_field (struct perf_hpp_list *list, struct perf_hpp_fmt *format)
 
void perf_hpp_list__prepend_sort_field (struct perf_hpp_list *list, struct perf_hpp_fmt *format)
 
static void perf_hpp__column_register (struct perf_hpp_fmt *format)
 
static void perf_hpp__register_sort_field (struct perf_hpp_fmt *format)
 
static void perf_hpp__prepend_sort_field (struct perf_hpp_fmt *format)
 
void perf_hpp__init (void)
 
void perf_hpp__column_unregister (struct perf_hpp_fmt *format)
 
void perf_hpp__cancel_cumulate (void)
 
void perf_hpp__setup_output_field (struct perf_hpp_list *list)
 
void perf_hpp__reset_output_field (struct perf_hpp_list *list)
 
void perf_hpp__append_sort_keys (struct perf_hpp_list *list)
 
int perf_hpp__setup_hists_formats (struct perf_hpp_list *list, struct perf_evlist *evlist)
 
bool perf_hpp__is_sort_entry (struct perf_hpp_fmt *format)
 
bool perf_hpp__is_dynamic_entry (struct perf_hpp_fmt *format)
 
bool perf_hpp__defined_dynamic_entry (struct perf_hpp_fmt *fmt, struct hists *hists)
 
bool perf_hpp__is_trace_entry (struct perf_hpp_fmt *fmt)
 
bool perf_hpp__is_srcline_entry (struct perf_hpp_fmt *fmt)
 
bool perf_hpp__is_srcfile_entry (struct perf_hpp_fmt *fmt)
 
bool perf_hpp__is_thread_entry (struct perf_hpp_fmt *fmt)
 
bool perf_hpp__is_comm_entry (struct perf_hpp_fmt *fmt)
 
bool perf_hpp__is_dso_entry (struct perf_hpp_fmt *fmt)
 
bool perf_hpp__is_sym_entry (struct perf_hpp_fmt *fmt)
 
struct perf_hpp_fmtperf_hpp_fmt__dup (struct perf_hpp_fmt *fmt)
 
int hist_entry__filter (struct hist_entry *he, int type, const void *arg)
 
static bool perf_hpp__should_skip (struct perf_hpp_fmt *format, struct hists *hists)
 
void perf_hpp__reset_width (struct perf_hpp_fmt *fmt, struct hists *hists)
 
void perf_hpp__reset_sort_width (struct perf_hpp_fmt *fmt, struct hists *hists)
 
void perf_hpp__set_user_width (const char *width_list_str)
 
void hists__reset_column_width (struct hists *hists)
 
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)
 
int hpp__fmt_acc (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)
 
static void advance_hpp (struct perf_hpp *hpp, int inc)
 
static size_t perf_hpp__use_color (void)
 
static size_t perf_hpp__color_overhead (void)
 
static int perf_evlist__tui_browse_hists (struct perf_evlist *evlist __maybe_unused, const char *help __maybe_unused, struct hist_browser_timer *hbt __maybe_unused, float min_pcnt __maybe_unused, struct perf_env *env __maybe_unused, bool warn_lost_event __maybe_unused, struct annotation_options *annotation_options __maybe_unused)
 
static int map_symbol__tui_annotate (struct map_symbol *ms __maybe_unused, struct perf_evsel *evsel __maybe_unused, struct hist_browser_timer *hbt __maybe_unused, struct annotation_options *annotation_options __maybe_unused)
 
static int hist_entry__tui_annotate (struct hist_entry *he __maybe_unused, struct perf_evsel *evsel __maybe_unused, struct hist_browser_timer *hbt __maybe_unused, struct annotation_options *annotation_opts __maybe_unused)
 
static int script_browse (const char *script_opt __maybe_unused)
 
unsigned int hists__sort_list_width (struct hists *hists)
 
unsigned int hists__overhead_width (struct hists *hists)
 
void hist__account_cycles (struct branch_stack *bs, struct addr_location *al, struct perf_sample *sample, bool nonany_branch_mode)
 
int parse_filter_percentage (const struct option *opt, const char *arg, int unset)
 
int perf_hist_config (const char *var, const char *value)
 
void perf_hpp_list__init (struct perf_hpp_list *list)
 
struct rb_node * rb_hierarchy_last (struct rb_node *node)
 
struct rb_node * __rb_hierarchy_next (struct rb_node *node, enum hierarchy_move_dir hmd)
 
struct rb_node * rb_hierarchy_prev (struct rb_node *node)
 
static struct rb_node * rb_hierarchy_next (struct rb_node *node)
 
bool hist_entry__has_hierarchy_children (struct hist_entry *he, float limit)
 
int hpp_color_scnprintf (struct perf_hpp *hpp, const char *fmt,...)
 
int __hpp__slsmg_color_printf (struct perf_hpp *hpp, const char *fmt,...)
 
int __hist_entry__snprintf (struct hist_entry *he, struct perf_hpp *hpp, struct perf_hpp_list *hpp_list)
 
int hists__fprintf_headers (struct hists *hists, FILE *fp)
 
int __hists__scnprintf_title (struct hists *hists, char *bf, size_t size, bool show_freq)
 
static int hists__scnprintf_title (struct hists *hists, char *bf, size_t size)
 

Variables

const struct hist_iter_ops hist_iter_normal
 
const struct hist_iter_ops hist_iter_branch
 
const struct hist_iter_ops hist_iter_mem
 
const struct hist_iter_ops hist_iter_cumulative
 
struct perf_hpp_list perf_hpp_list
 
struct perf_hpp_fmt perf_hpp__format []
 

Macro Definition Documentation

◆ HIERARCHY_INDENT

#define HIERARCHY_INDENT   3

Definition at line 513 of file hist.h.

◆ hists__for_each_format

#define hists__for_each_format (   hists,
  format 
)    perf_hpp_list__for_each_format((hists)->hpp_list, fmt)

Definition at line 326 of file hist.h.

◆ hists__for_each_sort_list

#define hists__for_each_sort_list (   hists,
  format 
)    perf_hpp_list__for_each_sort_list((hists)->hpp_list, fmt)

Definition at line 329 of file hist.h.

◆ hists__has

#define hists__has (   __h,
  __f 
)    (__h)->hpp_list->__f

Definition at line 94 of file hist.h.

◆ K_LEFT

#define K_LEFT   -1000

Definition at line 480 of file hist.h.

◆ K_RIGHT

#define K_RIGHT   -2000

Definition at line 481 of file hist.h.

◆ K_SWITCH_INPUT_DATA

#define K_SWITCH_INPUT_DATA   -3000

Definition at line 482 of file hist.h.

◆ perf_hpp_list__for_each_format

#define perf_hpp_list__for_each_format (   _list,
  format 
)    list_for_each_entry(format, &(_list)->fields, list)

Definition at line 314 of file hist.h.

◆ perf_hpp_list__for_each_format_safe

#define perf_hpp_list__for_each_format_safe (   _list,
  format,
  tmp 
)    list_for_each_entry_safe(format, tmp, &(_list)->fields, list)

Definition at line 317 of file hist.h.

◆ perf_hpp_list__for_each_sort_list

#define perf_hpp_list__for_each_sort_list (   _list,
  format 
)    list_for_each_entry(format, &(_list)->sorts, sort_list)

Definition at line 320 of file hist.h.

◆ perf_hpp_list__for_each_sort_list_safe

#define perf_hpp_list__for_each_sort_list_safe (   _list,
  format,
  tmp 
)    list_for_each_entry_safe(format, tmp, &(_list)->sorts, sort_list)

Definition at line 323 of file hist.h.

Typedef Documentation

◆ hists__resort_cb_t

typedef int(* hists__resort_cb_t) (struct hist_entry *he)

Definition at line 161 of file hist.h.

◆ hpp_callback_fn

typedef int(* hpp_callback_fn) (struct perf_hpp *hpp, bool front)

Definition at line 392 of file hist.h.

◆ hpp_field_fn

typedef u64(* hpp_field_fn) (struct hist_entry *he)

Definition at line 391 of file hist.h.

◆ hpp_snprint_fn

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

Definition at line 393 of file hist.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PERF_HPP__OVERHEAD 
PERF_HPP__OVERHEAD_SYS 
PERF_HPP__OVERHEAD_US 
PERF_HPP__OVERHEAD_GUEST_SYS 
PERF_HPP__OVERHEAD_GUEST_US 
PERF_HPP__OVERHEAD_ACC 
PERF_HPP__SAMPLES 
PERF_HPP__PERIOD 
PERF_HPP__MAX_INDEX 

Definition at line 334 of file hist.h.

◆ hierarchy_move_dir

Enumerator
HMD_NORMAL 
HMD_FORCE_SIBLING 
HMD_FORCE_CHILD 

Definition at line 497 of file hist.h.

◆ hist_column

Enumerator
HISTC_SYMBOL 
HISTC_DSO 
HISTC_THREAD 
HISTC_COMM 
HISTC_CGROUP_ID 
HISTC_PARENT 
HISTC_CPU 
HISTC_SOCKET 
HISTC_SRCLINE 
HISTC_SRCFILE 
HISTC_MISPREDICT 
HISTC_IN_TX 
HISTC_ABORT 
HISTC_SYMBOL_FROM 
HISTC_SYMBOL_TO 
HISTC_DSO_FROM 
HISTC_DSO_TO 
HISTC_LOCAL_WEIGHT 
HISTC_GLOBAL_WEIGHT 
HISTC_MEM_DADDR_SYMBOL 
HISTC_MEM_DADDR_DSO 
HISTC_MEM_PHYS_DADDR 
HISTC_MEM_LOCKED 
HISTC_MEM_TLB 
HISTC_MEM_LVL 
HISTC_MEM_SNOOP 
HISTC_MEM_DCACHELINE 
HISTC_MEM_IADDR_SYMBOL 
HISTC_TRANSACTION 
HISTC_CYCLES 
HISTC_SRCLINE_FROM 
HISTC_SRCLINE_TO 
HISTC_TRACE 
HISTC_SYM_SIZE 
HISTC_DSO_SIZE 
HISTC_NR_COLS 

Definition at line 29 of file hist.h.

◆ hist_filter

Enumerator
HIST_FILTER__DSO 
HIST_FILTER__THREAD 
HIST_FILTER__PARENT 
HIST_FILTER__SYMBOL 
HIST_FILTER__GUEST 
HIST_FILTER__HOST 
HIST_FILTER__SOCKET 
HIST_FILTER__C2C 

Definition at line 18 of file hist.h.

Function Documentation

◆ __hist_entry__snprintf()

int __hist_entry__snprintf ( struct hist_entry he,
struct perf_hpp hpp,
struct perf_hpp_list hpp_list 
)

Definition at line 406 of file hist.c.

Here is the call graph for this function:

◆ __hists__init()

int __hists__init ( struct hists hists,
struct perf_hpp_list hpp_list 
)

Definition at line 2562 of file hist.c.

Here is the call graph for this function:

◆ __hists__scnprintf_title()

int __hists__scnprintf_title ( struct hists hists,
char *  bf,
size_t  size,
bool  show_freq 
)

Definition at line 2460 of file hist.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:

◆ __rb_hierarchy_next()

struct rb_node* __rb_hierarchy_next ( struct rb_node *  node,
enum hierarchy_move_dir  hmd 
)

Definition at line 1803 of file hist.c.

Here is the call graph for this function:

◆ advance_hpp()

static void advance_hpp ( struct perf_hpp hpp,
int  inc 
)
inlinestatic

Definition at line 402 of file hist.h.

◆ events_stats__fprintf()

size_t events_stats__fprintf ( struct events_stats stats,
FILE *  fp 
)

Definition at line 834 of file hist.c.

Here is the call graph for this function:

◆ events_stats__inc()

void events_stats__inc ( struct events_stats stats,
u32  type 
)

Definition at line 2118 of file hist.c.

◆ evsel__hists()

static struct hists* evsel__hists ( struct perf_evsel evsel)
static

Definition at line 217 of file hist.h.

◆ hist__account_cycles()

void hist__account_cycles ( struct branch_stack bs,
struct addr_location al,
struct perf_sample sample,
bool  nonany_branch_mode 
)

Definition at line 2406 of file hist.c.

Here is the call graph for this function:

◆ hist_entry__cmp()

int64_t hist_entry__cmp ( struct hist_entry left,
struct hist_entry right 
)

Definition at line 1087 of file hist.c.

Here is the call graph for this function:

◆ hist_entry__collapse()

int64_t hist_entry__collapse ( struct hist_entry left,
struct hist_entry right 
)

Definition at line 1107 of file hist.c.

Here is the call graph for this function:

◆ hist_entry__delete()

void hist_entry__delete ( struct hist_entry he)

Definition at line 1126 of file hist.c.

Here is the call graph for this function:

◆ hist_entry__filter()

int hist_entry__filter ( struct hist_entry he,
int  type,
const void *  arg 
)

Definition at line 1829 of file sort.c.

Here is the call graph for this function:

◆ hist_entry__has_hierarchy_children()

bool hist_entry__has_hierarchy_children ( struct hist_entry he,
float  limit 
)

Definition at line 1837 of file hist.c.

Here is the call graph for this function:

◆ hist_entry__snprintf_alignment()

int hist_entry__snprintf_alignment ( struct hist_entry he,
struct perf_hpp hpp,
struct perf_hpp_fmt fmt,
int  printed 
)

Definition at line 1164 of file hist.c.

Here is the call graph for this function:

◆ hist_entry__sort_snprintf()

int hist_entry__sort_snprintf ( struct hist_entry he,
char *  bf,
size_t  size,
struct hists hists 
)

◆ hist_entry__transaction_len()

int hist_entry__transaction_len ( void  )

Definition at line 1428 of file sort.c.

◆ hist_entry__tui_annotate()

static int hist_entry__tui_annotate ( struct hist_entry *he  __maybe_unused,
struct perf_evsel *evsel  __maybe_unused,
struct hist_browser_timer *hbt  __maybe_unused,
struct annotation_options *annotation_opts  __maybe_unused 
)
inlinestatic

Definition at line 467 of file hist.h.

◆ hist_entry_iter__add()

int hist_entry_iter__add ( struct hist_entry_iter iter,
struct addr_location al,
int  max_stack_depth,
void *  arg 
)

Definition at line 1036 of file hist.c.

Here is the call graph for this function:

◆ hists__add_entry()

struct hist_entry* hists__add_entry ( struct hists hists,
struct addr_location al,
struct symbol parent,
struct branch_info bi,
struct mem_info mi,
struct perf_sample sample,
bool  sample_self 
)

Definition at line 627 of file hist.c.

Here is the call graph for this function:

◆ hists__add_entry_ops()

struct hist_entry* hists__add_entry_ops ( struct hists hists,
struct hist_entry_ops ops,
struct addr_location al,
struct symbol sym_parent,
struct branch_info bi,
struct mem_info mi,
struct perf_sample sample,
bool  sample_self 
)

Definition at line 639 of file hist.c.

Here is the call graph for this function:

◆ hists__calc_col_len()

void hists__calc_col_len ( struct hists hists,
struct hist_entry he 
)

Definition at line 67 of file hist.c.

Here is the call graph for this function:

◆ hists__col_len()

u16 hists__col_len ( struct hists hists,
enum hist_column  col 
)

Definition at line 30 of file hist.c.

◆ hists__collapse_resort()

int hists__collapse_resort ( struct hists hists,
struct ui_progress prog 
)

Definition at line 1464 of file hist.c.

Here is the call graph for this function:

◆ hists__decay_entries()

void hists__decay_entries ( struct hists hists,
bool  zap_user,
bool  zap_kernel 
)

Definition at line 338 of file hist.c.

Here is the call graph for this function:

◆ hists__delete_entries()

void hists__delete_entries ( struct hists hists)

Definition at line 354 of file hist.c.

Here is the call graph for this function:

◆ hists__filter_by_dso()

void hists__filter_by_dso ( struct hists hists)

Definition at line 2088 of file hist.c.

Here is the call graph for this function:

◆ hists__filter_by_socket()

void hists__filter_by_socket ( struct hists hists)

Definition at line 2108 of file hist.c.

Here is the call graph for this function:

◆ hists__filter_by_symbol()

void hists__filter_by_symbol ( struct hists hists)

Definition at line 2098 of file hist.c.

Here is the call graph for this function:

◆ hists__filter_by_thread()

void hists__filter_by_thread ( struct hists hists)

Definition at line 2078 of file hist.c.

Here is the call graph for this function:

◆ hists__fprintf()

size_t hists__fprintf ( struct hists hists,
bool  show_header,
int  max_rows,
int  max_cols,
float  min_pcnt,
FILE *  fp,
bool  use_callchain 
)

Definition at line 756 of file hist.c.

Here is the call graph for this function:

◆ hists__fprintf_headers()

int hists__fprintf_headers ( struct hists hists,
FILE *  fp 
)

Definition at line 739 of file hist.c.

Here is the call graph for this function:

◆ hists__get_rotate_entries_in()

struct rb_root* hists__get_rotate_entries_in ( struct hists hists)

Definition at line 1441 of file hist.c.

◆ hists__has_callchains()

static __pure bool hists__has_callchains ( struct hists hists)
inlinestatic

Definition at line 223 of file hist.h.

Here is the call graph for this function:

◆ hists__has_filter()

static bool hists__has_filter ( struct hists hists)
inlinestatic

Definition at line 191 of file hist.h.

Here is the call graph for this function:

◆ hists__inc_nr_events()

void hists__inc_nr_events ( struct hists hists,
u32  type 
)

Definition at line 2124 of file hist.c.

Here is the call graph for this function:

◆ hists__inc_nr_samples()

void hists__inc_nr_samples ( struct hists hists,
bool  filtered 
)

Definition at line 2129 of file hist.c.

Here is the call graph for this function:

◆ hists__inc_stats()

void hists__inc_stats ( struct hists hists,
struct hist_entry h 
)

Definition at line 1543 of file hist.c.

Here is the call graph for this function:

◆ hists__init()

int hists__init ( void  )

Definition at line 2629 of file hist.c.

Here is the call graph for this function:

◆ hists__link()

int hists__link ( struct hists leader,
struct hists other 
)

Definition at line 2374 of file hist.c.

Here is the call graph for this function:

◆ hists__match()

void hists__match ( struct hists leader,
struct hists other 
)

Definition at line 2299 of file hist.c.

Here is the call graph for this function:

◆ hists__new_col_len()

bool hists__new_col_len ( struct hists hists,
enum hist_column  col,
u16  len 
)

Definition at line 40 of file hist.c.

Here is the call graph for this function:

◆ hists__output_recalc_col_len()

void hists__output_recalc_col_len ( struct hists hists,
int  max_rows 
)

Definition at line 210 of file hist.c.

Here is the call graph for this function:

◆ hists__output_resort()

void hists__output_resort ( struct hists hists,
struct ui_progress prog 
)

Definition at line 1770 of file hist.c.

Here is the call graph for this function:

◆ hists__output_resort_cb()

void hists__output_resort_cb ( struct hists hists,
struct ui_progress prog,
hists__resort_cb_t  cb 
)

Definition at line 1775 of file hist.c.

Here is the call graph for this function:

◆ hists__overhead_width()

unsigned int hists__overhead_width ( struct hists hists)

Definition at line 668 of file hist.c.

Here is the call graph for this function:

◆ hists__reset_col_len()

void hists__reset_col_len ( struct hists hists)

Definition at line 49 of file hist.c.

Here is the call graph for this function:

◆ hists__reset_column_width()

void hists__reset_column_width ( struct hists hists)

Definition at line 723 of file hist.c.

Here is the call graph for this function:

◆ hists__reset_stats()

void hists__reset_stats ( struct hists hists)

Definition at line 1529 of file hist.c.

Here is the call graph for this function:

◆ hists__scnprintf_title()

static int hists__scnprintf_title ( struct hists hists,
char *  bf,
size_t  size 
)
inlinestatic

Definition at line 523 of file hist.h.

Here is the call graph for this function:

◆ hists__set_col_len()

void hists__set_col_len ( struct hists hists,
enum hist_column  col,
u16  len 
)

Definition at line 35 of file hist.c.

◆ hists__sort_list_width()

unsigned int hists__sort_list_width ( struct hists hists)

Definition at line 643 of file hist.c.

Here is the call graph for this function:

◆ hists__total_period()

u64 hists__total_period ( struct hists hists)

Definition at line 2454 of file hist.c.

◆ hists_to_evsel()

static struct perf_evsel* hists_to_evsel ( struct hists hists)
static

Definition at line 211 of file hist.h.

◆ hpp__fmt()

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 at line 110 of file hist.c.

Here is the call graph for this function:

◆ hpp__fmt_acc()

int hpp__fmt_acc ( 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 at line 129 of file hist.c.

Here is the call graph for this function:

◆ hpp_color_scnprintf()

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

Definition at line 244 of file hist.c.

Here is the call graph for this function:

◆ map_symbol__tui_annotate()

static int map_symbol__tui_annotate ( struct map_symbol *ms  __maybe_unused,
struct perf_evsel *evsel  __maybe_unused,
struct hist_browser_timer *hbt  __maybe_unused,
struct annotation_options *annotation_options  __maybe_unused 
)
inlinestatic

Definition at line 459 of file hist.h.

◆ parse_filter_percentage()

int parse_filter_percentage ( const struct option *  opt,
const char *  arg,
int  unset 
)

◆ perf_evlist__fprintf_nr_events()

size_t perf_evlist__fprintf_nr_events ( struct perf_evlist evlist,
FILE *  fp 
)

Definition at line 2440 of file hist.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  __maybe_unused,
const char *help  __maybe_unused,
struct hist_browser_timer *hbt  __maybe_unused,
float min_pcnt  __maybe_unused,
struct perf_env *env  __maybe_unused,
bool warn_lost_event  __maybe_unused,
struct annotation_options *annotation_options  __maybe_unused 
)
inlinestatic

Definition at line 449 of file hist.h.

◆ perf_evsel__output_resort()

void perf_evsel__output_resort ( struct perf_evsel evsel,
struct ui_progress prog 
)

Definition at line 1756 of file hist.c.

Here is the call graph for this function:

◆ perf_hist_config()

int perf_hist_config ( const char *  var,
const char *  value 
)

Definition at line 2554 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__append_sort_keys()

void perf_hpp__append_sort_keys ( struct perf_hpp_list list)

Definition at line 588 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__cancel_cumulate()

void perf_hpp__cancel_cumulate ( void  )

Definition at line 539 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__color_overhead()

static size_t perf_hpp__color_overhead ( void  )
inlinestatic

Definition at line 413 of file hist.h.

Here is the call graph for this function:

◆ perf_hpp__column_register()

static void perf_hpp__column_register ( struct perf_hpp_fmt format)
inlinestatic

Definition at line 299 of file hist.h.

Here is the call graph for this function:

◆ perf_hpp__column_unregister()

void perf_hpp__column_unregister ( struct perf_hpp_fmt format)

Definition at line 534 of file hist.c.

◆ perf_hpp__defined_dynamic_entry()

bool perf_hpp__defined_dynamic_entry ( struct perf_hpp_fmt fmt,
struct hists hists 
)

Definition at line 1988 of file sort.c.

Here is the call graph for this function:

◆ perf_hpp__init()

void perf_hpp__init ( void  )

Definition at line 472 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__is_comm_entry()

bool perf_hpp__is_comm_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__is_dso_entry()

bool perf_hpp__is_dso_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__is_dynamic_entry()

bool perf_hpp__is_dynamic_entry ( struct perf_hpp_fmt format)

Definition at line 2092 of file sort.c.

Here is the call graph for this function:

◆ perf_hpp__is_sort_entry()

bool perf_hpp__is_sort_entry ( struct perf_hpp_fmt format)

Definition at line 1726 of file sort.c.

Here is the call graph for this function:

◆ perf_hpp__is_srcfile_entry()

bool perf_hpp__is_srcfile_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__is_srcline_entry()

bool perf_hpp__is_srcline_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__is_sym_entry()

bool perf_hpp__is_sym_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__is_thread_entry()

bool perf_hpp__is_thread_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__is_trace_entry()

bool perf_hpp__is_trace_entry ( struct perf_hpp_fmt fmt)

◆ perf_hpp__prepend_sort_field()

static void perf_hpp__prepend_sort_field ( struct perf_hpp_fmt format)
inlinestatic

Definition at line 309 of file hist.h.

Here is the call graph for this function:

◆ perf_hpp__register_sort_field()

static void perf_hpp__register_sort_field ( struct perf_hpp_fmt format)
inlinestatic

Definition at line 304 of file hist.h.

Here is the call graph for this function:

◆ perf_hpp__reset_output_field()

void perf_hpp__reset_output_field ( struct perf_hpp_list list)

Definition at line 621 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__reset_sort_width()

void perf_hpp__reset_sort_width ( struct perf_hpp_fmt fmt,
struct hists hists 
)

Definition at line 1640 of file sort.c.

Here is the call graph for this function:

◆ perf_hpp__reset_width()

void perf_hpp__reset_width ( struct perf_hpp_fmt fmt,
struct hists hists 
)

Definition at line 690 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__set_user_width()

void perf_hpp__set_user_width ( const char *  width_list_str)

Definition at line 738 of file hist.c.

◆ perf_hpp__setup_hists_formats()

int perf_hpp__setup_hists_formats ( struct perf_hpp_list list,
struct perf_evlist evlist 
)

Definition at line 796 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__setup_output_field()

void perf_hpp__setup_output_field ( struct perf_hpp_list list)

Definition at line 565 of file hist.c.

Here is the call graph for this function:

◆ perf_hpp__should_skip()

static bool perf_hpp__should_skip ( struct perf_hpp_fmt format,
struct hists hists 
)
inlinestatic

Definition at line 373 of file hist.h.

Here is the call graph for this function:

◆ perf_hpp__use_color()

static size_t perf_hpp__use_color ( void  )
inlinestatic

Definition at line 408 of file hist.h.

◆ perf_hpp_fmt__dup()

struct perf_hpp_fmt* perf_hpp_fmt__dup ( struct perf_hpp_fmt fmt)

Definition at line 2157 of file sort.c.

Here is the call graph for this function:

◆ perf_hpp_list__column_register()

void perf_hpp_list__column_register ( struct perf_hpp_list list,
struct perf_hpp_fmt format 
)

Definition at line 516 of file hist.c.

◆ perf_hpp_list__init()

void perf_hpp_list__init ( struct perf_hpp_list list)

Definition at line 2640 of file hist.c.

◆ perf_hpp_list__prepend_sort_field()

void perf_hpp_list__prepend_sort_field ( struct perf_hpp_list list,
struct perf_hpp_fmt format 
)

Definition at line 528 of file hist.c.

◆ perf_hpp_list__register_sort_field()

void perf_hpp_list__register_sort_field ( struct perf_hpp_list list,
struct perf_hpp_fmt format 
)

Definition at line 522 of file hist.c.

◆ rb_hierarchy_last()

struct rb_node* rb_hierarchy_last ( struct rb_node *  node)

Definition at line 1792 of file hist.c.

Here is the call graph for this function:

◆ rb_hierarchy_next()

static struct rb_node* rb_hierarchy_next ( struct rb_node *  node)
static

Definition at line 508 of file hist.h.

Here is the call graph for this function:

◆ rb_hierarchy_prev()

struct rb_node* rb_hierarchy_prev ( struct rb_node *  node)

Definition at line 1822 of file hist.c.

Here is the call graph for this function:

◆ script_browse()

static int script_browse ( const char *script_opt  __maybe_unused)
inlinestatic

Definition at line 475 of file hist.h.

Variable Documentation

◆ hist_iter_branch

const struct hist_iter_ops hist_iter_branch

Definition at line 1012 of file hist.c.

◆ hist_iter_cumulative

const struct hist_iter_ops hist_iter_cumulative

Definition at line 1028 of file hist.c.

◆ hist_iter_mem

const struct hist_iter_ops hist_iter_mem

Definition at line 1004 of file hist.c.

◆ hist_iter_normal

const struct hist_iter_ops hist_iter_normal

Definition at line 1020 of file hist.c.

◆ perf_hpp__format

struct perf_hpp_fmt perf_hpp__format[]

Definition at line 435 of file hist.c.

◆ perf_hpp_list

Definition at line 446 of file hist.c.