X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fsession.h;h=19dabb727179bb23a64e2b5cf3a1bba8a5f4ffc3;hb=82b69413fa2d05d8643c4fb900b88f5d41206cfc;hp=8d41c38aa60c911174f37ba92909f1c7d4ab345b;hpb=54213acc35b30fa5e95dd275c31cfb584d4e4abf;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/session.h b/src/bin/lttng-sessiond/session.h index 8d41c38aa..19dabb727 100644 --- a/src/bin/lttng-sessiond/session.h +++ b/src/bin/lttng-sessiond/session.h @@ -25,6 +25,7 @@ #include #include #include +#include #include "snapshot.h" #include "trace-kernel.h" @@ -69,7 +70,9 @@ struct ltt_session_list { */ struct ltt_session { char name[NAME_MAX]; + bool has_auto_generated_name; char hostname[HOST_NAME_MAX]; /* Local hostname. */ + time_t creation_time; struct ltt_kernel_session *kernel_session; struct ltt_ust_session *ust_session; struct urcu_ref ref; @@ -100,7 +103,11 @@ struct ltt_session { * copied into those sessions. */ struct consumer_output *consumer; - + /* + * Indicates whether or not the user has specified an output directory + * or if it was configured using the default configuration. + */ + bool has_user_specified_directory; /* Did at least ONE start command has been triggered?. */ unsigned int has_been_started:1; /* @@ -219,11 +226,13 @@ struct ltt_session { */ struct lttng_condition *rotate_condition; struct lttng_trigger *rotate_trigger; + LTTNG_OPTIONAL(uint64_t) last_trace_chunk_id; + struct lttng_trace_chunk *current_trace_chunk; }; /* Prototypes */ -int session_create(char *name, uid_t uid, gid_t gid); - +enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid, + struct ltt_session **out_session); void session_lock(struct ltt_session *session); void session_lock_list(void); int session_trylock_list(void); @@ -256,4 +265,10 @@ int session_access_ok(struct ltt_session *session, uid_t uid, gid_t gid); int session_reset_rotation_state(struct ltt_session *session, enum lttng_rotation_state result); +enum lttng_error_code session_switch_trace_chunk(struct ltt_session *session, + const char *session_base_path_override, + const char *chunk_name_override); +int session_set_trace_chunk(struct ltt_session *session, + struct lttng_trace_chunk *current_trace_chunk); + #endif /* _LTT_SESSION_H */