X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=ca567d7ff8844dcdb99b5aab0bb20bf4897e4256;hb=1950109e7a08d8064ef5b1f446524274b4fa72d5;hp=9fadc5a06e9cc21743854829c57832550a11f958;hpb=2bba9e532ca1910822005ff7f67400a2e871467c;p=lttng-tools.git diff --git a/src/common/consumer.h b/src/common/consumer.h index 9fadc5a06..ca567d7ff 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -106,6 +106,11 @@ struct lttng_consumer_channel { int refcount; /* Tracing session id on the session daemon side. */ uint64_t session_id; + /* + * Session id when requesting metadata to the session daemon for + * a session with per-PID buffers. + */ + uint64_t session_id_per_pid; /* Channel trace file path name. */ char pathname[PATH_MAX]; /* Channel name. */ @@ -134,6 +139,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 @@ -253,6 +265,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; }; /* @@ -483,6 +498,7 @@ struct lttng_consumer_channel *consumer_allocate_channel(uint64_t key, enum lttng_event_output output, uint64_t tracefile_size, uint64_t tracefile_count, + uint64_t session_id_per_pid, unsigned int monitor); void consumer_del_stream(struct lttng_consumer_stream *stream, struct lttng_ht *ht);