X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.hpp;h=fb7f59bb21883ec8c8888c1069ab66020b548d45;hb=319dcddc7409961e156af76666fe70d31baec55a;hp=4bcfe5d9529cc6460f293dc7fbc47e0e04728e2a;hpb=c9e313bc594f40a86eed237dce222c0fc99c957f;p=lttng-tools.git diff --git a/src/common/consumer/consumer.hpp b/src/common/consumer/consumer.hpp index 4bcfe5d95..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; /* @@ -1075,11 +1080,12 @@ enum lttcomm_return_code lttng_consumer_trace_chunk_exists( void lttng_consumer_cleanup_relayd(struct consumer_relayd_sock_pair *relayd); enum lttcomm_return_code lttng_consumer_init_command( struct lttng_consumer_local_data *ctx, - const lttng_uuid sessiond_uuid); + const lttng_uuid& sessiond_uuid); int lttng_consumer_clear_channel(struct lttng_consumer_channel *channel); 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 */