From 774cc7cfb47c9fd944581e4819c4d9f9493478da Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Wed, 4 Jul 2018 16:16:47 -0400 Subject: [PATCH] Backport: trackers: update sessiond communication protocol Signed-off-by: Mathieu Desnoyers --- src/common/sessiond-comm/sessiond-comm.h | 38 ++++++++++++++++++++---- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/src/common/sessiond-comm/sessiond-comm.h b/src/common/sessiond-comm/sessiond-comm.h index 0fba38642..608e83e95 100644 --- a/src/common/sessiond-comm/sessiond-comm.h +++ b/src/common/sessiond-comm/sessiond-comm.h @@ -91,9 +91,9 @@ 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, @@ -310,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; @@ -382,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. */ -- 2.34.1