Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _PERF_RECORD_H #define _PERF_RECORD_H #include <time.h> #include <stdbool.h> #include <linux/types.h> #include <linux/stddef.h> #include <linux/perf_event.h> #include "util/target.h" struct option; struct record_opts { struct target target; bool group; bool inherit_stat; bool no_buffering; bool no_inherit; bool no_inherit_set; bool no_samples; bool raw_samples; bool sample_address; bool sample_phys_addr; bool sample_data_page_size; bool sample_code_page_size; bool sample_weight; bool sample_time; bool sample_time_set; bool sample_cpu; bool sample_identifier; bool period; bool period_set; bool running_time; bool full_auxtrace; bool auxtrace_snapshot_mode; bool auxtrace_snapshot_on_exit; bool auxtrace_sample_mode; bool record_namespaces; bool record_cgroup; bool record_switch_events; bool record_switch_events_set; bool all_kernel; bool all_user; bool kernel_callchains; bool user_callchains; bool tail_synthesize; bool overwrite; bool ignore_missing_thread; bool strict_freq; bool sample_id; bool no_bpf_event; bool kcore; bool text_poke; bool build_id; unsigned int freq; unsigned int mmap_pages; unsigned int auxtrace_mmap_pages; unsigned int user_freq; u64 branch_stack; u64 sample_intr_regs; u64 sample_user_regs; u64 default_interval; u64 user_interval; size_t auxtrace_snapshot_size; const char *auxtrace_snapshot_opts; const char *auxtrace_sample_opts; bool sample_transaction; int initial_delay; bool use_clockid; clockid_t clockid; u64 clockid_res_ns; int nr_cblocks; int affinity; int mmap_flush; unsigned int comp_level; unsigned int nr_threads_synthesize; int ctl_fd; int ctl_fd_ack; bool ctl_fd_close; int synth; int threads_spec; const char *threads_user_spec; }; extern const char * const *record_usage; extern struct option *record_options; int record__parse_freq(const struct option *opt, const char *str, int unset); static inline bool record_opts__no_switch_events(const struct record_opts *opts) { return opts->record_switch_events_set && !opts->record_switch_events; } #endif // _PERF_RECORD_H