X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.h;h=97f3135a2063adcf621d300faf139c60cd54fcdc;hb=a78af745624dfc8bfe90748a1730fecbb4677a17;hp=845bcd6c91965b309114a04f539098aad3f4f16f;hpb=53a80697a772bc2e260e3dff006f910be6709f04;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/trace-ust.h b/src/bin/lttng-sessiond/trace-ust.h index 845bcd6c9..97f3135a2 100644 --- a/src/bin/lttng-sessiond/trace-ust.h +++ b/src/bin/lttng-sessiond/trace-ust.h @@ -24,14 +24,15 @@ #include #include +#include #include "consumer.h" #include "ust-ctl.h" -/* UST Stream list */ -struct ltt_ust_stream_list { - unsigned int count; - struct cds_list_head head; +struct ltt_ust_ht_key { + const char *name; + const struct lttng_filter_bytecode *filter; + enum lttng_ust_loglevel_type loglevel; }; /* Context hash table nodes */ @@ -44,22 +45,10 @@ struct ltt_ust_context { struct ltt_ust_event { unsigned int enabled; 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[LTTNG_SYMBOL_NAME_LEN]; - struct lttng_ust_object_data *obj; - /* Using a list of streams to keep order. */ - struct cds_list_head list; -}; - /* UST channel */ struct ltt_ust_channel { unsigned int enabled; @@ -123,15 +112,21 @@ struct ltt_ust_session { */ 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 +int trace_ust_ht_match_event(struct cds_lfht_node *node, const void *_key); +int trace_ust_ht_match_event_by_name(struct cds_lfht_node *node, + const void *_key); + /* * Lookup functions. NULL is returned if not found. */ -struct ltt_ust_event *trace_ust_find_event_by_name(struct lttng_ht *ht, - char *name); +struct ltt_ust_event *trace_ust_find_event(struct lttng_ht *ht, + char *name, struct lttng_filter_bytecode *filter, int loglevel); struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht, char *name); @@ -139,10 +134,11 @@ struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht, * Create functions malloc() the data structure. */ struct ltt_ust_session *trace_ust_create_session(char *path, - unsigned int session_id, struct lttng_domain *domain); + unsigned int session_id); struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *attr, char *path); -struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev); +struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev, + struct lttng_filter_bytecode *filter); struct ltt_ust_metadata *trace_ust_create_metadata(char *path); struct ltt_ust_context *trace_ust_create_context( struct lttng_event_context *ctx); @@ -158,13 +154,16 @@ void trace_ust_destroy_event(struct ltt_ust_event *event); #else /* HAVE_LIBLTTNG_UST_CTL */ -static inline -struct ltt_ust_event *trace_ust_find_event_by_name(struct lttng_ht *ht, - char *name) +static inline int trace_ust_ht_match_event(struct cds_lfht_node *node, + const void *_key) { - return NULL; + return 0; +} +static inline int trace_ust_ht_match_event_by_name(struct cds_lfht_node *node, + const void *_key) +{ + return 0; } - static inline struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht, char *name) @@ -185,7 +184,8 @@ struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *attr, return NULL; } static inline -struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev) +struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev, + struct lttng_filter_bytecode *filter) { return NULL; } @@ -220,6 +220,11 @@ struct ltt_ust_context *trace_ust_create_context( { return NULL; } +static inline struct ltt_ust_event *trace_ust_find_event(struct lttng_ht *ht, + char *name, struct lttng_filter_bytecode *filter, int loglevel) +{ + return NULL; +} #endif /* HAVE_LIBLTTNG_UST_CTL */