X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Flttng.h;h=b029d58e37f489b4d00e0371678b987298380804;hp=4ffffd84ff237bedddbf1bbc27c325c32136b521;hb=ecc48a904cc7c419fd1400afaa9ccb93be490cdd;hpb=9d5b2fc0e9759ad89c5f0551dfe64fabd07afbfb diff --git a/include/lttng/lttng.h b/include/lttng/lttng.h index 4ffffd84f..b029d58e3 100644 --- a/include/lttng/lttng.h +++ b/include/lttng/lttng.h @@ -281,7 +281,7 @@ struct lttng_event_field { * * The structures should be initialized to zero before use. */ -#define LTTNG_CHANNEL_ATTR_PADDING1 LTTNG_SYMBOL_NAME_LEN + 16 +#define LTTNG_CHANNEL_ATTR_PADDING1 LTTNG_SYMBOL_NAME_LEN + 12 struct lttng_channel_attr { int overwrite; /* 1: overwrite, 0: discard */ uint64_t subbuf_size; /* bytes */ @@ -292,6 +292,8 @@ struct lttng_channel_attr { /* LTTng 2.1 padding limit */ uint64_t tracefile_size; /* bytes */ uint64_t tracefile_count; /* number of tracefiles */ + /* LTTng 2.3 padding limit */ + unsigned int live_timer_interval; /* usec */ char padding[LTTNG_CHANNEL_ATTR_PADDING1]; }; @@ -333,6 +335,7 @@ struct lttng_session { char path[PATH_MAX]; uint32_t enabled; /* enabled/started: 1, disabled/stopped: 0 */ uint32_t snapshot_mode; + unsigned int live_timer_interval; /* usec */ char padding[LTTNG_SESSION_PADDING1]; }; @@ -406,6 +409,19 @@ extern int lttng_create_session(const char *name, const char *url); extern int lttng_create_session_snapshot(const char *name, const char *snapshot_url); +/* + * Create a session exclusively used for live reading. + * + * In this mode, the switch-timer parameter is forced for each UST channel, a + * live-switch-timer is enabled for kernel channels, manually setting + * switch-timer is forbidden. Synchronization beacons are sent to the relayd, + * indexes are sent and metadata is checked for each packet. + * + * Returns LTTNG_OK on success or a negative error code. + */ +extern int lttng_create_session_live(const char *name, const char *url, + unsigned int timer_interval); + /* * Destroy a tracing session. *