X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=4ffffd84ff237bedddbf1bbc27c325c32136b521;hb=2cbf8fedb374f6a029811d685eca59b3c435f47e;hp=08a3be467958d2c9cb9a9d7c917dc4f2862fd376;hpb=9c6bda17fc9edd28c46e52fdf439d37da81e8d9a;p=lttng-tools.git diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 08a3be467..4ffffd84f 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -126,6 +126,7 @@ enum lttng_event_context_type { LTTNG_EVENT_CONTEXT_VPPID = 9, LTTNG_EVENT_CONTEXT_PTHREAD_ID = 10, LTTNG_EVENT_CONTEXT_HOSTNAME = 11, + LTTNG_EVENT_CONTEXT_IP = 12, }; enum lttng_calibrate_type { @@ -139,6 +140,9 @@ enum lttng_health_component { LTTNG_HEALTH_APP_REG, LTTNG_HEALTH_KERNEL, LTTNG_HEALTH_CONSUMER, + LTTNG_HEALTH_HT_CLEANUP, + LTTNG_HEALTH_APP_MANAGE_NOTIFY, + LTTNG_HEALTH_APP_REG_DISPATCH, LTTNG_HEALTH_ALL, }; @@ -322,12 +326,13 @@ struct lttng_calibrate { * * The structures should be initialized to zero before use. */ -#define LTTNG_SESSION_PADDING1 16 +#define LTTNG_SESSION_PADDING1 12 struct lttng_session { char name[NAME_MAX]; /* The path where traces are written */ char path[PATH_MAX]; uint32_t enabled; /* enabled/started: 1, disabled/stopped: 0 */ + uint32_t snapshot_mode; char padding[LTTNG_SESSION_PADDING1]; }; @@ -386,6 +391,21 @@ extern void lttng_destroy_handle(struct lttng_handle *handle); */ extern int lttng_create_session(const char *name, const char *url); +/* + * Create a tracing session that will exclusively be used for snapshot meaning + * the session will be in no output mode and every channel enabled for that + * session will be set in overwrite mode and in mmap output since splice is not + * supported. + * + * If an url is given, it will be used to create a default snapshot output + * using it as a destination. If NULL, no output will be defined and an + * add-output call will be needed. + * + * Name can't be NULL. + */ +extern int lttng_create_session_snapshot(const char *name, + const char *snapshot_url); + /* * Destroy a tracing session. *