mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
4.0 KiB
122 lines
4.0 KiB
libtraceevent(3) |
|
================ |
|
|
|
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 |
|
-------- |
|
[verse] |
|
-- |
|
*#include <event-parse.h>* |
|
*#include <trace-seq.h>* |
|
|
|
int *tep_get_any_field_val*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, unsigned long long pass:[*]_val_, int _err_); |
|
int *tep_get_common_field_val*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, unsigned long long pass:[*]_val_, int _err_); |
|
int *tep_get_field_val*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, unsigned long long pass:[*]_val_, int _err_); |
|
void pass:[*]*tep_get_field_raw*(struct trace_seq pass:[*]_s_, struct tep_event pass:[*]_event_, const char pass:[*]_name_, struct tep_record pass:[*]_record_, int pass:[*]_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 |
|
------- |
|
[source,c] |
|
-- |
|
#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_format *event; |
|
unsigned long long val; |
|
|
|
event = tep_find_event_by_record(pevent, 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 |
|
----- |
|
[verse] |
|
-- |
|
*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 |
|
------ |
|
[verse] |
|
-- |
|
*Steven Rostedt* <[email protected]>, author of *libtraceevent*. |
|
*Tzvetomir Stoyanov* <[email protected]>, author of this man page. |
|
-- |
|
REPORTING BUGS |
|
-------------- |
|
Report bugs to <[email protected]> |
|
|
|
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
|
|
|