projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: send per-pid session id in channel creation
[lttng-tools.git]
/
src
/
common
/
consumer.h
diff --git
a/src/common/consumer.h
b/src/common/consumer.h
index d0986ef1e3203a420f2054b75da65ab94cdfcd77..ca567d7ff8844dcdb99b5aab0bb20bf4897e4256 100644
(file)
--- 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;
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. */
/* 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;
* 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
/*
* 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
+168,12
@@
struct lttng_consumer_channel {
/* On-disk circular buffer */
uint64_t tracefile_size;
uint64_t tracefile_count;
/* 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
+265,9
@@
struct lttng_consumer_stream {
/* On-disk circular buffer */
uint64_t tracefile_size_current;
uint64_t tracefile_count_current;
/* 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
+497,9
@@
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 relayd_id,
enum lttng_event_output output,
uint64_t tracefile_size,
- uint64_t tracefile_count);
+ 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);
void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,
void consumer_del_stream(struct lttng_consumer_stream *stream,
struct lttng_ht *ht);
void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,
This page took
0.027847 seconds
and
5
git commands to generate.