Man page - tep_get_field_val(3)

Packages contains this manual

Manual

LIBTRACEEVENT

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

NAME

tep_get_any_field_val, tep_get_common_field_val, tep_get_field_val, tep_get_field_raw - Get value of a field.

SYNOPSIS

#include <event-parse.h>
#include <trace-seq.h>

int tep_get_any_field_val (struct trace_seq * s , struct tep_event * event , const char * name , struct tep_record * record , unsigned long long * val , int err );
int tep_get_common_field_val (struct trace_seq * s , struct tep_event * event , const char * name , struct tep_record * record , unsigned long long * val , int err );
int tep_get_field_val (struct trace_seq * s , struct tep_event * event , const char * name , struct tep_record * record , unsigned long long * val , int err );
void * tep_get_field_raw (struct trace_seq * s , struct tep_event * event , const char * name , struct tep_record * record , int * len , int err );

DESCRIPTION

These functions can be used to find a field and retrieve its value.

The tep_get_any_field_val() function searches in the record for a field with name , part of the event . If the field is found, its value is stored in val . If there is an error and err is not zero, then an error string is written into s .

The tep_get_common_field_val() function does the same as tep_get_any_field_val() , but searches only in the common fields. This works for any event as all events include the common fields.

The tep_get_field_val() function does the same as tep_get_any_field_val() , but searches only in the event specific fields.

The tep_get_field_raw() function searches in the record for a field with name , part of the event . If the field is found, a pointer to where the field exists in the record’s raw data is returned. The size of the data is stored in len . If there is an error and err is not zero, then an error string is written into s .

RETURN VALUE

The tep_get_any_field_val() , tep_get_common_field_val() and tep_get_field_val() functions return 0 on success, or -1 in case of an error.

The tep_get_field_raw() function returns a pointer to field’s raw data, and places the length of this data in len . In case of an error NULL is returned.

EXAMPLE

#include <event-parse.h>
#include <trace-seq.h>
...
struct tep_handle *tep = tep_alloc();
...
struct tep_event *event = tep_find_event_by_name(tep, "kvm", "kvm_exit");
...
void process_record(struct tep_record *record)
{
int len;
char *comm;
struct tep_event *event;
unsigned long long val;

event = tep_find_event_by_record(tep, record);
if (event != NULL) {
if (tep_get_common_field_val(NULL, event, "common_type",
record, &val, 0) == 0) {
/* Got the value of common type field */
}
if (tep_get_field_val(NULL, event, "pid", record, &val, 0) == 0) {
/* Got the value of pid specific field */
}
comm = tep_get_field_raw(NULL, event, "comm", record, &len, 0);
if (comm != NULL) {
/* Got a pointer to the comm event specific field */
}
}
}

FILES

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

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/libs/libtrace/libtraceevent.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