X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Fsessiond-comm.h;h=608e83e9586d9b6af7ac0188616aea20d64ba9b5;hb=774cc7cfb47c9fd944581e4819c4d9f9493478da;hp=d436094ff36d0c6a71671d380b34c13e1c106c56;hpb=5ba3702f9f88e499d9b440a9cd88b5efa3931ab2;p=lttng-tools.git diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index d436094ff..608e83e95 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -37,10 +37,11 @@ #include #include #include +#include #include "inet.h" #include "inet6.h" -#include "unix.h" +#include /* Queue size of listen(2) */ #define LTTNG_SESSIOND_COMM_MAX_LISTEN 64 @@ -56,7 +57,7 @@ enum lttcomm_sessiond_command { /* Tracer command */ LTTNG_ADD_CONTEXT = 0, - LTTNG_CALIBRATE = 1, + /* LTTNG_CALIBRATE used to be here */ LTTNG_DISABLE_CHANNEL = 2, LTTNG_DISABLE_EVENT = 3, LTTNG_LIST_SYSCALLS = 4, @@ -90,10 +91,12 @@ enum lttcomm_sessiond_command { LTTNG_CREATE_SESSION_SNAPSHOT = 29, LTTNG_CREATE_SESSION_LIVE = 30, LTTNG_SAVE_SESSION = 31, - LTTNG_TRACK_PID = 32, - LTTNG_UNTRACK_PID = 33, - LTTNG_LIST_TRACKER_PIDS = 34, + LTTNG_TRACK_ID = 32, + LTTNG_UNTRACK_ID = 33, + LTTNG_LIST_TRACKER_IDS = 34, LTTNG_SET_SESSION_SHM_PATH = 40, + LTTNG_REGENERATE_METADATA = 41, + LTTNG_REGENERATE_STATEDUMP = 42, }; enum lttcomm_relayd_command { @@ -115,6 +118,8 @@ enum lttcomm_relayd_command { RELAYD_LIST_SESSIONS = 15, /* All streams of the channel have been sent to the relayd (2.4+). */ RELAYD_STREAMS_SENT = 16, + /* Ask the relay to reset the metadata trace file (2.8+) */ + RELAYD_RESET_METADATA = 17, }; /* @@ -305,8 +310,21 @@ struct lttcomm_session_msg { char shm_path[PATH_MAX]; } LTTNG_PACKED set_shm_path; struct { - uint32_t pid; - } LTTNG_PACKED pid_tracker; + uint32_t tracker_type; /* enum lttng_tracker_type */ + uint32_t id_type; /* enum lttng_tracker_id_type */ + union { + int32_t value; + uint32_t var_len; + } u; + /* + * for LTTNG_ID_STRING, followed by a variable length + * zero-terminated string of length "var_len", which + * includes the final \0. + */ + } LTTNG_PACKED id_tracker; + struct { + uint32_t tracker_type; /* enum lttng_tracker_type */ + } LTTNG_PACKED id_tracker_list; } u; } LTTNG_PACKED; @@ -377,6 +395,21 @@ struct lttcomm_channel_extended { uint64_t lost_packets; } LTTNG_PACKED; +/* + * tracker command header. + */ +struct lttcomm_tracker_command_header { + uint32_t nb_tracker_id; +} LTTNG_PACKED; + +struct lttcomm_tracker_id_header { + uint32_t type; /* enum lttng_tracker_id_type */ + union { + int32_t value; + uint32_t var_data_len; + } u; +} LTTNG_PACKED; + /* * Data structure for the response from sessiond to the lttng client. */ @@ -486,6 +519,7 @@ struct lttcomm_consumer_msg { uint64_t key; /* Metadata channel key. */ uint64_t target_offset; /* Offset in the consumer */ uint64_t len; /* Length of metadata to be received. */ + uint64_t version; /* Version of the metadata. */ } LTTNG_PACKED push_metadata; struct { uint64_t key; /* Metadata channel key. */ @@ -496,6 +530,9 @@ struct lttcomm_consumer_msg { struct { uint64_t key; /* Channel key. */ } LTTNG_PACKED flush_channel; + struct { + uint64_t key; /* Channel key. */ + } LTTNG_PACKED clear_quiescent_channel; struct { char pathname[PATH_MAX]; /* Indicate if the snapshot goes on the relayd or locally. */ @@ -509,6 +546,17 @@ struct lttcomm_consumer_msg { uint64_t channel_key; uint64_t net_seq_idx; } LTTNG_PACKED sent_streams; + struct { + uint64_t session_id; + uint64_t channel_key; + } LTTNG_PACKED discarded_events; + struct { + uint64_t session_id; + uint64_t channel_key; + } LTTNG_PACKED lost_packets; + struct { + uint64_t session_id; + } LTTNG_PACKED regenerate_metadata; } u; } LTTNG_PACKED;