X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=6823579a9e2d4712976c53b07d8c2c296c6f66ca;hb=44a5e5eb99f1d8b528f83fda5585677a3882f5f5;hp=4741b68778f77522ad5d2cb975a4e80731bb01f5;hpb=00e2e675d54dc726a7c8f8887c889cc8ef022003;p=lttng-tools.git diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 4741b6877..6823579a9 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -131,6 +131,15 @@ 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_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 +278,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 +289,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 +558,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 +628,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 */