Add filter sequence number to UST
[lttng-tools.git] / src / bin / lttng-sessiond / trace-ust.h
index c59490b2a7816bb3f9bf6244f5b69e66b596b738..b0a65cf191c5b9624d24e354b98d900c373ef7fe 100644 (file)
@@ -24,7 +24,9 @@
 
 #include <lttng/lttng.h>
 #include <common/hashtable/hashtable.h>
+#include <common/defaults.h>
 
+#include "consumer.h"
 #include "ust-ctl.h"
 
 /* UST Stream list */
@@ -45,12 +47,15 @@ struct ltt_ust_event {
        struct lttng_ust_event attr;
        struct lttng_ht *ctx;
        struct lttng_ht_node_str node;
+       struct lttng_ust_filter_bytecode *filter;
 };
 
 /* UST stream */
 struct ltt_ust_stream {
        int handle;
        char pathname[PATH_MAX];
+       /* Format is %s_%d respectively channel name and CPU number. */
+       char name[DEFAULT_STREAM_NAME_LEN];
        struct lttng_ust_object_data *obj;
        /* Using a list of streams to keep order. */
        struct cds_list_head list;
@@ -111,6 +116,16 @@ struct ltt_ust_session {
        /* UID/GID of the user owning the session */
        uid_t uid;
        gid_t gid;
+       /*
+        * Two consumer_output object are needed where one is for the current
+        * output object and the second one is the temporary object used to store
+        * URI being set by the lttng_set_consumer_uri call. Once
+        * lttng_enable_consumer is called, the two pointers are swapped.
+        */
+       struct consumer_output *consumer;
+       struct consumer_output *tmp_consumer;
+       /* Sequence number for filters so the tracer knows the ordering. */
+       uint64_t filter_seq_num;
 };
 
 #ifdef HAVE_LIBLTTNG_UST_CTL
This page took 0.023507 seconds and 4 git commands to generate.