NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |EXAMPLE |FILES |SEE ALSO |AUTHOR |REPORTING BUGS |LICENSE |RESOURCES |NOTES |COLOPHON | |
LIBTRACEEVENT(3) libtraceevent ManualLIBTRACEEVENT(3)tep_data_type, tep_data_pid, tep_data_preempt_count, tep_data_flags - Extract common fields from a record.
#include <event-parse.h> enumtrace_flag_type{TRACE_FLAG_IRQS_OFF,TRACE_FLAG_IRQS_NOSUPPORT,TRACE_FLAG_NEED_RESCHED,TRACE_FLAG_HARDIRQ,TRACE_FLAG_SOFTIRQ, }; inttep_data_type(struct tep_handle *tep, struct tep_record *rec); inttep_data_pid(struct tep_handle *tep, struct tep_record *rec); inttep_data_preempt_count(struct tep_handle *tep, struct tep_record *rec); inttep_data_flags(struct tep_handle *tep, struct tep_record *rec);This set of functions can be used to extract common fields from a record. Thetep_data_type()function gets the event id from the recordrec. It reads the "common_type" field. Thetep argument is the trace event parser context. Thetep_data_pid()function gets the process id from the recordrec. It reads the "common_pid" field. Thetep argument is the trace event parser context. Thetep_data_preempt_count()function gets the preemption count from the recordrec. It reads the "common_preempt_count" field. Thetep argument is the trace event parser context. Thetep_data_flags()function gets the latency flags from the recordrec. It reads the "common_flags" field. Thetep argument is the trace event parser context. Supported latency flags are:TRACE_FLAG_IRQS_OFF, Interrupts are disabled.TRACE_FLAG_IRQS_NOSUPPORT, Reading IRQ flag is not supported by the architecture.TRACE_FLAG_NEED_RESCHED, Task needs rescheduling.TRACE_FLAG_HARDIRQ, Hard IRQ is running.TRACE_FLAG_SOFTIRQ, Soft IRQ is running.
Thetep_data_type()function returns an integer, representing the event id. Thetep_data_pid()function returns an integer, representing the process id Thetep_data_preempt_count()function returns an integer, representing the preemption count. Thetep_data_flags()function returns an integer, representing the latency flags. Look at thetrace_flag_type enum for supported flags. All these functions in case of an error return a negative integer.
#include <event-parse.h> ... struct tep_handle *tep = tep_alloc(); ... void process_record(struct tep_record *record) { int data; data = tep_data_type(tep, record); if (data >= 0) { /* Got the ID of the event */ } data = tep_data_pid(tep, record); if (data >= 0) { /* Got the process ID */ } data = tep_data_preempt_count(tep, record); if (data >= 0) { /* Got the preemption count */ } data = tep_data_flags(tep, record); if (data >= 0) { /* Got the latency flags */ } } ...event-parse.h Header file to include in order to have access to the library APIs.-ltraceevent Linker switch to add when building a program that uses the library.
libtraceevent(3),trace-cmd(1)
Steven Rostedt<rostedt@goodmis.org[1]>, author oflibtraceevent.Tzvetomir Stoyanov<tz.stoyanov@gmail.com[2]>, author of this man page.
Report bugs to <linux-trace-devel@vger.kernel.org[3]>
libtraceevent is Free Software licensed under the GNU LGPL 2.1
https://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git/
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 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. | ![]() |