1#ifndef __PERF_TOP_H
2#define __PERF_TOP_H 1
3
4#include "tool.h"
5#include "types.h"
6#include <stddef.h>
7#include <stdbool.h>
8
9struct perf_evlist;
10struct perf_evsel;
11struct perf_session;
12
13struct perf_top {
14 struct perf_tool tool;
15 struct perf_evlist *evlist;
16
17
18
19
20 u64 samples;
21 u64 kernel_samples, us_samples;
22 u64 exact_samples;
23 u64 guest_us_samples, guest_kernel_samples;
24 int print_entries, count_filter, delay_secs;
25 int freq;
26 const char *target_pid, *target_tid;
27 uid_t uid;
28 bool hide_kernel_symbols, hide_user_symbols, zero;
29 bool system_wide;
30 bool use_tui, use_stdio;
31 bool sort_has_symbols;
32 bool dont_use_callchains;
33 bool kptr_restrict_warned;
34 bool vmlinux_warned;
35 bool inherit;
36 bool group;
37 bool sample_id_all_missing;
38 bool exclude_guest_missing;
39 bool dump_symtab;
40 const char *cpu_list;
41 struct hist_entry *sym_filter_entry;
42 struct perf_evsel *sym_evsel;
43 struct perf_session *session;
44 struct winsize winsize;
45 unsigned int mmap_pages;
46 int default_interval;
47 int realtime_prio;
48 int sym_pcnt_filter;
49 const char *sym_filter;
50 const char *uid_str;
51};
52
53size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size);
54void perf_top__reset_sample_counters(struct perf_top *top);
55#endif
56