struct ltt_session {
char name[NAME_MAX];
bool has_auto_generated_name;
+ bool name_contains_creation_time;
char hostname[HOST_NAME_MAX]; /* Local hostname. */
time_t creation_time;
struct ltt_kernel_session *kernel_session;
struct lttng_trace_chunk *chunk_being_archived;
/* Current state of a rotation. */
enum lttng_rotation_state rotation_state;
+ bool quiet_rotation;
char *last_archived_chunk_name;
LTTNG_OPTIONAL(uint64_t) last_archived_chunk_id;
struct lttng_dynamic_array destroy_notifiers;
+ /* Session base path override. Set non-null. */
+ char *base_path;
};
/* Prototypes */
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
- struct ltt_session **out_session);
+ const char *base_path, struct ltt_session **out_session);
void session_lock(struct ltt_session *session);
void session_lock_list(void);
int session_trylock_list(void);
/* Create a new trace chunk object from the session's configuration. */
struct lttng_trace_chunk *session_create_new_trace_chunk(
- struct ltt_session *session,
+ const struct ltt_session *session,
+ const struct consumer_output *consumer_output_override,
const char *session_base_path_override,
const char *chunk_name_override);
struct lttng_trace_chunk *trace_chunk,
const enum lttng_trace_chunk_command_type *close_command);
+bool session_output_supports_trace_chunks(const struct ltt_session *session);
+
#endif /* _LTT_SESSION_H */