diff options
Diffstat (limited to 'tools/perf/util/top.h')
-rw-r--r-- | tools/perf/util/top.h | 58 |
1 files changed, 23 insertions, 35 deletions
diff --git a/tools/perf/util/top.h b/tools/perf/util/top.h index bfbf95bcc603..a248f3c2c60d 100644 --- a/tools/perf/util/top.h +++ b/tools/perf/util/top.h | |||
@@ -1,64 +1,52 @@ | |||
1 | #ifndef __PERF_TOP_H | 1 | #ifndef __PERF_TOP_H |
2 | #define __PERF_TOP_H 1 | 2 | #define __PERF_TOP_H 1 |
3 | 3 | ||
4 | #include "tool.h" | ||
4 | #include "types.h" | 5 | #include "types.h" |
5 | #include "../perf.h" | ||
6 | #include <stddef.h> | 6 | #include <stddef.h> |
7 | #include <pthread.h> | 7 | #include <stdbool.h> |
8 | #include <linux/list.h> | ||
9 | #include <linux/rbtree.h> | ||
10 | 8 | ||
11 | struct perf_evlist; | 9 | struct perf_evlist; |
12 | struct perf_evsel; | 10 | struct perf_evsel; |
13 | 11 | struct perf_session; | |
14 | struct sym_entry { | ||
15 | struct rb_node rb_node; | ||
16 | struct list_head node; | ||
17 | unsigned long snap_count; | ||
18 | double weight; | ||
19 | struct map *map; | ||
20 | unsigned long count[0]; | ||
21 | }; | ||
22 | |||
23 | static inline struct symbol *sym_entry__symbol(struct sym_entry *self) | ||
24 | { | ||
25 | return ((void *)self) + symbol_conf.priv_size; | ||
26 | } | ||
27 | 12 | ||
28 | struct perf_top { | 13 | struct perf_top { |
14 | struct perf_tool tool; | ||
29 | struct perf_evlist *evlist; | 15 | struct perf_evlist *evlist; |
30 | /* | 16 | /* |
31 | * Symbols will be added here in perf_event__process_sample and will | 17 | * Symbols will be added here in perf_event__process_sample and will |
32 | * get out after decayed. | 18 | * get out after decayed. |
33 | */ | 19 | */ |
34 | struct list_head active_symbols; | ||
35 | pthread_mutex_t active_symbols_lock; | ||
36 | pthread_cond_t active_symbols_cond; | ||
37 | u64 samples; | 20 | u64 samples; |
38 | u64 kernel_samples, us_samples; | 21 | u64 kernel_samples, us_samples; |
39 | u64 exact_samples; | 22 | u64 exact_samples; |
40 | u64 guest_us_samples, guest_kernel_samples; | 23 | u64 guest_us_samples, guest_kernel_samples; |
41 | int print_entries, count_filter, delay_secs; | 24 | int print_entries, count_filter, delay_secs; |
42 | int display_weighted, freq, rb_entries; | 25 | int freq; |
43 | pid_t target_pid, target_tid; | 26 | pid_t target_pid, target_tid; |
44 | bool hide_kernel_symbols, hide_user_symbols, zero; | 27 | bool hide_kernel_symbols, hide_user_symbols, zero; |
28 | bool system_wide; | ||
29 | bool use_tui, use_stdio; | ||
30 | bool sort_has_symbols; | ||
31 | bool dont_use_callchains; | ||
32 | bool kptr_restrict_warned; | ||
33 | bool vmlinux_warned; | ||
34 | bool inherit; | ||
35 | bool group; | ||
36 | bool sample_id_all_avail; | ||
37 | bool dump_symtab; | ||
45 | const char *cpu_list; | 38 | const char *cpu_list; |
46 | struct sym_entry *sym_filter_entry; | 39 | struct hist_entry *sym_filter_entry; |
47 | struct perf_evsel *sym_evsel; | 40 | struct perf_evsel *sym_evsel; |
41 | struct perf_session *session; | ||
42 | struct winsize winsize; | ||
43 | unsigned int mmap_pages; | ||
44 | int default_interval; | ||
45 | int realtime_prio; | ||
46 | int sym_pcnt_filter; | ||
47 | const char *sym_filter; | ||
48 | }; | 48 | }; |
49 | 49 | ||
50 | size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size); | 50 | size_t perf_top__header_snprintf(struct perf_top *top, char *bf, size_t size); |
51 | void perf_top__reset_sample_counters(struct perf_top *top); | 51 | void perf_top__reset_sample_counters(struct perf_top *top); |
52 | float perf_top__decay_samples(struct perf_top *top, struct rb_root *root); | ||
53 | void perf_top__find_widths(struct perf_top *top, struct rb_root *root, | ||
54 | int *dso_width, int *dso_short_width, int *sym_width); | ||
55 | |||
56 | #ifdef NO_NEWT_SUPPORT | ||
57 | static inline int perf_top__tui_browser(struct perf_top *top __used) | ||
58 | { | ||
59 | return 0; | ||
60 | } | ||
61 | #else | ||
62 | int perf_top__tui_browser(struct perf_top *top); | ||
63 | #endif | ||
64 | #endif /* __PERF_TOP_H */ | 52 | #endif /* __PERF_TOP_H */ |