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,
*
* 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;
int32_t enabled; /* Does not apply: -1 */
pid_t pid;
+ unsigned char filter; /* filter enabled ? */
char padding[LTTNG_EVENT_PADDING1];
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.
*/
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 */