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 <linux/types.h> 7 #include <stddef.h> 8 #include <stdbool.h> 9 #include <sys/ioctl.h> 10 11 struct perf_evlist; 12 struct perf_evsel; 13 struct perf_session; 14 15 struct perf_top { 16 struct perf_tool tool; 17 struct perf_evlist *evlist; 18 struct record_opts record_opts; 19 /* 20 * Symbols will be added here in perf_event__process_sample and will 21 * get out after decayed. 22 */ 23 u64 samples; 24 u64 kernel_samples, us_samples; 25 u64 exact_samples; 26 u64 guest_us_samples, guest_kernel_samples; 27 int print_entries, count_filter, delay_secs; 28 int max_stack; 29 bool hide_kernel_symbols, hide_user_symbols, zero; 30 bool use_tui, use_stdio; 31 bool vmlinux_warned; 32 bool dump_symtab; 33 struct hist_entry *sym_filter_entry; 34 struct perf_evsel *sym_evsel; 35 struct perf_session *session; 36 struct winsize winsize; 37 int realtime_prio; 38 int sym_pcnt_filter; 39 const char *sym_filter; 40 float min_percent; 41 unsigned int nr_threads_synthesize; 42 }; 43 44 #define CONSOLE_CLEAR "[H[2J" 45 46 size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size); 47 void perf_top__reset_sample_counters(struct perf_top *top); 48 #endif /* __PERF_TOP_H */ 49