Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


tep_print_event(3) — Linux manual page

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

LIBTRACEEVENT(3)           libtraceevent ManualLIBTRACEEVENT(3)

NAME        top

       tep_print_event - Writes event information into a trace sequence.

SYNOPSIS        top

#include <event-parse.h>#include <trace-seq.h>       voidtep_print_event(struct tep_handle *tep, struct trace_seq*s, struct tep_record *record, const char *fmt,...)

DESCRIPTION        top

       Thetep_print_event()function parses the event information of the       givenrecord and writes it into the trace sequences, according to       the format stringfmt. The desired information is specified after       the format string. Thefmt is printf-like format string, following       arguments are supported:                   TEP_PRINT_PID, "%d"  - PID of the event.                   TEP_PRINT_CPU, "%d"  - Event CPU.                   TEP_PRINT_COMM, "%s" - Event command string.                   TEP_PRINT_NAME, "%s" - Event name.                   TEP_PRINT_LATENCY, "%s" - Latency of the event. It prints 4 or more                                   fields - interrupt state, scheduling state,                                   current context, and preemption count.                                   Field 1 is the interrupt enabled state:                                           d : Interrupts are disabled                                           . : Interrupts are enabled                                           X : The architecture does not support this                                               information                                   Field 2 is the "need resched" state.                                           N : The task is set to call the scheduler when                                               possible, as another higher priority task                                               may need to be scheduled in.                                           . : The task is not set to call the scheduler.                                   Field 3 is the context state.                                           . : Normal context                                           s : Soft interrupt context                                           h : Hard interrupt context                                           H : Hard interrupt context which triggered                                               during soft interrupt context.                                           z : NMI context                                           Z : NMI context which triggered during hard                                               interrupt context                                   Field 4 is the preemption count.                                           . : The preempt count is zero.                                   On preemptible kernels (where the task can be scheduled                                   out in arbitrary locations while in kernel context), the                                   preempt count, when non zero, will prevent the kernel                                   from scheduling out the current task. The preempt count                                   number is displayed when it is not zero.                                   Depending on the kernel, it may show other fields                                   (lock depth, or migration disabled, which are unique to                                   specialized kernels).                   TEP_PRINT_TIME, %d - event time stamp. A divisor and precision can be                                   specified as part of this format string:                                   "%precision.divisord". Example:                                   "%3.1000d" - divide the time by 1000 and print the first                                   3 digits before the dot. Thus, the time stamp                                   "123456000" will be printed as "123.456"                   TEP_PRINT_INFO, "%s" - event information.                   TEP_PRINT_INFO_RAW, "%s" - event information, in raw format.

EXAMPLE        top

           #include <event-parse.h>           #include <trace-seq.h>           ...           struct trace_seq seq;           trace_seq_init(&seq);           struct tep_handle *tep = tep_alloc();           ...           void print_my_event(struct tep_record *record)           {                   trace_seq_reset(&seq);                   tep_print_event(tep, s, record, "%16s-%-5d [%03d] %s %6.1000d %s %s",                                   TEP_PRINT_COMM, TEP_PRINT_PID, TEP_PRINT_CPU,                                   TEP_PRINT_LATENCY, TEP_PRINT_TIME, TEP_PRINT_NAME,                                   TEP_PRINT_INFO);           }           ...

FILES        top

event-parse.h                   Header file to include in order to have access to the library APIs.trace-seq.h                   Header file to include in order to have access to trace sequences related APIs.                   Trace sequences are used to allow a function to call several other functions                   to create a string of data to use.-ltraceevent                   Linker switch to add when building a program that uses the library.

SEE ALSO        top

libtraceevent(3),trace-cmd(1)

AUTHOR        top

Steven Rostedt<rostedt@goodmis.org[1]>, author oflibtraceevent.Tzvetomir Stoyanov<tz.stoyanov@gmail.com[2]>, author of this man page.

REPORTING BUGS        top

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

LICENSE        top

       libtraceevent is Free Software licensed under the GNU LGPL 2.1

RESOURCES        top

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

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 thelibtraceevent (Linux kernel trace event       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/libtraceevent.git⟩       on 2025-08-11.  (At that time, the date of the most recent commit       that was found in the repository was 2025-05-30.)  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.orglibtraceevent 1.7.3             09/24/2023LIBTRACEEVENT(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