mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
3.6 KiB
122 lines
3.6 KiB
libtraceevent(3) |
|
================ |
|
|
|
NAME |
|
---- |
|
tep_load_plugins, tep_unload_plugins, tep_load_plugins_hook - Load / unload traceevent plugins. |
|
|
|
SYNOPSIS |
|
-------- |
|
[verse] |
|
-- |
|
*#include <event-parse.h>* |
|
|
|
struct tep_plugin_list pass:[*]*tep_load_plugins*(struct tep_handle pass:[*]_tep_); |
|
void *tep_unload_plugins*(struct tep_plugin_list pass:[*]_plugin_list_, struct tep_handle pass:[*]_tep_); |
|
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_); |
|
-- |
|
|
|
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 : |
|
[verse] |
|
-- |
|
- 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: |
|
[verse] |
|
-- |
|
_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 |
|
------- |
|
[source,c] |
|
-- |
|
#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 |
|
----- |
|
[verse] |
|
-- |
|
*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 |
|
------ |
|
[verse] |
|
-- |
|
*Steven Rostedt* <[email protected]>, author of *libtraceevent*. |
|
*Tzvetomir Stoyanov* <[email protected]>, author of this man page. |
|
-- |
|
REPORTING BUGS |
|
-------------- |
|
Report bugs to <[email protected]> |
|
|
|
LICENSE |
|
------- |
|
libtraceevent is Free Software licensed under the GNU LGPL 2.1 |
|
|
|
RESOURCES |
|
--------- |
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
|
|
|