Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


tracefs_instance_create(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_instance_create, tracefs_instance_destroy,       tracefs_instance_alloc, tracefs_instance_free,       tracefs_instance_is_new, tracefs_instances,       tracefs_instance_clear, tracefs_instance_reset - Manage trace       instances.

SYNOPSIS        top

#include <tracefs.h>       struct tracefs_instance *tracefs_instance_create(const char *name);       inttracefs_instance_destroy(struct tracefs_instance *instance);       struct tracefs_instance *tracefs_instance_alloc(const char *tracing_dir, const char *name);       voidtracefs_instance_free(struct tracefs_instance *instance);       booltracefs_instance_is_new(struct tracefs_instance *instance);       char **tracefs_instances(const char *regex);       voidtracefs_instance_clear(struct tracefs_instance *instance);       voidtracefs_instance_reset(struct tracefs_instance *instance);

DESCRIPTION        top

       This set of functions can be used to manage trace instances. A       trace instance is a sub buffer used by the Linux tracing system.       Given a unique name, the events enabled in an instance do not       affect the main tracing system, nor other instances, as events       enabled in the main tracing system or other instances do not       affect the given instance.       Thetracefs_instance_create()function allocates and initializes a       new tracefs_instance structure and returns it. If the instance       withname does not yet exist in the system, it will be created.       Thename could be NULL, then the new tracefs_instance structure is       initialized for the top instance. Note that the top instance       cannot be created in the system, if it does not exist.       Thetracefs_instance_destroy()removes the instance from the       system, but does not free the structure.tracefs_instance_free()       must still be called oninstance.       The tracefs_instance_alloc()* function allocates a new       tracefs_instance structure for existing trace instance. If the       instance does not exist in the system, the function fails. Thetracing_dir parameter points to the system trace directory. It can       be NULL, then default system trace directory is used. This       parameter is useful to allocate instances to trace directories,       copied from another machine. Thename is the name of the instance,       or NULL for the top instance in the giventracing_dir.       Thetracefs_instance_free()function frees the tracefs_instance       structure, without removing the trace instance from the system.       Thetracefs_instance_is_new()function checks if the giveninstance is newly created bytracefs_instance_create(), or it has       been in the system before that.       Thetracefs_instances() function returns a list of instances that       exist in the system that match the regular expressionregex. Ifregex is NULL, then it will match all instances that exist. The       returned list must be freed withtracefs_list_free(3). Note, if no       instances are found an empty list is returned and that too needs       to be free withtracefs_list_free(3).       Thetracefs_instance_clear()function clears the ring buffer of       the giveninstance or the top level ring buffer ifinstance is       NULL.       Thetracefs_instance_reset() function resets the giveninstance to       its default state.

RETURN VALUE        top

       Thetracefs_instance_create()andtracefs_instance_alloc()       functions return a pointer to a newly allocated tracefs_instance       structure. It must be freed withtracefs_instance_free().       Thetracefs_instance_destroy()function returns 0 if it succeeds       to remove the instance, otherwise it returns -1 if the instance       does not exist or it fails to remove it.       Thetracefs_instance_is_new()function returns true if thetracefs_instance_create()that allocatedinstance also created the       trace instance in the system, or false if the trace instance       already existed in the system wheninstance was allocated bytracefs_instance_create()ortracefs_instance_alloc().       Thetracefs_instances()returns a list of instance names that       exist on the system. The list must be freed withtracefs_list_free(3). An empty list is returned if no instance       exists that matchesregex, and this needs to be freed withtracefs_list_free(3) as well. NULL is returned on error.       Thetracefs_instance_clear()returns 0 if it successfully cleared       the ring buffer, or -1 on error.

EXAMPLE        top

           #include <tracefs.h>           struct tracefs_instance *inst = tracefs_instance_create("foo");                   if (!inst) {                           /* Error creating a new trace instance */                           ...                   }                   ...                   if (tracefs_instance_is_new(inst))                           tracefs_instance_destroy(inst);                   tracefs_instance_free(inst);           ...           struct tracefs_instance *inst = tracefs_instance_alloc(NULL, "bar");                   if (!inst) {                           /* Error allocating 'bar' trace instance */                           ...                   }                   ...                   tracefs_instance_reset(inst);                   tracefs_instance_free(inst);

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)


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