Implement the relayd live features
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index b98e4f747299c54c652f5b3dd2a83a6237d19979..f86ba732301aa6c6d1b035eb822c15bebd884438 100644 (file)
@@ -88,6 +88,7 @@ enum lttcomm_sessiond_command {
        LTTNG_SNAPSHOT_LIST_OUTPUT          = 27,
        LTTNG_SNAPSHOT_RECORD               = 28,
        LTTNG_CREATE_SESSION_SNAPSHOT       = 29,
+       LTTNG_CREATE_SESSION_LIVE           = 30,
 };
 
 enum lttcomm_relayd_command {
@@ -102,6 +103,11 @@ enum lttcomm_relayd_command {
        RELAYD_QUIESCENT_CONTROL            = 9,
        RELAYD_BEGIN_DATA_PENDING           = 10,
        RELAYD_END_DATA_PENDING             = 11,
+       RELAYD_ADD_INDEX                    = 12,
+       RELAYD_SEND_INDEX                   = 13,
+       RELAYD_CLOSE_INDEX                  = 14,
+       /* Live-reading commands. */
+       RELAYD_LIST_SESSIONS                = 15,
 };
 
 /*
@@ -255,6 +261,10 @@ struct lttcomm_session_msg {
                        uint32_t wait;
                        struct lttng_snapshot_output output;
                } LTTNG_PACKED snapshot_record;
+               struct {
+                       uint32_t nb_uri;
+                       unsigned int timer_interval;    /* usec */
+               } LTTNG_PACKED session_live;
        } u;
 } LTTNG_PACKED;
 
@@ -324,6 +334,8 @@ struct lttcomm_consumer_msg {
                        uint32_t tracefile_count; /* number of tracefiles */
                        /* If the channel's streams have to be monitored or not. */
                        uint32_t monitor;
+                       /* timer to check the streams usage in live mode (usec). */
+                       unsigned int live_timer_interval;
                } LTTNG_PACKED channel; /* Only used by Kernel. */
                struct {
                        uint64_t stream_key;
@@ -339,6 +351,8 @@ struct lttcomm_consumer_msg {
                        struct lttcomm_relayd_sock sock;
                        /* Tracing session id associated to the relayd. */
                        uint64_t session_id;
+                       /* Relayd session id, only used with control socket. */
+                       uint64_t relayd_session_id;
                } LTTNG_PACKED relayd_sock;
                struct {
                        uint64_t net_seq_idx;
@@ -352,6 +366,7 @@ struct lttcomm_consumer_msg {
                        int32_t overwrite;                      /* 1: overwrite, 0: discard */
                        uint32_t switch_timer_interval;         /* usec */
                        uint32_t read_timer_interval;           /* usec */
+                       unsigned int live_timer_interval;               /* usec */
                        int32_t output;                         /* splice, mmap */
                        int32_t type;                           /* metadata or per_cpu */
                        uint64_t session_id;                    /* Tracing session id */
This page took 0.024558 seconds and 4 git commands to generate.