X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=7754bcdbce6de2352ab1d0f73c8cd8ae1a9d46a3;hp=4741b68778f77522ad5d2cb975a4e80731bb01f5;hb=139ac87245fd1ca18d60a0efca32b50e4c1d8730;hpb=00e2e675d54dc726a7c8f8887c889cc8ef022003 diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 4741b6877..7754bcdbc 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -131,6 +131,16 @@ enum lttng_calibrate_type { LTTNG_CALIBRATE_FUNCTION = 0, }; +/* Health component for the health check function. */ +enum lttng_health_component { + LTTNG_HEALTH_CMD, + LTTNG_HEALTH_APP_MANAGE, + LTTNG_HEALTH_APP_REG, + LTTNG_HEALTH_KERNEL, + LTTNG_HEALTH_CONSUMER, + LTTNG_HEALTH_ALL, +}; + /* Destination type of lttng URI */ enum lttng_dst_type { LTTNG_DST_IPV4 = 1, @@ -269,7 +279,7 @@ struct lttng_event_function_attr { * * The structures should be initialized to zero before use. */ -#define LTTNG_EVENT_PADDING1 16 +#define LTTNG_EVENT_PADDING1 15 #define LTTNG_EVENT_PADDING2 LTTNG_SYMBOL_NAME_LEN + 32 struct lttng_event { enum lttng_event_type type; @@ -280,6 +290,7 @@ struct lttng_event { int32_t enabled; /* Does not apply: -1 */ pid_t pid; + unsigned char filter; /* filter enabled ? */ char padding[LTTNG_EVENT_PADDING1]; @@ -548,6 +559,17 @@ extern int lttng_add_context(struct lttng_handle *handle, extern int lttng_enable_event(struct lttng_handle *handle, struct lttng_event *ev, const char *channel_name); +/* + * Apply a filter expression to an event. + * + * If event_name is NULL, the filter is applied to all events of the channel. + * If channel_name is NULL, a lookup of the event's channel is done. + * If both are NULL, the filter is applied to all events of all channels. + */ +extern int lttng_set_event_filter(struct lttng_handle *handle, + const char *event_name, + const char *channel_name, + const char *filter_expression); /* * Create or enable a channel. * The channel name cannot be NULL. @@ -607,4 +629,16 @@ extern int lttng_enable_consumer(struct lttng_handle *handle); */ extern int lttng_disable_consumer(struct lttng_handle *handle); +/* + * Check session daemon health for a specific component. + * + * Return 0 if health is OK or 1 if BAD. A returned value of -1 indicate that + * the control library was not able to connect to the session daemon health + * socket. + * + * Any other positive value is an lttcomm error which can be translate with + * lttng_strerror(). + */ +extern int lttng_health_check(enum lttng_health_component c); + #endif /* _LTTNG_H */