X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=f804b7260ce7e6d013eb55ff36c90487930562e3;hb=26fe59386444e0c932b5adcd5f9d6f9f114dd1e2;hp=d0986ef1e3203a420f2054b75da65ab94cdfcd77;hpb=6dc3064a30b0cc7cfa9fdd22da1963525dfb7388;p=lttng-tools.git diff --git a/src/common/consumer.h b/src/common/consumer.h index d0986ef1e..f804b7260 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -134,6 +134,13 @@ struct lttng_consumer_channel { * LTTNG_CONSUMER_GET_CHANNEL. */ struct stream_list streams; + + /* + * List of streams in no monitor mode for this channel. Used ONLY for + * snapshots recording. + */ + struct stream_list stream_no_monitor_list; + /* * Set if the channel is metadata. We keep a reference to the stream * because we have to flush data once pushed by the session daemon. For a @@ -156,6 +163,12 @@ struct lttng_consumer_channel { /* On-disk circular buffer */ uint64_t tracefile_size; uint64_t tracefile_count; + /* + * Monitor or not the streams of this channel meaning this indicates if the + * streams should be sent to the data/metadata thread or added to the no + * monitor list of the channel. + */ + unsigned int monitor; }; /* @@ -247,6 +260,9 @@ struct lttng_consumer_stream { /* On-disk circular buffer */ uint64_t tracefile_size_current; uint64_t tracefile_count_current; + + /* Node for the no monitor stream list in a channel. */ + struct cds_list_head no_monitor_node; }; /* @@ -476,7 +492,8 @@ struct lttng_consumer_channel *consumer_allocate_channel(uint64_t key, uint64_t relayd_id, enum lttng_event_output output, uint64_t tracefile_size, - uint64_t tracefile_count); + uint64_t tracefile_count, + unsigned int monitor); void consumer_del_stream(struct lttng_consumer_stream *stream, struct lttng_ht *ht); void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,