diff mbox series

[v5,27/30] tools/lib/traceevent: Man pages for tep plugins APIs

Message ID 20190412133811.15878-28-tstoyanov@vmware.com (mailing list archive)
State Superseded
Headers show
Series Libtraceevent MAN pages | expand

Commit Message

Tzvetomir Stoyanov April 12, 2019, 1:38 p.m. UTC
Create man pages for libtraceevent APIs:
  tep_load_plugins(),
  tep_unload_plugin()

Signed-off-by: Tzvetomir Stoyanov <tstoyanov@vmware.com>
---
 .../Documentation/libtraceevent-plugins.txt   | 98 +++++++++++++++++++
 1 file changed, 98 insertions(+)
 create mode 100644 tools/lib/traceevent/Documentation/libtraceevent-plugins.txt

Comments

Steven Rostedt May 1, 2019, 1:38 a.m. UTC | #1
On Fri, 12 Apr 2019 16:38:08 +0300
Tzvetomir Stoyanov <tstoyanov@vmware.com> wrote:

> +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]
> +--
> +	- 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 _~/.traceevent/plugins_

We should change this to be:

 ~/.config/traceevent/plugins/plugins_*.so

-- Steve
Tzvetomir Stoyanov May 2, 2019, 3:23 p.m. UTC | #2
On Wed, May 1, 2019 at 4:38 AM Steven Rostedt <rostedt@goodmis.org> wrote:
>
> On Fri, 12 Apr 2019 16:38:08 +0300
> Tzvetomir Stoyanov <tstoyanov@vmware.com> wrote:
>
> > +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]
> > +--
> > +     - 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 _~/.traceevent/plugins_
>
> We should change this to be:
>
>  ~/.config/traceevent/plugins/plugins_*.so
>
Current directory is ~/.traceevent/plugins. I suggest to release the
man page in this way, and later
when we change the library, to update the man page with the new path.
Do you prefer to change
the path in the code before releasing the man pages ?

> -- Steve
Steven Rostedt May 2, 2019, 3:36 p.m. UTC | #3
On Thu, 2 May 2019 15:23:28 +0000
Tzvetomir Stoyanov <tstoyanov@vmware.com> wrote:

> >
> > We should change this to be:
> >
> >  ~/.config/traceevent/plugins/plugins_*.so
> >  
> Current directory is ~/.traceevent/plugins. I suggest to release the
> man page in this way, and later
> when we change the library, to update the man page with the new path.
> Do you prefer to change
> the path in the code before releasing the man pages ?

Hmm, I was about to say I'm fine with it, but I think this is something
we need to change before we say the library is good to go. Let's hold
off on this man page until we make the code update.

Thanks!

-- Steve
diff mbox series

Patch

diff --git a/tools/lib/traceevent/Documentation/libtraceevent-plugins.txt b/tools/lib/traceevent/Documentation/libtraceevent-plugins.txt
new file mode 100644
index 000000000000..cecc7050c8f4
--- /dev/null
+++ b/tools/lib/traceevent/Documentation/libtraceevent-plugins.txt
@@ -0,0 +1,98 @@ 
+libtraceevent(3)
+================
+
+NAME
+----
+tep_load_plugins, tep_unload_plugins - 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_);
+--
+
+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]
+--
+	- 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 _~/.traceevent/plugins_
+--
+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 must be called before _tep_load_plugins()_.
+
+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.
+
+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);
+--
+
+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* <rostedt@goodmis.org>, author of *libtraceevent*.
+*Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>, author of this man page.
+--
+REPORTING BUGS
+--------------
+Report bugs to  <linux-trace-devel@vger.kernel.org>
+
+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