NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |EXAMPLE |FILES |SEE ALSO |AUTHOR |REPORTING BUGS |LICENSE |RESOURCES |COPYING |NOTES |COLOPHON | |
LIBTRACEFS(3) libtracefs ManualLIBTRACEFS(3)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.
#include <tracefs.h> char *tracefs_get_tracing_file(const char *name); voidtracefs_put_tracing_file(char *name); const char *tracefs_tracing_dir(void); const char *tracefs_debug_dir(void); inttracefs_set_tracing_dir(char *tracing_dir) inttracefs_tracing_dir_is_mounted(boolmount, const char **path);
This set of APIs can be used to find the full path of the trace file system mount point and trace files in it. Thetracefs_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. Thetracing_dir argument can be NULL, in that case the custom location is deleted and the library auto detection logic is used. Thetracefs_get_tracing_file()function returns the full path of the file with givenname 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 usetracefs_instance_get_file()andtracefs_instance_get_dir() instead. The returned string must be freed withtracefs_put_tracing_file(). Thetracefs_put_tracing_file()function frees trace file name, returned bytracefs_get_tracing_file(). Thetracefs_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 mustnot be freed. Thetracefs_debug_dir()is similar totracefs_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 mustnot be freed.tracefs_tracing_dir_is_mounted()returns 1 if the tracing directory is already mounted and 0 if it is not. Ifmount 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. Ifpath is set, it will be assigned to the path where it mounted it.path is internal and should not be freed.
Thetracefs_set_tracing_dir()function returns 0 on success, -1 otherwise. Thetracefs_get_tracing_file()function returns a string or NULL in case of an error. The returned string must be freed withtracefs_put_tracing_file(). Thetracefs_tracing_dir()function returns a constant string or NULL in case of an error. The returned string mustnot be freed. Thetracefs_debug_dir()function returns a constant string or NULL in case of an error. The returned string mustnot be freed. Thetracefs_tracing_dir_is_mounted()returns 1 if the tracing directory is already mounted, 0 if it is not, and -1 on error.
#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();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.
libtracefs(3),libtraceevent(3),trace-cmd(1)
Steven Rostedt<rostedt@goodmis.org[1]>Tzvetomir Stoyanov<tz.stoyanov@gmail.com[2]>
Report bugs to <linux-trace-devel@vger.kernel.org[3]>
libtracefs is Free Software licensed under the GNU LGPL 2.1
https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/
Copyright (C) 2020 VMware, Inc. Free use of this software is granted under the terms of the GNU Public License (GPL).
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
This page is part of thelibtracefs (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 2025-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-06-02.) 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 isnot part of the original manual page), send a mail to man-pages@man7.orglibtracefs 1.7.0 12/22/2023LIBTRACEFS(3)Pages that refer to this page:tracefs_event_get_file(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |