table of contents
- buster-backports 1:1.1.0-2~bpo10+1
- testing 1:1.1.2-1
- unstable 1:1.1.2-1
- experimental 1:1.1.3-1
LIBTRACEEVENT(3) | libtraceevent Manual | LIBTRACEEVENT(3) |
NAME¶
tep_load_plugins, tep_unload_plugins, tep_load_plugins_hook - Load / unload traceevent plugins.SYNOPSIS¶
#include <event-parse.h> struct tep_plugin_list *tep_load_plugins(struct tep_handle *tep); void tep_unload_plugins(struct tep_plugin_list *plugin_list, struct tep_handle *tep); void tep_load_plugins_hook(struct tep_handle *tep, const char *suffix, void (*load_plugin)(struct tep_handle *tep, const char *path, const char *name, void *data), void *data);
DESCRIPTION¶
The tep_load_plugins() function loads all plugins, located in the plugin directories. The tep argument is trace event parser context. The plugin directories are :- Directories, specified in tep→plugins_dir with priority TEP_PLUGIN_FIRST - System’s plugin directory, defined at the library compile time. It depends on the library installation prefix and usually is (install_preffix)/lib/traceevent/plugins - Directory, defined by the environment variable TRACEEVENT_PLUGIN_DIR - User’s plugin directory, located at ~/.local/lib/traceevent/plugins - Directories, specified in tep→plugins_dir with priority TEP_PLUGIN_LAST
Loading of plugins can be controlled by the tep_flags, using the tep_set_flag() API:
TEP_DISABLE_SYS_PLUGINS - do not load plugins, located in the system’s plugin directory. TEP_DISABLE_PLUGINS - do not load any plugins.
The tep_set_flag() API needs to be called before tep_load_plugins(), if loading of all plugins is not the desired case.
The tep_unload_plugins() function unloads the plugins, previously loaded by tep_load_plugins(). The tep argument is trace event parser context. The plugin_list is the list of loaded plugins, returned by the tep_load_plugins() function.
The tep_load_plugins_hook function walks through all directories with plugins and calls user specified load_plugin() hook for each plugin file. Only files with given suffix are considered to be plugins. The data is a user specified context, passed to load_plugin(). Directories and the walk order are the same as in tep_load_plugins() API.
RETURN VALUE¶
The tep_load_plugins() function returns a list of successfully loaded plugins, or NULL in case no plugins are loaded.EXAMPLE¶
#include <event-parse.h> ... struct tep_handle *tep = tep_alloc(); ... struct tep_plugin_list *plugins = tep_load_plugins(tep); if (plugins == NULL) { /* no plugins are loaded */ } ... tep_unload_plugins(plugins, tep); ... void print_plugin(struct tep_handle *tep, const char *path, const char *name, void *data) { pritnf("Found libtraceevent plugin %s/%s\n", path, name); } ... tep_load_plugins_hook(tep, ".so", print_plugin, NULL); ...
FILES¶
event-parse.h Header file to include in order to have access to the library APIs. -ltraceevent Linker switch to add when building a program that uses the library.
SEE ALSO¶
libtraceevent(3), trace-cmd(1), tep_set_flag(3)AUTHOR¶
Steven Rostedt <rostedt@goodmis.org[1]>, author of libtraceevent. Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>, author of this man page.
REPORTING BUGS¶
Report bugs to <linux-trace-devel@vger.kernel.org[3]>LICENSE¶
libtraceevent is Free Software licensed under the GNU LGPL 2.1RESOURCES¶
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitNOTES¶
- 1.
- rostedt@goodmis.org
- 2.
- tz.stoyanov@gmail.com
- 3.
- linux-trace-devel@vger.kernel.org
11/26/2020 | libtraceevent 1.1.0 |