Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


tracefs_local_events(3) — Linux manual page

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

LIBTRACEFS(3)               libtracefs ManualLIBTRACEFS(3)

NAME        top

       tracefs_local_events, tracefs_local_events_system,       tracefs_fill_local_events, tracefs_load_cmdlines,       tracefs_load_headers - Initialize a tep handler with trace events       from the local system.

SYNOPSIS        top

#include <tracefs.h>       struct tep_handle *tracefs_local_events(const char *tracing_dir);       struct tep_handle *tracefs_local_events_system(const char *tracing_dir, const char * const *sys_names);       inttracefs_fill_local_events(const char *tracing_dir, struct tep_handle *tep, int *parsing_failures);       inttracefs_load_cmdlines(const char *tracing_dir, struct tep_handle *tep);       inttracefs_load_headers(const char *tracing_dir, struct tep_handle *tep);

DESCRIPTION        top

       Functions for initializing a tep handler with trace events from       the local system.       Thetracefs_local_events()function allocates a newtep handler       and initializes it with events from all trace systems, located in       the giventracing_dir directory. This could be NULL or the       location of the tracefs mount point for the trace systems of the       local machine, or it may be a path to a copy of the tracefs       directory from another machine.       Thetracefs_local_events_system()function allocates a newtep       handler and initializes it with events from specified trace       systemssys_names, located in the giventracing_dir directory.       This could be NULL or the location of the tracefs mount point for       the trace systems of the local machine, or it may be a path to a       copy of the tracefs directory from another machine. Thesys_names       argument is an array of trace system names, that will be used fortep handler initialization. The last element in that array must be       a NULL pointer.       Thetracefs_fill_local_events()function initializes already       allocatedtep handler with events from all trace systems, located       in the giventracing_dir directory. This could be NULL or the       location of the tracefs mount point for the trace systems of the       local machine, or it may be a path to a copy of the tracefs       directory from another machine. Thetep argument must be a pointer       to already allocated tep handler, that is going to be initialized.       Theparsing_failures argument could be NULL or a pointer to an       integer, where the number of failures while parsing the event       files are returned.       The above functions will also load the mappings between pids and       the process command line names. In some cases thetep handle is       created with one of the above before tracing begins. As the       mappings get updated during the trace, there may be a need to read       the mappings again after the trace. Thetracefs_load_cmdlines()       does just that. Thetracing_dir is the directory of the mount       point to load from, or NULL to use the mount point of the tracefs       file system.       Thetracefs_load_headers()will reade the "header_page" of the       events directory that will update thetep handle with information       on how to parse the tracing ring buffer sub-buffer.

RETURN VALUE        top

       Thetracefs_local_events()andtracefs_local_events_system()       functions return pointer to allocated and initializedtep handler,       or NULL in case of an error. The returnedtep handler must be       freed withtep_free(3).       Thetracefs_fill_local_events()function returns -1 in case of an       error or 0 otherwise.       Thetracefs_load_cmdlines()function returns -1 in case of an       error, or 0 otherwise.

EXAMPLE        top

           #include <tracefs.h>           struct tep_handle *tep;           ...                   tep = tracefs_local_events(NULL);                   if (!tep) {                           /* Failed to initialise tep handler with local events from top instance */                           ...                   }           ...                   tep_free(tep);           ...                   const char *systems[] = {"ftrace", "irq", NULL};                   tep = tracefs_local_events_system(NULL, systems);                   if (!tep) {                           /* Failed to initialise tep handler with local events from                            * ftrace and irq systems in top instance.                            */                           ...                   }           ...                   tep_free(tep);           ...                   int parsing_failures;                   tep = tep_alloc();                   if (!tep) {                           /* Failed to allocate a tep handler */                           ...                   }                   if (tracefs_fill_local_events(NULL, tep, &parsing_failures) < 0) {                           /* Failed to initialise tep handler with local events from top instance */                   }                   tracefs_load_cmdlines(NULL, tep);           ...                   tep_free(tep);

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 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.8.1                01/02/2025LIBTRACEFS(3)

Pages that refer to this page:tracefs_hist_alloc(3)tracefs_iterate_raw_events(3)tracefs_synth_alloc(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.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp