at v6.19 66 lines 1.6 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __PERF_TOP_H 3#define __PERF_TOP_H 1 4 5#include "tool.h" 6#include "evswitch.h" 7#include "annotate.h" 8#include "mutex.h" 9#include "ordered-events.h" 10#include "record.h" 11#include <linux/types.h> 12#include <stddef.h> 13#include <stdbool.h> 14#include <sys/ioctl.h> 15 16struct evlist; 17struct evsel; 18struct perf_session; 19 20struct perf_top { 21 struct perf_tool tool; 22 struct evlist *evlist, *sb_evlist; 23 struct record_opts record_opts; 24 struct evswitch evswitch; 25 /* 26 * Symbols will be added here in perf_event__process_sample and will 27 * get out after decayed. 28 */ 29 u64 samples, lost, lost_total, drop, drop_total; 30 u64 kernel_samples, us_samples; 31 u64 exact_samples; 32 u64 guest_us_samples, guest_kernel_samples; 33 int print_entries, count_filter, delay_secs; 34 int max_stack; 35 bool hide_kernel_symbols, hide_user_symbols, zero; 36#ifdef HAVE_SLANG_SUPPORT 37 bool use_tui; 38#endif 39 bool use_stdio; 40 bool vmlinux_warned; 41 bool dump_symtab; 42 bool stitch_lbr; 43 struct hist_entry *sym_filter_entry; 44 struct evsel *sym_evsel; 45 struct perf_session *session; 46 struct winsize winsize; 47 int realtime_prio; 48 const char *sym_filter; 49 float min_percent; 50 unsigned int nr_threads_synthesize; 51 const char *uid_str; 52 53 struct { 54 struct ordered_events *in; 55 struct ordered_events data[2]; 56 bool rotate; 57 struct mutex mutex; 58 struct cond cond; 59 } qe; 60}; 61 62#define CONSOLE_CLEAR "" 63 64size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size); 65void perf_top__reset_sample_counters(struct perf_top *top); 66#endif /* __PERF_TOP_H */