Propagate trace format all the way to the consumer
[deliverable/lttng-tools.git] / src / common / consumer / consumer.hpp
index 2c16ae1fac051edf432dde8cbca73aa8ffa3bba9..f8ae37c5a9b1ced79d1fd3e82d0a9bf319834e5f 100644 (file)
@@ -253,6 +253,9 @@ struct lttng_consumer_channel {
        uint64_t lost_packets;
 
        bool streams_sent_to_relayd;
+       uint64_t last_consumed_size_sample_sent;
+
+       int trace_format;
 };
 
 struct stream_subbuffer {
@@ -449,7 +452,11 @@ struct lttng_consumer_stream {
        /* Amount of bytes written to the output */
        uint64_t output_written;
        int shm_fd_is_copy;
-       int data_read;
+       /*
+        * When a stream's pipe is hung up, a final flush is performed (see hangup_flush_done). This
+        * indicates whether or not the data resulting from this flush is still to be consumed.
+        */
+       int has_data_left_to_be_read_before_teardown;
        int hangup_flush_done;
 
        /*
@@ -968,7 +975,8 @@ struct lttng_consumer_channel *consumer_allocate_channel(uint64_t key,
                unsigned int live_timer_interval,
                bool is_in_live_session,
                const char *root_shm_path,
-               const char *shm_path);
+               const char *shm_path,
+               int trace_format);
 void consumer_del_stream(struct lttng_consumer_stream *stream,
                struct lttng_ht *ht);
 void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,
@@ -1081,5 +1089,6 @@ enum lttcomm_return_code lttng_consumer_open_channel_packets(
                struct lttng_consumer_channel *channel);
 int consumer_metadata_wakeup_pipe(const struct lttng_consumer_channel *channel);
 void lttng_consumer_sigbus_handle(void *addr);
+void sample_and_send_channel_buffer_stats(struct lttng_consumer_channel *channel);
 
 #endif /* LIB_CONSUMER_H */
This page took 0.024653 seconds and 5 git commands to generate.