X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Fconsumer%2Fconsumer.h;h=527331298c0440ece041d2a73a5296352aa8304b;hb=b35308203f7844f48542978fd00aab21f2057c17;hp=acefacb218e3b8316011dff9f7c289bcda9428bd;hpb=f8f3885cc52af9d3c951da78989d6f4a25270411;p=lttng-tools.git diff --git a/src/common/consumer/consumer.h b/src/common/consumer/consumer.h index acefacb21..527331298 100644 --- a/src/common/consumer/consumer.h +++ b/src/common/consumer/consumer.h @@ -61,6 +61,7 @@ enum lttng_consumer_command { LTTNG_CONSUMER_DISCARDED_EVENTS, LTTNG_CONSUMER_LOST_PACKETS, LTTNG_CONSUMER_CLEAR_QUIESCENT_CHANNEL, + LTTNG_CONSUMER_SET_CHANNEL_MONITOR_PIPE, }; /* State of each fd in consumer */ @@ -170,6 +171,10 @@ struct lttng_consumer_channel { timer_t live_timer; int live_timer_error; + /* For channel monitoring timer. */ + int monitor_timer_enabled; + timer_t monitor_timer; + /* On-disk circular buffer */ uint64_t tracefile_size; uint64_t tracefile_count; @@ -337,9 +342,9 @@ struct lttng_consumer_stream { * Lock to use the stream FDs since they are used between threads. * * This is nested INSIDE the consumer_data lock. - * This is nested INSIDE the metadata cache lock. * This is nested INSIDE the channel lock. * This is nested INSIDE the channel timer lock. + * This is nested OUTSIDE the metadata cache lock. * This is nested OUTSIDE consumer_relayd_sock_pair lock. */ pthread_mutex_t lock; @@ -539,6 +544,11 @@ struct lttng_consumer_local_data { int consumer_should_quit[2]; /* Metadata poll thread pipe. Transfer metadata stream to it */ struct lttng_pipe *consumer_metadata_pipe; + /* + * Pipe used by the channel monitoring timers to provide state samples + * to the session daemon (write-only). + */ + int channel_monitor_pipe; }; /*