X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.hpp;h=fb7f59bb21883ec8c8888c1069ab66020b548d45;hb=319dcddc7409961e156af76666fe70d31baec55a;hp=2c16ae1fac051edf432dde8cbca73aa8ffa3bba9;hpb=328c2fe7297c941aa9cbcfa4ce944fca1bd7300f;p=lttng-tools.git diff --git a/src/common/consumer/consumer.hpp b/src/common/consumer/consumer.hpp index 2c16ae1fa..fb7f59bb2 100644 --- a/src/common/consumer/consumer.hpp +++ b/src/common/consumer/consumer.hpp @@ -253,6 +253,7 @@ struct lttng_consumer_channel { uint64_t lost_packets; bool streams_sent_to_relayd; + uint64_t last_consumed_size_sample_sent; }; struct stream_subbuffer { @@ -449,7 +450,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; /* @@ -1081,5 +1086,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 */