diff options
Diffstat (limited to 'Documentation/libtraceevent.txt')
-rw-r--r-- | Documentation/libtraceevent.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Documentation/libtraceevent.txt b/Documentation/libtraceevent.txt index 6476070..0502769 100644 --- a/Documentation/libtraceevent.txt +++ b/Documentation/libtraceevent.txt @@ -26,10 +26,12 @@ Management of tep handler data structure and access of its members: void *tep_set_long_size*(struct tep_handle pass:[*]_tep_, int _long_size_); int *tep_get_page_size*(struct tep_handle pass:[*]_tep_); void *tep_set_page_size*(struct tep_handle pass:[*]_tep_, int _page_size_); + int *tep_get_sub_buffer_size*(struct tep_handle pass:[*]_tep_); int *tep_get_header_page_size*(struct tep_handle pass:[*]_tep_); int *tep_get_header_timestamp_size*(struct tep_handle pass:[*]_tep_); bool *tep_is_old_format*(struct tep_handle pass:[*]_tep_); int *tep_strerror*(struct tep_handle pass:[*]_tep_, enum tep_errno _errnum_, char pass:[*]_buf_, size_t _buflen_); + struct kbuffer pass:[*]*tep_kbuffer*(struct tep_handle pass:[*]:_tep_); Register / unregister APIs: int *tep_register_function*(struct tep_handle pass:[*]_tep_, char pass:[*]_name_, unsigned long long _addr_, char pass:[*]_mod_); @@ -38,6 +40,19 @@ Register / unregister APIs: int *tep_register_print_string*(struct tep_handle pass:[*]_tep_, const char pass:[*]_fmt_, unsigned long long _addr_); int *tep_register_print_function*(struct tep_handle pass:[*]_tep_, tep_func_handler _func_, enum tep_func_arg_type _ret_type_, char pass:[*]_name_, _..._); int *tep_unregister_print_function*(struct tep_handle pass:[*]_tep_, tep_func_handler _func_, char pass:[*]_name_); + int *tep_get_function_count*(struct tep_handle *_tep_); + +Trace printk parsing: + void *tep_print_printk*(struct tep_handle pass:[*]tep); + void *tep_print_funcs*(struct tep_handle pass:[*]tep); + void *tep_set_test_filters*(struct tep_handle pass:[*]tep, int test_filters); + void *tep_plugin_print_options*(struct trace_seq pass:[*]s); + int *tep_plugin_add_option*(const char pass:[*]_name_, const char pass:[*]_val_); + +Meta data parsing: + int *tep_parse_saved_cmdlines*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_); + int *tep_parse_printk_formats*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_); + int *tep_parse_kallsyms*(struct tep_handle pass:[*]_tep_, const char pass:[*]_buf_); Plugins management: struct tep_plugin_list pass:[*]*tep_load_plugins*(struct tep_handle pass:[*]_tep_); @@ -47,6 +62,14 @@ Plugins management: int *tep_plugin_add_options*(const char pass:[*]_name_, struct tep_plugin_option pass:[*]_options_); void *tep_plugin_remove_options*(struct tep_plugin_option pass:[*]_options_); void *tep_print_plugins*(struct trace_seq pass:[*]_s_, const char pass:[*]_prefix_, const char pass:[*]_suffix_, const struct tep_plugin_list pass:[*]_list_); + void *tep_load_plugins_hook*(struct tep_handle pass:[*]_tep_, const char pass:[*]_suffix_, + void (pass:[*]_load_plugin_)(struct tep_handle pass:[*]tep, + const char pass:[*]path, + const char pass:[*]name, + void pass:[*]data), + void pass:[*]_data_); + int *tep_add_plugin_path*(struct tep_handle pass:[*]tep, char pass:[*]path, + enum tep_plugin_load_priority prio); Event related APIs: struct tep_event pass:[*]*tep_get_event*(struct tep_handle pass:[*]_tep_, int _index_); @@ -93,6 +116,8 @@ Functions resolver: void *tep_reset_function_resolver*(struct tep_handle pass:[*]_tep_); const char pass:[*]*tep_find_function*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_); unsigned long long *tep_find_function_address*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_); + int *tep_find_function_info*(struct tep_handle pass:[*]_tep_, unsigned long long _addr_, const char pass:[**]_name_, + unsigned long long pass:[*]_start_, unsigned long pass:[*]_size_); Filter management: struct tep_event_filter pass:[*]*tep_filter_alloc*(struct tep_handle pass:[*]_tep_); @@ -132,6 +157,12 @@ Endian related APIs: Control library logs: int *tep_set_loglevel*(enum tep_loglevel _level_); +KVM plugin calllbacks: (Defined by the application and complied with -rdynamic) + const char pass:[*]*tep_plugin_kvm_get_func*(struct tep_event pass:[*]event, + struct tep_record pass:[*]record, + unsigned long long pass:[*]paddr); + void *tep_plugin_kvm_put_func*(const char pass:[*]func); + Trace sequences: *#include <trace-seq.h>* void *trace_seq_init*(struct trace_seq pass:[*]_s_); @@ -144,6 +175,24 @@ Trace sequences: void *trace_seq_terminate*(struct trace_seq pass:[*]_s_); int *trace_seq_do_fprintf*(struct trace_seq pass:[*]_s_, FILE pass:[*]_fp_); int *trace_seq_do_printf*(struct trace_seq pass:[*]_s_); + +kbuffer parsing: +#include <kbuffer.h> + struct kbuffer pass:[*]*kbuffer_alloc*(enum kbuffer_long_size _size_, enum kbuffer_endian _endian_); + void *kbuffer_free*(struct kbuffer pass:[*]_kbuf_); + int *kbuffer_load_subbuffer*(struct kbuffer pass:[*]_kbuf_, void pass:[*]_subbuffer_); + int *kbuffer_subbuffer_size*(struct kbuffer pass:[*]_kbuf); + int *kbuffer_start_of_data*(struct kbuffer pass:[*]_kbuf_); + unsigned long long *kbuffer_timestamp*(struct kbuffer pass:[*]_kbuf_); + unsigned long long *kbuffer_subbuf_timestamp*(struct kbuffer pass:[*]_kbuf_, void pass:[*]_subbuf_); + void pass:[*]*kbuffer_read_event*(struct kbuffer pass:[*]_kbuf_, unsigned long long pass:[*]_ts_); + void pass:[*]*kbuffer_next_event*(struct kbuffer pass:[*]_kbuf_, unsigned long long pass:[*]_ts_); + void pass:[*]*kbuffer_read_at_offset*(struct kbuffer pass:[*]_kbuf_, int _offset_, unsigned long long pass:[*]_ts_); + int *kbuffer_missed_events*(struct kbuffer pass:[*]_kbuf_); + int *kbuffer_event_size*(struct kbuffer pass:[*]_kbuf_); + int *kbuffer_curr_size*(struct kbuffer pass:[*]_kbuf_); + int *kbuffer_curr_offset*(struct kbuffer pass:[*]_kbuf_); + int *kbuffer_curr_index*(struct kbuffer pass:[*]_kbuf_); -- DESCRIPTION |