const char *session_name, const char *hostname,
const char *base_path, int session_live_timer,
const uint64_t *current_chunk_id,
- time_t session_creation_time)
+ time_t session_creation_time,
+ bool session_name_contains_creation_time)
{
int ret;
struct lttcomm_relayd_sock *rsock = NULL;
relayd_uri->stype, session_id,
session_name, hostname, base_path,
session_live_timer, current_chunk_id,
- session_creation_time);
+ session_creation_time, session_name_contains_creation_time);
if (ret < 0) {
status = LTTNG_ERR_ENABLE_CONSUMER_FAIL;
goto close_sock;
unsigned int session_id, struct consumer_output *consumer,
struct consumer_socket *sock, const char *session_name,
const char *hostname, const char *base_path, int session_live_timer,
- const uint64_t *current_chunk_id, time_t session_creation_time)
+ const uint64_t *current_chunk_id, time_t session_creation_time,
+ bool session_name_contains_creation_time)
{
enum lttng_error_code status = LTTNG_OK;
status = send_consumer_relayd_socket(session_id,
&consumer->dst.net.control, consumer, sock,
session_name, hostname, base_path, session_live_timer,
- current_chunk_id, session_creation_time);
+ current_chunk_id, session_creation_time,
+ session_name_contains_creation_time);
if (status != LTTNG_OK) {
goto error;
}
status = send_consumer_relayd_socket(session_id,
&consumer->dst.net.data, consumer, sock,
session_name, hostname, base_path, session_live_timer,
- current_chunk_id, session_creation_time);
+ current_chunk_id, session_creation_time,
+ session_name_contains_creation_time);
if (status != LTTNG_OK) {
goto error;
}
session->base_path,
session->live_timer,
current_chunk_id.is_set ? ¤t_chunk_id.value : NULL,
- session->creation_time);
+ session->creation_time,
+ session->name_contains_creation_time);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
goto error;
session->base_path,
session->live_timer,
current_chunk_id.is_set ? ¤t_chunk_id.value : NULL,
- session->creation_time);
+ session->creation_time,
+ session->name_contains_creation_time);
pthread_mutex_unlock(socket->lock);
if (ret != LTTNG_OK) {
goto error;
goto error;
}
- if (session->output_traces && !session->current_trace_chunk &&
- session_output_supports_trace_chunks(session)) {
+ if (session->output_traces && !session->current_trace_chunk) {
struct lttng_trace_chunk *trace_chunk;
trace_chunk = session_create_new_trace_chunk(
if (reply_context) {
reply_context->implicit_rotation_on_destroy = true;
}
- } else if (session->has_been_started && session->current_trace_chunk &&
- session_output_supports_trace_chunks(session)) {
+ } else if (session->has_been_started && session->current_trace_chunk) {
/*
* The user has not triggered a session rotation. However, to
* ensure all data has been consumed, the session is rotated
base_path,
session->live_timer,
current_chunk_id.is_set ? ¤t_chunk_id.value : NULL,
- session->creation_time);
+ session->creation_time,
+ session->name_contains_creation_time);
pthread_mutex_unlock(socket->lock);
if (status != LTTNG_OK) {
rcu_read_unlock();
}
/* Unsupported feature in lttng-relayd before 2.11. */
- if (session->consumer->type == CONSUMER_DST_NET &&
+ if (!quiet_rotation && session->consumer->type == CONSUMER_DST_NET &&
(session->consumer->relay_major_version == 2 &&
session->consumer->relay_minor_version < 11)) {
cmd_ret = LTTNG_ERR_ROTATION_NOT_AVAILABLE_RELAY;