Session consumed size notification
[lttng-tools.git] / src / common / sessiond-comm / sessiond-comm.h
index 78c7f5e2b6b9a1fc3cbf8a5fc55c15f1bc2d87d9..8f08d9904a16a05713edf20ae21b20d7b003af83 100644 (file)
@@ -31,6 +31,7 @@
 #include <lttng/save-internal.h>
 #include <lttng/channel-internal.h>
 #include <lttng/trigger/trigger-internal.h>
+#include <lttng/rotate-internal.h>
 #include <common/compat/socket.h>
 #include <common/uri.h>
 #include <common/defaults.h>
@@ -100,6 +101,10 @@ enum lttcomm_sessiond_command {
        LTTNG_REGENERATE_STATEDUMP          = 42,
        LTTNG_REGISTER_TRIGGER              = 43,
        LTTNG_UNREGISTER_TRIGGER            = 44,
+       LTTNG_ROTATE_SESSION                = 45,
+       LTTNG_ROTATION_GET_INFO             = 46,
+       LTTNG_ROTATION_SET_SCHEDULE         = 47,
+       LTTNG_SESSION_GET_CURRENT_OUTPUT    = 48,
 };
 
 enum lttcomm_relayd_command {
@@ -127,6 +132,8 @@ enum lttcomm_relayd_command {
        RELAYD_ROTATE_STREAM                = 18,
        /* Rename a chunk after the rotation is completed (2.11+) */
        RELAYD_ROTATE_RENAME                = 19,
+       /* Check if a chunk has data pending (2.11+) */
+       RELAYD_ROTATE_PENDING               = 20,
        /* Create a folder on the relayd FS (2.11+) */
        RELAYD_MKDIR                        = 21,
 };
@@ -327,6 +334,13 @@ struct lttcomm_session_msg {
                struct {
                        uint32_t length;
                } LTTNG_PACKED trigger;
+               struct {
+                       uint64_t rotation_id;
+               } LTTNG_PACKED get_rotation_info;
+               struct {
+                       uint64_t timer_us;
+                       uint64_t size;
+               } LTTNG_PACKED rotate_setup;
        } u;
 } LTTNG_PACKED;
 
@@ -540,6 +554,13 @@ struct lttcomm_consumer_msg {
                struct {
                        uint64_t session_id;
                } LTTNG_PACKED regenerate_metadata;
+               struct {
+                       char pathname[PATH_MAX];
+                       uint32_t metadata; /* This is a metadata channel. */
+                       uint64_t relayd_id; /* Relayd id if apply. */
+                       uint64_t key;
+                       uint64_t new_chunk_id;
+               } LTTNG_PACKED rotate_channel;
                struct {
                        char old_path[LTTNG_PATH_MAX];
                        char new_path[LTTNG_PATH_MAX];
@@ -548,6 +569,11 @@ struct lttcomm_consumer_msg {
                        uint32_t uid;
                        uint32_t gid;
                } LTTNG_PACKED rotate_rename;
+               struct {
+                       uint64_t relayd_id;
+                       uint64_t session_id;
+                       uint64_t chunk_id;
+               } LTTNG_PACKED rotate_pending_relay;
                struct {
                        char path[LTTNG_PATH_MAX];
                        uint64_t relayd_id; /* Relayd id if apply. */
@@ -569,6 +595,10 @@ struct lttcomm_consumer_channel_monitor_msg {
         * Lowest and highest usage (bytes) at the moment the sample was taken.
         */
        uint64_t lowest, highest;
+       /*
+        * Sum of all the consumed positions for a channel.
+        */
+       uint64_t total_consumed;
 } LTTNG_PACKED;
 
 /*
This page took 0.025205 seconds and 5 git commands to generate.