handle empty sessions
[lttng-tools.git] / src / bin / lttng-sessiond / session.h
index ebcf89df26219cd1c093c87ce0896e4a5b3efbcb..41a894079e5244b131b9c6cc76c1f18c9f8bfd5b 100644 (file)
@@ -66,8 +66,6 @@ struct ltt_session_chunk {
         * session rotation.
         */
        char active_tracing_path[PATH_MAX];
-       time_t rotate_start_time;
-       time_t rotate_end_time;
 };
 
 /*
@@ -138,6 +136,7 @@ struct ltt_session {
         */
        uint64_t rotate_count;
        unsigned int rotate_pending:1;
+       enum lttng_rotate_status rotate_status;
        /*
         * Number of channels waiting for a rotate.
         * When this number reaches 0, we can handle the rename of the chunk
@@ -148,10 +147,19 @@ struct ltt_session {
        unsigned int nr_chan_rotate_pending;
        struct ltt_session_chunk rotation_chunk;
        /*
-        * Store the timestamp when the session started for an eventual
-        * session rotation call.
+        * The timestamp of the beginning of the previous chunk. For the
+        * first chunk, this is the "lttng start" timestamp. For the
+        * subsequent ones, this copies the current_chunk_start_ts value when
+        * a new rotation starts. This value is used to set the name of a
+        * complete chunk directory, ex: "last_chunk_start_ts-now()".
         */
-       time_t session_start_ts;
+       time_t last_chunk_start_ts;
+       /*
+        * This is the timestamp when a new chunk starts. When a new rotation
+        * starts, we copy this value to last_chunk_start_ts and override it
+        * with the current timestamp.
+        */
+       time_t current_chunk_start_ts;
        time_t session_last_stop_ts;
        time_t last_begin_rotation_ts;
 };
This page took 0.027954 seconds and 5 git commands to generate.