132 lines
4.1 KiB
Plaintext
132 lines
4.1 KiB
Plaintext
libtracefs(3)
|
|
=============
|
|
|
|
NAME
|
|
----
|
|
tracefs_get_tracing_file, tracefs_put_tracing_file, tracefs_tracing_dir, tracefs_debug_dir, tracefs_set_tracing_dir,
|
|
tracefs_tracing_dir_is_mounted - Find and set locations of trace directory and files.
|
|
|
|
SYNOPSIS
|
|
--------
|
|
[verse]
|
|
--
|
|
*#include <tracefs.h>*
|
|
|
|
char pass:[*]*tracefs_get_tracing_file*(const char pass:[*]_name_);
|
|
void *tracefs_put_tracing_file*(char pass:[*]_name_);
|
|
const char pass:[*]*tracefs_tracing_dir*(void);
|
|
const char pass:[*]*tracefs_debug_dir*(void);
|
|
int *tracefs_set_tracing_dir*(char pass:[*]_tracing_dir_)
|
|
int *tracefs_tracing_dir_is_mounted*(bool _mount_, const char pass:[**]_path_);
|
|
--
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
This set of APIs can be used to find the full path of the trace file
|
|
system mount point and trace files in it.
|
|
|
|
The *tracefs_set_tracing_dir()* function sets a custom location of the
|
|
system's tracing directory mount point. Usually, the library auto detects
|
|
it using the information from the /proc/mounts file. Use this API only if the
|
|
mount point is not standard and cannot be detected by the library. The _tracing_dir_
|
|
argument can be NULL, in that case the custom location is deleted and the library
|
|
auto detection logic is used.
|
|
|
|
The *tracefs_get_tracing_file()* function returns the full path of the
|
|
file with given _name_ in the trace file system. The function works
|
|
only with files in the tracefs main directory, it is not trace instance
|
|
aware. It is recommended to use *tracefs_instance_get_file()* and
|
|
*tracefs_instance_get_dir()* instead. The returned string must be freed
|
|
with *tracefs_put_tracing_file()*.
|
|
|
|
The *tracefs_put_tracing_file()* function frees trace file name,
|
|
returned by *tracefs_get_tracing_file()*.
|
|
|
|
The *tracefs_tracing_dir()* function returns the full path to the
|
|
trace file system. In the first function call, the mount point of the
|
|
tracing file system is located, cached and returned. It will mount it,
|
|
if it is not mounted. On any subsequent call the cached path is returned.
|
|
The return string must _not_ be freed.
|
|
|
|
The *tracefs_debug_dir()* is similar to *tracefs_tracing_dir()* except
|
|
that it will return where the debugfs file system is mounted. If it
|
|
is not mounted it will try to mount it. The return string must _not_
|
|
be freed.
|
|
|
|
*tracefs_tracing_dir_is_mounted()* returns 1 if the tracing directory is
|
|
already mounted and 0 if it is not. If _mount_ is true, it will try to
|
|
mount it if it is not, and returns 0 if it succesfully mounted it and -1
|
|
if it did not. If _path_ is set, it will be assigned to the path where it
|
|
mounted it. _path_ is internal and should not be freed.
|
|
|
|
RETURN VALUE
|
|
------------
|
|
The *tracefs_set_tracing_dir()* function returns 0 on success, -1 otherwise.
|
|
|
|
The *tracefs_get_tracing_file()* function returns a string or NULL in case
|
|
of an error. The returned string must be freed with *tracefs_put_tracing_file()*.
|
|
|
|
The *tracefs_tracing_dir()* function returns a constant string or NULL
|
|
in case of an error. The returned string must _not_ be freed.
|
|
|
|
The *tracefs_debug_dir()* function returns a constant string or NULL
|
|
in case of an error. The returned string must _not_ be freed.
|
|
|
|
The *tracefs_tracing_dir_is_mounted()* returns 1 if the tracing directory
|
|
is already mounted, 0 if it is not, and -1 on error.
|
|
|
|
EXAMPLE
|
|
-------
|
|
[source,c]
|
|
--
|
|
#include <tracefs.h>
|
|
...
|
|
char *trace_on = tracefs_get_tracing_file("tracing_on");
|
|
if (trace_on) {
|
|
...
|
|
tracefs_put_tracing_file(trace_on);
|
|
}
|
|
...
|
|
const char *trace_dir = tracefs_tracing_dir();
|
|
|
|
--
|
|
FILES
|
|
-----
|
|
[verse]
|
|
--
|
|
*tracefs.h*
|
|
Header file to include in order to have access to the library APIs.
|
|
*-ltracefs*
|
|
Linker switch to add when building a program that uses the library.
|
|
--
|
|
|
|
SEE ALSO
|
|
--------
|
|
*libtracefs*(3),
|
|
*libtraceevent*(3),
|
|
*trace-cmd*(1)
|
|
|
|
AUTHOR
|
|
------
|
|
[verse]
|
|
--
|
|
*Steven Rostedt* <rostedt@goodmis.org>
|
|
*Tzvetomir Stoyanov* <tz.stoyanov@gmail.com>
|
|
--
|
|
REPORTING BUGS
|
|
--------------
|
|
Report bugs to <linux-trace-devel@vger.kernel.org>
|
|
|
|
LICENSE
|
|
-------
|
|
libtracefs is Free Software licensed under the GNU LGPL 2.1
|
|
|
|
RESOURCES
|
|
---------
|
|
https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/
|
|
|
|
COPYING
|
|
-------
|
|
Copyright \(C) 2020 VMware, Inc. Free use of this software is granted under
|
|
the terms of the GNU Public License (GPL).
|