tep_find_event(3) — Linux manual page

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

LIBTRACEEVENT(3)          libtraceevent Manual          LIBTRACEEVENT(3)

NAME         top

       tep_find_event, tep_find_event_by_name, tep_find_event_by_record,
       tep_record_is_event - Find events by given key.

SYNOPSIS         top

       #include <event-parse.h>

       struct tep_event *tep_find_event(struct tep_handle *tep, int id);
       struct tep_event *tep_find_event_by_name(struct tep_handle *tep, const char *sys, const char *name);
       struct tep_event *tep_find_event_by_record(struct tep_handle *tep, struct tep_record *record);
       bool tep_record_is_event(struct tep_record *record, struct tep_event *event);

DESCRIPTION         top

       This set of functions can be used to search for an event, based
       on a given criteria. All functions require a pointer to a tep,
       trace event parser context.

       The tep_find_event() function searches for an event by given
       event id. The event ID is assigned dynamically and can be viewed
       in event’s format file, "ID" field.

       The tep_find_event_by_name() function searches for an event by
       given event name, under the system sys. If the sys is NULL (not
       specified), the first event with name is returned.

       The tep_find_event_by_record() function searches for an event
       from a given record.

       The tep_record_is_event() function tests if the given record is
       of the type of the event. This is normally used to know if the
       record being processed is of an event where further processing
       should be done.

RETURN VALUE         top

       All these functions except tep_record_is_event() return a pointer
       to the found event, or NULL if there is no such event.

EXAMPLE         top

           #include <event-parse.h>
           ...
           struct tep_handle *tep = tep_alloc();
           ...
           struct tep_event *event;

           event = tep_find_event(tep, 1857);
           if (event == NULL) {
                   /* There is no event with ID 1857 */
           }

           event = tep_find_event_by_name(tep, "kvm", "kvm_exit");
           if (event == NULL) {
                   /* There is no kvm_exit event, from kvm system */
           }

           void event_from_record(struct tep_record *record)
           {
            struct tep_event *event = tep_find_event_by_record(tep, record);
                   if (event == NULL) {
                           /* There is no event from given record */
                   }
           }
           ...

FILES         top

           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.

SEE ALSO         top

       libtraceevent(3), trace-cmd(1)

AUTHOR         top

           Steven Rostedt <rostedt@goodmis.org[1]>, author of libtraceevent.
           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 the libtraceevent (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 2024-06-14.  (At that time, the date of the most recent commit
       that was found in the repository was 2024-05-17.)  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 is not part of the original
       manual page), send a mail to man-pages@man7.org

libtraceevent 1.8.2            06/07/2024               LIBTRACEEVENT(3)