Propagate trace format all the way to the consumer
[lttng-tools.git] / src / bin / lttng-sessiond / kernel-consumer.cpp
index d224b4cb741545daabcb653cd9944893620dbf6e..72d9460498611827931e98f6cd30d097b12cd9d2 100644 (file)
 #include <unistd.h>
 #include <inttypes.h>
 
-#include <common/common.h>
-#include <common/defaults.h>
-#include <common/compat/string.h>
+#include <common/common.hpp>
+#include <common/defaults.hpp>
+#include <common/compat/string.hpp>
 
-#include "consumer.h"
-#include "health-sessiond.h"
-#include "kernel-consumer.h"
-#include "notification-thread-commands.h"
-#include "session.h"
-#include "lttng-sessiond.h"
+#include "consumer.hpp"
+#include "health-sessiond.hpp"
+#include "kernel-consumer.hpp"
+#include "notification-thread-commands.hpp"
+#include "session.hpp"
+#include "lttng-sessiond.hpp"
 
 static char *create_channel_path(struct consumer_output *consumer,
                size_t *consumer_path_offset)
@@ -141,22 +141,15 @@ int kernel_consumer_add_channel(struct consumer_socket *sock,
        }
 
        /* Prep channel message structure */
-       consumer_init_add_channel_comm_msg(&lkm,
-                       channel->key,
-                       ksession->id,
-                       &pathname[consumer_path_offset],
-                       consumer->net_seq_index,
-                       channel->channel->name,
-                       channel->stream_count,
-                       channel->channel->attr.output,
-                       CONSUMER_CHANNEL_TYPE_DATA,
+       consumer_init_add_channel_comm_msg(&lkm, channel->key, ksession->id,
+                       &pathname[consumer_path_offset], consumer->net_seq_index,
+                       channel->channel->name, channel->stream_count,
+                       channel->channel->attr.output, CONSUMER_CHANNEL_TYPE_DATA,
                        channel->channel->attr.tracefile_size,
-                       channel->channel->attr.tracefile_count,
-                       monitor,
-                       channel->channel->attr.live_timer_interval,
-                       ksession->is_live_session,
+                       channel->channel->attr.tracefile_count, monitor,
+                       channel->channel->attr.live_timer_interval, ksession->is_live_session,
                        channel_attr_extended->monitor_timer_interval,
-                       ksession->current_trace_chunk);
+                       ksession->current_trace_chunk, *ksession->trace_format);
 
        health_code_update();
 
@@ -169,15 +162,12 @@ int kernel_consumer_add_channel(struct consumer_socket *sock,
        rcu_read_lock();
        session = session_find_by_id(ksession->id);
        LTTNG_ASSERT(session);
-       LTTNG_ASSERT(pthread_mutex_trylock(&session->lock));
-       LTTNG_ASSERT(session_trylock_list());
-
-       status = notification_thread_command_add_channel(
-                       the_notification_thread_handle, session->name,
-                       ksession->uid, ksession->gid, channel->channel->name,
-                       channel->key, LTTNG_DOMAIN_KERNEL,
-                       channel->channel->attr.subbuf_size *
-                                       channel->channel->attr.num_subbuf);
+       ASSERT_LOCKED(session->lock);
+       ASSERT_SESSION_LIST_LOCKED();
+
+       status = notification_thread_command_add_channel(the_notification_thread_handle,
+                       session->id, channel->channel->name, channel->key, LTTNG_DOMAIN_KERNEL,
+                       channel->channel->attr.subbuf_size * channel->channel->attr.num_subbuf);
        rcu_read_unlock();
        if (status != LTTNG_OK) {
                ret = -1;
@@ -220,22 +210,14 @@ int kernel_consumer_add_metadata(struct consumer_socket *sock,
        consumer = ksession->consumer;
 
        /* Prep channel message structure */
-       consumer_init_add_channel_comm_msg(&lkm,
-                       ksession->metadata->key,
-                       ksession->id,
-                       "",
-                       consumer->net_seq_index,
-                       ksession->metadata->conf->name,
-                       1,
-                       ksession->metadata->conf->attr.output,
-                       CONSUMER_CHANNEL_TYPE_METADATA,
+       consumer_init_add_channel_comm_msg(&lkm, ksession->metadata->key, ksession->id, "",
+                       consumer->net_seq_index, ksession->metadata->conf->name, 1,
+                       ksession->metadata->conf->attr.output, CONSUMER_CHANNEL_TYPE_METADATA,
                        ksession->metadata->conf->attr.tracefile_size,
-                       ksession->metadata->conf->attr.tracefile_count,
-                       monitor,
+                       ksession->metadata->conf->attr.tracefile_count, monitor,
                        ksession->metadata->conf->attr.live_timer_interval,
-                       ksession->is_live_session,
-                       0,
-                       ksession->current_trace_chunk);
+                       ksession->is_live_session, 0, ksession->current_trace_chunk,
+                       *ksession->trace_format);
 
        health_code_update();
 
This page took 0.040615 seconds and 5 git commands to generate.