|
struct tracer - a specific tracer and its callbacks to interact with debugfs
: called when one switches to this tracer (echo name > current_tracer) : called when one switches to another tracer : called when tracing is unpaused (echo 1 > tracing_enabled) : called when tracing is paused (echo 0 > tracing_enabled) : called when the trace file is opened : called when the trace_pipe file is opened : override how the user waits for traces on trace_pipe : called when the trace file is released : called when the trace_pipe file is released : override the default read callback on trace_pipe : override the default splice_read callback on trace_pipe : selftest to run on boot (see trace_selftest.c) : override the first lines that describe your columns : callback that prints a trace : signals one of your private flags changed (trace_options file) : your private flags
|
#define | FTRACE_ENTRY(name, struct_name, id, tstruct, print, filter) |
|
#define | FTRACE_ENTRY_DUP(name, name_struct, id, tstruct, printk, filter) |
|
#define | trace_recursion_inc() do { (current)->trace_recursion++; } while (0) |
|
#define | trace_recursion_dec() do { (current)->trace_recursion--; } while (0) |
|
#define | trace_recursion_buffer() ((current)->trace_recursion & 0x3ff) |
|
#define | TRACE_INTERNAL_BIT (1<<11) |
|
#define | TRACE_GLOBAL_BIT (1<<12) |
|
#define | TRACE_CONTROL_BIT (1<<13) |
|
#define | TRACE_IRQ_BIT (1<<13) |
|
#define | trace_recursion_set(bit) do { (current)->trace_recursion |= (bit); } while (0) |
|
#define | trace_recursion_clear(bit) do { (current)->trace_recursion &= ~(bit); } while (0) |
|
#define | trace_recursion_test(bit) ((current)->trace_recursion & (bit)) |
|
#define | TRACE_PIPE_ALL_CPU -1 |
|
#define | for_each_tracing_cpu(cpu) for_each_cpu(cpu, tracing_buffer_mask) |
|
#define | DYN_FTRACE_TEST_NAME trace_selftest_dynamic_test_func |
|
#define | DYN_FTRACE_TEST_NAME2 trace_selftest_dynamic_test_func2 |
|
#define | TRACE_ITER_SYM_MASK (TRACE_ITER_PRINT_PARENT|TRACE_ITER_SYM_OFFSET|TRACE_ITER_SYM_ADDR) |
|
#define | FILTER_PRED_INVALID ((unsigned short)-1) |
|
#define | FILTER_PRED_IS_RIGHT (1 << 15) |
|
#define | FILTER_PRED_FOLD (1 << 15) |
|
#define | MAX_FILTER_PRED 16384 |
|
#define | FTRACE_ENTRY(call, struct_name, id, tstruct, print, filter) |
|
#define | FTRACE_ENTRY_DUP(call, struct_name, id, tstruct, print, filter) |
|
#define | perf_ftrace_event_register NULL |
|
enum | trace_file_type { TRACE_FILE_LAT_FMT = 1,
TRACE_FILE_ANNOTATE = 2
} |
|
enum | trace_iterator_flags {
TRACE_ITER_PRINT_PARENT = 0x01,
TRACE_ITER_SYM_OFFSET = 0x02,
TRACE_ITER_SYM_ADDR = 0x04,
TRACE_ITER_VERBOSE = 0x08,
TRACE_ITER_RAW = 0x10,
TRACE_ITER_HEX = 0x20,
TRACE_ITER_BIN = 0x40,
TRACE_ITER_BLOCK = 0x80,
TRACE_ITER_STACKTRACE = 0x100,
TRACE_ITER_PRINTK = 0x200,
TRACE_ITER_PREEMPTONLY = 0x400,
TRACE_ITER_BRANCH = 0x800,
TRACE_ITER_ANNOTATE = 0x1000,
TRACE_ITER_USERSTACKTRACE = 0x2000,
TRACE_ITER_SYM_USEROBJ = 0x4000,
TRACE_ITER_PRINTK_MSGONLY = 0x8000,
TRACE_ITER_CONTEXT_INFO = 0x10000,
TRACE_ITER_LATENCY_FMT = 0x20000,
TRACE_ITER_SLEEP_TIME = 0x40000,
TRACE_ITER_GRAPH_TIME = 0x80000,
TRACE_ITER_RECORD_CMD = 0x100000,
TRACE_ITER_OVERWRITE = 0x200000,
TRACE_ITER_STOP_ON_FREE = 0x400000,
TRACE_ITER_IRQ_INFO = 0x800000,
TRACE_ITER_MARKERS = 0x1000000
} |
|
enum | { TRACE_EVENT_TYPE_PRINTF = 1,
TRACE_EVENT_TYPE_RAW = 2
} |
|
enum | regex_type { MATCH_FULL = 0,
MATCH_FRONT_ONLY,
MATCH_MIDDLE_ONLY,
MATCH_END_ONLY
} |
|
typedef int(* | filter_pred_fn_t )(struct filter_pred *pred, void *event) |
|
typedef int(* | regex_match_func )(char *str, struct regex *r, int len) |
|
cpumask_var_t __read_mostly | tracing_buffer_mask |
|
unsigned long | tracing_thresh |
|
int | ring_buffer_expanded |
|
bool | tracing_selftest_disabled |
|
unsigned long | trace_flags |
|
int | trace_clock_id |
|
struct list_head | ftrace_pids |
|
struct tracer | nop_trace |
|
struct list_head | ftrace_common_fields |
|
struct mutex | event_mutex |
|
struct list_head | ftrace_events |
|
const char * | __start___trace_bprintk_fmt [] |
|
const char * | __stop___trace_bprintk_fmt [] |
|
int | tracer_init (struct tracer *t, struct trace_array *tr) |
|
int | tracing_is_enabled (void) |
|
void | trace_wake_up (void) |
|
void | tracing_reset (struct trace_array *tr, int cpu) |
|
void | tracing_reset_online_cpus (struct trace_array *tr) |
|
void | tracing_reset_current (int cpu) |
|
void | tracing_reset_current_online_cpus (void) |
|
int | tracing_open_generic (struct inode *inode, struct file *filp) |
|
struct dentry * | trace_create_file (const char *name, umode_t mode, struct dentry *parent, void *data, const struct file_operations *fops) |
|
struct dentry * | tracing_init_dentry (void) |
|
struct ring_buffer_event * | trace_buffer_lock_reserve (struct ring_buffer *buffer, int type, unsigned long len, unsigned long flags, int pc) |
|
void | trace_buffer_unlock_commit (struct ring_buffer *buffer, struct ring_buffer_event *event, unsigned long flags, int pc) |
|
struct trace_entry * | tracing_get_trace_entry (struct trace_array *tr, struct trace_array_cpu *data) |
|
struct trace_entry * | trace_find_next_entry (struct trace_iterator *iter, int *ent_cpu, u64 *ent_ts) |
|
int | trace_empty (struct trace_iterator *iter) |
|
void * | trace_find_next_entry_inc (struct trace_iterator *iter) |
|
void | trace_init_global_iter (struct trace_iterator *iter) |
|
void | tracing_iter_reset (struct trace_iterator *iter, int cpu) |
|
void | default_wait_pipe (struct trace_iterator *iter) |
|
void | poll_wait_pipe (struct trace_iterator *iter) |
|
void | ftrace (struct trace_array *tr, struct trace_array_cpu *data, unsigned long ip, unsigned long parent_ip, unsigned long flags, int pc) |
|
void | tracing_sched_switch_trace (struct trace_array *tr, struct task_struct *prev, struct task_struct *next, unsigned long flags, int pc) |
|
void | tracing_sched_wakeup_trace (struct trace_array *tr, struct task_struct *wakee, struct task_struct *cur, unsigned long flags, int pc) |
|
void | trace_function (struct trace_array *tr, unsigned long ip, unsigned long parent_ip, unsigned long flags, int pc) |
|
void | trace_graph_function (struct trace_array *tr, unsigned long ip, unsigned long parent_ip, unsigned long flags, int pc) |
|
void | trace_latency_header (struct seq_file *m) |
|
void | trace_default_header (struct seq_file *m) |
|
void | print_trace_header (struct seq_file *m, struct trace_iterator *iter) |
|
void | trace_graph_return (struct ftrace_graph_ret *trace) |
|
int | trace_graph_entry (struct ftrace_graph_ent *trace) |
|
void | set_graph_array (struct trace_array *tr) |
|
void | tracing_start_cmdline_record (void) |
|
void | tracing_stop_cmdline_record (void) |
|
void | tracing_sched_switch_assign_trace (struct trace_array *tr) |
|
void | tracing_stop_sched_switch_record (void) |
|
void | tracing_start_sched_switch_record (void) |
|
int | register_tracer (struct tracer *type) |
|
void | unregister_tracer (struct tracer *type) |
|
int | is_tracing_stopped (void) |
|
unsigned long | nsecs_to_usecs (unsigned long nsecs) |
|
cycle_t | ftrace_now (int cpu) |
|
void | trace_find_cmdline (int pid, char comm[]) |
|
int | DYN_FTRACE_TEST_NAME (void) |
|
int | DYN_FTRACE_TEST_NAME2 (void) |
|
| DECLARE_PER_CPU (int, ftrace_cpu_disabled) |
|
void * | head_page (struct trace_array_cpu *data) |
|
unsigned long long | ns2usecs (cycle_t nsec) |
|
int | trace_vbprintk (unsigned long ip, const char *fmt, va_list args) |
|
int | trace_vprintk (unsigned long ip, const char *fmt, va_list args) |
|
int | trace_array_vprintk (struct trace_array *tr, unsigned long ip, const char *fmt, va_list args) |
|
int | trace_array_printk (struct trace_array *tr, unsigned long ip, const char *fmt,...) |
|
void | trace_printk_seq (struct trace_seq *s) |
|
enum print_line_t | print_trace_line (struct trace_iterator *iter) |
|
int | ftrace_event_is_function (struct ftrace_event_call *call) |
|
int | trace_parser_get_init (struct trace_parser *parser, int size) |
|
void | trace_parser_put (struct trace_parser *parser) |
|
int | trace_get_user (struct trace_parser *parser, const char __user *ubuf, size_t cnt, loff_t *ppos) |
|
int | tracing_update_buffers (void) |
|
enum regex_type | filter_parse_regex (char *buff, int len, char **search, int *not) |
|
void | print_event_filter (struct ftrace_event_call *call, struct trace_seq *s) |
|
int | apply_event_filter (struct ftrace_event_call *call, char *filter_string) |
|
int | apply_subsystem_event_filter (struct event_subsystem *system, char *filter_string) |
|
void | print_subsystem_event_filter (struct event_subsystem *system, struct trace_seq *s) |
|
int | filter_assign_type (const char *type) |
|
struct list_head * | trace_get_fields (struct ftrace_event_call *event_call) |
|
void | trace_event_enable_cmd_record (bool enable) |
|
void | trace_printk_init_buffers (void) |
|