X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Flttng-ust-abi.h;h=687eb0b231991b6c559b933720fa3f3af20ed004;hp=a3298caa2778435ca34cdec4ab508e940694346b;hb=64d9b072ae17f9d2b9cc320ddef3dbe373761a93;hpb=18e46d40ce9c365faa644c72a015d9dae8437443 diff --git a/src/bin/lttng-sessiond/lttng-ust-abi.h b/src/bin/lttng-sessiond/lttng-ust-abi.h index a3298caa2..687eb0b23 100644 --- a/src/bin/lttng-sessiond/lttng-ust-abi.h +++ b/src/bin/lttng-sessiond/lttng-ust-abi.h @@ -44,8 +44,10 @@ #define LTTNG_UST_COMM_MAGIC 0xC57C57C5 /* Version for ABI between liblttng-ust, sessiond, consumerd */ -#define LTTNG_UST_ABI_MAJOR_VERSION 5 -#define LTTNG_UST_ABI_MINOR_VERSION 0 +#define LTTNG_UST_ABI_MAJOR_VERSION 7 +#define LTTNG_UST_ABI_MINOR_VERSION 2 + +struct lttng_ust_calibrate; enum lttng_ust_instrumentation { LTTNG_UST_TRACEPOINT = 0, @@ -140,8 +142,17 @@ enum lttng_ust_context_type { LTTNG_UST_CONTEXT_PTHREAD_ID = 2, LTTNG_UST_CONTEXT_PROCNAME = 3, LTTNG_UST_CONTEXT_IP = 4, + LTTNG_UST_CONTEXT_PERF_THREAD_COUNTER = 5, + LTTNG_UST_CONTEXT_CPU_ID = 6, + LTTNG_UST_CONTEXT_APP_CONTEXT = 7, }; +struct lttng_ust_perf_counter_ctx { + uint32_t type; + uint64_t config; + char name[LTTNG_UST_SYM_NAME_LEN]; +} LTTNG_PACKED; + #define LTTNG_UST_CONTEXT_PADDING1 16 #define LTTNG_UST_CONTEXT_PADDING2 (LTTNG_UST_SYM_NAME_LEN + 32) struct lttng_ust_context { @@ -149,6 +160,12 @@ struct lttng_ust_context { char padding[LTTNG_UST_CONTEXT_PADDING1]; union { + struct lttng_ust_perf_counter_ctx perf_counter; + struct { + /* Includes trailing '\0'. */ + uint32_t provider_name_len; + uint32_t ctx_name_len; + } app_ctx; char padding[LTTNG_UST_CONTEXT_PADDING2]; } u; } LTTNG_PACKED; @@ -158,13 +175,18 @@ struct lttng_ust_context { */ #define LTTNG_UST_CHANNEL_ATTR_PADDING (LTTNG_UST_SYM_NAME_LEN + 32) struct lttng_ust_channel_attr { - uint64_t subbuf_size; /* bytes */ + uint64_t subbuf_size; /* bytes, power of 2 */ uint64_t num_subbuf; /* power of 2 */ int overwrite; /* 1: overwrite, 0: discard */ unsigned int switch_timer_interval; /* usec */ unsigned int read_timer_interval; /* usec */ enum lttng_ust_output output; /* splice, mmap */ - char padding[LTTNG_UST_CHANNEL_ATTR_PADDING]; + union { + struct { + int64_t blocking_timeout; /* Retry timeout (usec) */ + } s; + char padding[LTTNG_UST_CHANNEL_ATTR_PADDING]; + } u; } LTTNG_PACKED; #define LTTNG_UST_TRACEPOINT_ITER_PADDING 16 @@ -205,21 +227,6 @@ struct lttng_ust_object_data { } u; } LTTNG_PACKED; -enum lttng_ust_calibrate_type { - LTTNG_UST_CALIBRATE_TRACEPOINT, -}; - -#define LTTNG_UST_CALIBRATE_PADDING1 16 -#define LTTNG_UST_CALIBRATE_PADDING2 (LTTNG_UST_SYM_NAME_LEN + 32) -struct lttng_ust_calibrate { - enum lttng_ust_calibrate_type type; /* type (input) */ - char padding[LTTNG_UST_CALIBRATE_PADDING1]; - - union { - char padding[LTTNG_UST_CALIBRATE_PADDING2]; - } u; -} LTTNG_PACKED; - #define FILTER_BYTECODE_MAX_LEN 65536 #define LTTNG_UST_FILTER_PADDING 32 struct lttng_ust_filter_bytecode { @@ -260,6 +267,7 @@ struct lttng_ust_event_exclusion { _UST_CMDW(0x51, struct lttng_ust_channel) #define LTTNG_UST_SESSION_START _UST_CMD(0x52) #define LTTNG_UST_SESSION_STOP _UST_CMD(0x53) +#define LTTNG_UST_SESSION_STATEDUMP _UST_CMD(0x54) /* Channel FD commands */ #define LTTNG_UST_STREAM _UST_CMD(0x60)