Scroll to navigation

LIBTRACEEVENT(3) libtraceevent Manual LIBTRACEEVENT(3)

NAME

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

SYNOPSIS

#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);

DESCRIPTION

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.

RETURN VALUE

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

EXAMPLE

#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

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

libtraceevent(3), trace-cmd(1)

AUTHOR

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

REPORTING BUGS

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

LICENSE

libtraceevent is Free Software licensed under the GNU LGPL 2.1

RESOURCES

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

NOTES

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
11/26/2020 libtraceevent 1.1.0