tracefs_get_tracing_file(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLE | FILES | SEE ALSO | AUTHOR | REPORTING BUGS | LICENSE | RESOURCES | COPYING | NOTES | COLOPHON

LIBTRACEFS(3)               libtracefs Manual              LIBTRACEFS(3)

NAME         top

       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         top

       #include <tracefs.h>

       char *tracefs_get_tracing_file(const char *name);
       void tracefs_put_tracing_file(char *name);
       const char *tracefs_tracing_dir(void);
       const char *tracefs_debug_dir(void);
       int tracefs_set_tracing_dir(char *tracing_dir)
       int tracefs_tracing_dir_is_mounted(bool mount, const char **path);

DESCRIPTION         top

       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         top

       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         top

           #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         top

           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         top

       libtracefs(3), libtraceevent(3), trace-cmd(1)

AUTHOR         top

           Steven Rostedt <rostedt@goodmis.org[1]>
           Tzvetomir Stoyanov <tz.stoyanov@gmail.com[2]>

REPORTING BUGS         top

       Report bugs to <linux-trace-devel@vger.kernel.org[3]>

LICENSE         top

       libtracefs is Free Software licensed under the GNU LGPL 2.1

RESOURCES         top

       https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/ 

COPYING         top

       Copyright (C) 2020 VMware, Inc. Free use of this software is
       granted under the terms of the GNU Public License (GPL).

NOTES         top

        1. rostedt@goodmis.org
           mailto:rostedt@goodmis.org

        2. tz.stoyanov@gmail.com
           mailto:tz.stoyanov@gmail.com

        3. linux-trace-devel@vger.kernel.org
           mailto:linux-trace-devel@vger.kernel.org

COLOPHON         top

       This page is part of the libtracefs (Linux kernel trace file
       system library) project.  Information about the project can be
       found at ⟨https://www.trace-cmd.org/⟩.  If you have a bug report
       for this manual page, see ⟨https://www.trace-cmd.org/⟩.  This
       page was obtained from the project's upstream Git repository
       ⟨https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git⟩ on
       2024-06-14.  (At that time, the date of the most recent commit
       that was found in the repository was 2024-05-17.)  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to man-pages@man7.org

libtracefs 1.7.0               12/22/2023                  LIBTRACEFS(3)

Pages that refer to this page: tracefs_event_get_file(3)