16#include <lttng/handle.h>
17#include <lttng/lttng-export.h>
18#include <lttng/userspace-probe.h>
74 LTTNG_EVENT_FUNCTION_ENTRY = 3,
725 LTTNG_EVENT_CONTEXT_PERF_COUNTER = 1,
903#define LTTNG_PERF_EVENT_PADDING1 16
1101 char padding[LTTNG_PERF_EVENT_PADDING1];
1104#define LTTNG_EVENT_CONTEXT_PADDING1 16
1105#define LTTNG_EVENT_CONTEXT_PADDING2 (LTTNG_SYMBOL_NAME_LEN + 32)
1142 char padding[LTTNG_EVENT_CONTEXT_PADDING2];
1185 char padding[LTTNG_EVENT_CONTEXT_PADDING1];
1191#define LTTNG_EVENT_PROBE_PADDING1 16
1245 char padding[LTTNG_EVENT_PROBE_PADDING1];
1253#define LTTNG_EVENT_FUNCTION_PADDING1 16
1254struct lttng_event_function_attr {
1257 char padding[LTTNG_EVENT_FUNCTION_PADDING1];
1265#define LTTNG_EVENT_PADDING1 12
1266#define LTTNG_EVENT_PADDING2 (LTTNG_SYMBOL_NAME_LEN + 32)
1284 struct lttng_event_function_attr ftrace;
1286 char padding[LTTNG_EVENT_PADDING2];
1563#define LTTNG_EVENT_FIELD_PADDING (LTTNG_SYMBOL_NAME_LEN + 32)
1581 char padding[LTTNG_EVENT_FIELD_PADDING];
1640 const char *channel_name,
1745 const char **filter_expr);
1824 const char **event_name_exclusion);
1896LTTNG_EXPORT
extern int
2103 const char *event_name,
2104 const char *channel_name);
2172 const char *channel_name);
2237 const char *channel_name,
2238 const char *filter_expr);
2383 const char *channel_name,
2384 const char *filter_expr,
2385 int event_name_exclusion_count,
2386 char **event_name_exclusions);
2430 const char *event_rule_name,
2431 const char *channel_name);
2579 const char *channel_name,
2580 const char *filter_expr);
lttng_event_context_type
Context field type.
Definition event.h:720
int lttng_list_events(const struct lttng_handle *handle, const char *channel_name, struct lttng_event **event_rules)
Sets *event_rules to the descriptors of the recording event rules of the channel named channel_name w...
lttng_event_output
Channel output type.
Definition event.h:384
int lttng_add_context(struct lttng_handle *handle, struct lttng_event_context *context_field_descriptor, const char *event_name, const char *channel_name)
Makes the future event records of the channel named channel_name (or of a default channel or all the ...
@ LTTNG_EVENT_CONTEXT_USER_NS
User and group ID namespace ID.
Definition event.h:804
@ LTTNG_EVENT_CONTEXT_PERF_THREAD_COUNTER
Per-thread perf counter.
Definition event.h:765
@ LTTNG_EVENT_CONTEXT_MIGRATABLE
Whether or not the process is migratable.
Definition event.h:780
@ LTTNG_EVENT_CONTEXT_CPU_ID
CPU ID.
Definition event.h:849
@ LTTNG_EVENT_CONTEXT_EGID
Effective group ID namespace ID.
Definition event.h:822
@ LTTNG_EVENT_CONTEXT_VSGID
Virtual set owner group ID namespace ID.
Definition event.h:843
@ LTTNG_EVENT_CONTEXT_PRIO
Process priority.
Definition event.h:732
@ LTTNG_EVENT_CONTEXT_VEUID
Virtual effective user ID namespace ID.
Definition event.h:831
@ LTTNG_EVENT_CONTEXT_VSUID
Virtual set owner user ID namespace ID.
Definition event.h:834
@ LTTNG_EVENT_CONTEXT_VEGID
Virtual effective group ID namespace ID.
Definition event.h:840
@ LTTNG_EVENT_CONTEXT_PID_NS
Process ID namespace ID.
Definition event.h:801
@ LTTNG_EVENT_CONTEXT_HOSTNAME
Hostname.
Definition event.h:756
@ LTTNG_EVENT_CONTEXT_PROCNAME
Process name.
Definition event.h:729
@ LTTNG_EVENT_CONTEXT_APP_CONTEXT
Application-specific context.
Definition event.h:768
@ LTTNG_EVENT_CONTEXT_PERF_CPU_COUNTER
Per-CPU perf counter.
Definition event.h:762
@ LTTNG_EVENT_CONTEXT_VTID
Virtual thread ID.
Definition event.h:744
@ LTTNG_EVENT_CONTEXT_PREEMPTIBLE
Whether or not the process is preemptible.
Definition event.h:774
@ LTTNG_EVENT_CONTEXT_TIME_NS
Boot and monotonic clock namespace ID.
Definition event.h:846
@ LTTNG_EVENT_CONTEXT_SGID
Set owner group ID namespace ID.
Definition event.h:825
@ LTTNG_EVENT_CONTEXT_UTS_NS
Hostname and NIS domain name namespace ID.
Definition event.h:807
@ LTTNG_EVENT_CONTEXT_VPID
Virtual process ID.
Definition event.h:738
@ LTTNG_EVENT_CONTEXT_VGID
Virtual group ID namespace ID.
Definition event.h:837
@ LTTNG_EVENT_CONTEXT_INTERRUPTIBLE
Whether or not the process is interruptible.
Definition event.h:771
@ LTTNG_EVENT_CONTEXT_CALLSTACK_USER
User space call stack.
Definition event.h:786
@ LTTNG_EVENT_CONTEXT_NICE
Nice value of the process.
Definition event.h:735
@ LTTNG_EVENT_CONTEXT_CALLSTACK_KERNEL
Linux kernel call stack.
Definition event.h:783
@ LTTNG_EVENT_CONTEXT_TID
Thread ID.
Definition event.h:741
@ LTTNG_EVENT_CONTEXT_CGROUP_NS
Control group root directory namespace ID.
Definition event.h:789
@ LTTNG_EVENT_CONTEXT_EUID
Effective user ID namespace ID.
Definition event.h:813
@ LTTNG_EVENT_CONTEXT_UID
User ID namespace ID.
Definition event.h:810
@ LTTNG_EVENT_CONTEXT_PID
Process ID.
Definition event.h:722
@ LTTNG_EVENT_CONTEXT_PTHREAD_ID
POSIX thread ID.
Definition event.h:753
@ LTTNG_EVENT_CONTEXT_NET_NS
Networking namespace ID.
Definition event.h:798
@ LTTNG_EVENT_CONTEXT_IP
Instruction pointer.
Definition event.h:759
@ LTTNG_EVENT_CONTEXT_PPID
ID of the parent process.
Definition event.h:747
@ LTTNG_EVENT_CONTEXT_NEED_RESCHEDULE
Whether or not the process needs a reschedule.
Definition event.h:777
@ LTTNG_EVENT_CONTEXT_GID
Group ID namespace ID.
Definition event.h:819
@ LTTNG_EVENT_CONTEXT_VPPID
Virtual ID of the parent process.
Definition event.h:750
@ LTTNG_EVENT_CONTEXT_MNT_NS
Mount point namespace ID.
Definition event.h:795
@ LTTNG_EVENT_CONTEXT_SUID
Set owner user ID namespace ID.
Definition event.h:816
@ LTTNG_EVENT_CONTEXT_VUID
Virtual user ID namespace ID.
Definition event.h:828
@ LTTNG_EVENT_CONTEXT_IPC_NS
System V IPC and POSIX message queue namespace ID.
Definition event.h:792
@ LTTNG_EVENT_SPLICE
Use the splice(2) system call.
Definition event.h:386
@ LTTNG_EVENT_MMAP
Use the mmap(2) system call.
Definition event.h:389
#define LTTNG_SYMBOL_NAME_LEN
Maximum symbol length.
Definition constant.h:39
int lttng_list_syscalls(struct lttng_event **descrs)
Sets *descrs to the descriptors of the available Linux system calls for the LTTNG_DOMAIN_KERNEL traci...
int lttng_list_tracepoint_fields(struct lttng_handle *handle, struct lttng_event_field **fields)
Sets *fields to the field descriptions of all the available LTTng tracepoints for the tracing domain ...
lttng_event_flag
Instrumentation point descriptor flag (type of the lttng_event::flags member).
Definition event.h:883
int lttng_list_tracepoints(struct lttng_handle *handle, struct lttng_event **descrs)
Sets *descrs to the descriptors of the available LTTng tracepoints or Java/Python loggers for the tra...
lttng_event_field_type
LTTng tracepoint field data type (type of the lttng_event_field::type member).
Definition event.h:859
@ LTTNG_EVENT_FLAG_SYSCALL_32
32-bit Linux system call.
Definition event.h:891
@ LTTNG_EVENT_FLAG_SYSCALL_64
64-bit Linux system call.
Definition event.h:900
@ LTTNG_EVENT_FIELD_ENUM
Enumeration.
Definition event.h:867
@ LTTNG_EVENT_FIELD_OTHER
Other/unknown.
Definition event.h:861
@ LTTNG_EVENT_FIELD_INTEGER
Integer.
Definition event.h:864
@ LTTNG_EVENT_FIELD_STRING
String.
Definition event.h:873
@ LTTNG_EVENT_FIELD_FLOAT
Floating point number.
Definition event.h:870
lttng_loglevel_python
Value of the instrumentation point log level condition of a Python recording event rule.
Definition event.h:358
int lttng_event_get_exclusion_name_count(const struct lttng_event *event_rule)
Returns the number of event name exclusion patterns of the recording event rule described by event_ru...
const struct lttng_userspace_probe_location * lttng_event_get_userspace_probe_location(const struct lttng_event *event_rule)
Returns the Linux user space probe location of the recording event rule described by event_rule.
int lttng_enable_event_with_exclusions(struct lttng_handle *handle, struct lttng_event *event_rule, const char *channel_name, const char *filter_expr, int event_name_exclusion_count, char **event_name_exclusions)
Creates or enables a recording event rule described by event_rule, having the event payload and conte...
lttng_loglevel_type
Operand of the instrumentation point log level condition of a recording event rule.
Definition event.h:121
lttng_loglevel_log4j2
Value of the instrumentation point log level condition of a Apache Log4j 2 recording event rule.
Definition event.h:304
int lttng_enable_event(struct lttng_handle *handle, struct lttng_event *event_rule, const char *channel_name)
Alias of lttng_enable_event_with_exclusions() which passes the event payload and context filter expre...
lttng_loglevel_log4j
Value of the instrumentation point log level condition of an Apache log4j 1.x recording event rule.
Definition event.h:250
void lttng_event_destroy(struct lttng_event *event_rule)
Destroys the recording event rule descriptor event_rule.
int lttng_disable_event(struct lttng_handle *handle, const char *event_rule_name, const char *channel_name)
Alias of lttng_disable_event_ext() which creates a temporary recording event rule descriptor,...
struct lttng_event * lttng_event_create(void)
Creates and returns an empty recording event rule descriptor.
int lttng_disable_event_ext(struct lttng_handle *handle, struct lttng_event *event_rule, const char *channel_name, const char *filter_expr)
Disables recording event rules by instrumentation point type and event name condition within the chan...
lttng_loglevel
Value of the instrumentation point log level condition of an LTTng user space tracepoint recording ev...
Definition event.h:148
int lttng_enable_event_with_filter(struct lttng_handle *handle, struct lttng_event *event_rule, const char *channel_name, const char *filter_expr)
Alias of lttng_enable_event_with_exclusions() which passes the the event name exclusion patterns of e...
int lttng_event_get_filter_expression(const struct lttng_event *event_rule, const char **filter_expr)
Sets *filter_expr to the event payload and context filter expression of the recording event rule desc...
lttng_loglevel_jul
Value of the instrumentation point log level condition of a java.util.logging recording event rule.
Definition event.h:209
lttng_event_type
Instrumentation point type condition of a recording event rule, or instrumentation point type when lt...
Definition event.h:29
int lttng_event_get_exclusion_name(const struct lttng_event *event_rule, size_t index, const char **event_name_exclusion)
Sets *event_name_exclusion to the event name exclusion pattern at index index of the recording event ...
int lttng_event_set_userspace_probe_location(struct lttng_event *event_rule, struct lttng_userspace_probe_location *location)
Sets the Linux user space probe location of the recording event rule described by event_rule to locat...
@ LTTNG_LOGLEVEL_PYTHON_WARNING
Warning.
Definition event.h:366
@ LTTNG_LOGLEVEL_PYTHON_INFO
Information.
Definition event.h:369
@ LTTNG_LOGLEVEL_PYTHON_ERROR
Error.
Definition event.h:363
@ LTTNG_LOGLEVEL_PYTHON_CRITICAL
Critical.
Definition event.h:360
@ LTTNG_LOGLEVEL_PYTHON_DEBUG
Debugging.
Definition event.h:372
@ LTTNG_LOGLEVEL_PYTHON_NOTSET
Logging turned off.
Definition event.h:375
@ LTTNG_EVENT_LOGLEVEL_RANGE
Definition event.h:129
@ LTTNG_EVENT_LOGLEVEL_SINGLE
Match events with a log level that's exacty LL.
Definition event.h:132
@ LTTNG_EVENT_LOGLEVEL_ALL
Match events regardless of their log level.
Definition event.h:123
@ LTTNG_LOGLEVEL_LOG4J2_ERROR
Definition event.h:318
@ LTTNG_LOGLEVEL_LOG4J2_ALL
All levels, including custom levels.
Definition event.h:342
@ LTTNG_LOGLEVEL_LOG4J2_FATAL
Definition event.h:312
@ LTTNG_LOGLEVEL_LOG4J2_OFF
Logging turned off.
Definition event.h:306
@ LTTNG_LOGLEVEL_LOG4J2_TRACE
Definition event.h:339
@ LTTNG_LOGLEVEL_LOG4J2_WARN
Potentially harmful situations.
Definition event.h:321
@ LTTNG_LOGLEVEL_LOG4J2_INFO
Definition event.h:327
@ LTTNG_LOGLEVEL_LOG4J2_DEBUG
Definition event.h:333
@ LTTNG_LOGLEVEL_LOG4J_WARN
Potentially harmful situations.
Definition event.h:267
@ LTTNG_LOGLEVEL_LOG4J_ERROR
Definition event.h:264
@ LTTNG_LOGLEVEL_LOG4J_INFO
Definition event.h:273
@ LTTNG_LOGLEVEL_LOG4J_FATAL
Definition event.h:258
@ LTTNG_LOGLEVEL_LOG4J_TRACE
Definition event.h:285
@ LTTNG_LOGLEVEL_LOG4J_DEBUG
Definition event.h:279
@ LTTNG_LOGLEVEL_LOG4J_ALL
All levels, including custom levels.
Definition event.h:288
@ LTTNG_LOGLEVEL_LOG4J_OFF
Logging turned off.
Definition event.h:252
@ LTTNG_LOGLEVEL_DEBUG
Debug-level message.
Definition event.h:195
@ LTTNG_LOGLEVEL_DEBUG_PROGRAM
Debug information with program-level scope (set of processes).
Definition event.h:174
@ LTTNG_LOGLEVEL_DEBUG_FUNCTION
Debug information with function-level scope.
Definition event.h:189
@ LTTNG_LOGLEVEL_WARNING
Warning conditions.
Definition event.h:162
@ LTTNG_LOGLEVEL_INFO
Informational message.
Definition event.h:168
@ LTTNG_LOGLEVEL_DEBUG_UNIT
Debug information with compilation unit scope (set of functions).
Definition event.h:186
@ LTTNG_LOGLEVEL_DEBUG_MODULE
Definition event.h:183
@ LTTNG_LOGLEVEL_ALERT
Action must be taken immediately.
Definition event.h:153
@ LTTNG_LOGLEVEL_ERR
Error conditions.
Definition event.h:159
@ LTTNG_LOGLEVEL_CRIT
Critical conditions.
Definition event.h:156
@ LTTNG_LOGLEVEL_NOTICE
Normal, but significant, condition.
Definition event.h:165
@ LTTNG_LOGLEVEL_DEBUG_SYSTEM
Debug information with system-level scope (set of programs).
Definition event.h:171
@ LTTNG_LOGLEVEL_DEBUG_PROCESS
Debug information with process-level scope (set of modules).
Definition event.h:177
@ LTTNG_LOGLEVEL_EMERG
System is unusable.
Definition event.h:150
@ LTTNG_LOGLEVEL_DEBUG_LINE
Debug information with line-level scope.
Definition event.h:192
@ LTTNG_LOGLEVEL_JUL_FINER
Fairly detailed tracing message.
Definition event.h:229
@ LTTNG_LOGLEVEL_JUL_FINE
Tracing information.
Definition event.h:226
@ LTTNG_LOGLEVEL_JUL_CONFIG
Static configuration messages.
Definition event.h:223
@ LTTNG_LOGLEVEL_JUL_ALL
All messages.
Definition event.h:235
@ LTTNG_LOGLEVEL_JUL_WARNING
Potential problem.
Definition event.h:217
@ LTTNG_LOGLEVEL_JUL_INFO
Informational messages.
Definition event.h:220
@ LTTNG_LOGLEVEL_JUL_SEVERE
Serious failure.
Definition event.h:214
@ LTTNG_LOGLEVEL_JUL_FINEST
Highly detailed tracing message.
Definition event.h:232
@ LTTNG_LOGLEVEL_JUL_OFF
Logging turned off.
Definition event.h:211
@ LTTNG_EVENT_TRACEPOINT
Definition event.h:51
@ LTTNG_EVENT_SYSCALL
Definition event.h:89
@ LTTNG_EVENT_USERSPACE_PROBE
Definition event.h:100
@ LTTNG_EVENT_PROBE
Definition event.h:61
@ LTTNG_EVENT_ALL
Definition event.h:38
@ LTTNG_EVENT_FUNCTION
Definition event.h:71
Context field descriptor.
Definition event.h:1164
enum lttng_event_context_type ctx
Context field type.
Definition event.h:1183
union lttng_event_context_u u
perf counter or application-specific context field descriptor.
Definition event.h:1188
LTTng tracepoint field description.
Definition event.h:1574
int nowrite
0 if LTTng writes this field to an event record, or 1 otherwise.
Definition event.h:1595
struct lttng_event event
Descriptor of the tracepoint which contains this field.
Definition event.h:1588
enum lttng_event_field_type type
Field data type.
Definition event.h:1579
char field_name[LTTNG_SYMBOL_NAME_LEN]
Field name.
Definition event.h:1576
perf counter context field descriptor.
Definition event.h:926
char name[LTTNG_SYMBOL_NAME_LEN]
Context field name.
Definition event.h:1099
uint64_t config
perf counter configuration.
Definition event.h:1096
uint32_t type
perf counter type ID.
Definition event.h:951
Legacy Linux kprobe/kretprobe location.
Definition event.h:1216
char symbol_name[LTTNG_SYMBOL_NAME_LEN]
kprobe/kretprobe symbol name.
Definition event.h:1243
uint64_t addr
kprobe/kretprobe address.
Definition event.h:1224
uint64_t offset
kprobe/kretprobe address offset from the symbol named lttng_event_probe_attr::symbol_name.
Definition event.h:1231
Recording event rule descriptor.
Definition event.h:1352
unsigned char filter
Definition event.h:1493
enum lttng_loglevel_type loglevel_type
Definition event.h:1408
union lttng_event_attr_u attr
Definition event.h:1559
enum lttng_event_type type
Definition event.h:1367
int loglevel
Definition event.h:1435
unsigned char exclusion
Definition event.h:1519
enum lttng_event_flag flags
Definition event.h:1534
char name[LTTNG_SYMBOL_NAME_LEN]
Definition event.h:1394
int32_t enabled
Definition event.h:1455
pid_t pid
Definition event.h:1469
Recording session handle.
Definition handle.h:44
Linux user space probe location (opaque type).
Linux kprobe/kretprobe recording event rule configuration.
Definition event.h:1274
struct lttng_event_probe_attr probe
Linux kprobe/kretprobe location.
Definition event.h:1282
perf counter or application-specific context field descriptor.
Definition event.h:1114
char * ctx_name
Type name.
Definition event.h:1130
char * provider_name
Provider name.
Definition event.h:1127
struct lttng_event_context_u::@3 app_ctx
Application-specific context field descriptor.
struct lttng_event_perf_counter_ctx perf_counter
perf counter context field descriptor.
Definition event.h:1123