X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.hpp;h=46a69fe9d5f3105814ecf5853d02100993e80b8d;hp=38662ec5888de3fc8d6381fe5afea1c9716de25d;hb=HEAD;hpb=d7bfb9b0fa35679d3e728b9165699d9faf905539 diff --git a/src/bin/lttng-sessiond/trace-ust.hpp b/src/bin/lttng-sessiond/trace-ust.hpp index 38662ec58..ea84722f1 100644 --- a/src/bin/lttng-sessiond/trace-ust.hpp +++ b/src/bin/lttng-sessiond/trace-ust.hpp @@ -9,16 +9,17 @@ #ifndef _LTT_TRACE_UST_H #define _LTT_TRACE_UST_H -#include -#include +#include "consumer.hpp" +#include "lttng-ust-ctl.hpp" #include #include #include + #include -#include "consumer.hpp" -#include "lttng-ust-ctl.hpp" +#include +#include struct agent; @@ -39,7 +40,7 @@ struct ltt_ust_context { /* UST event */ struct ltt_ust_event { - unsigned int enabled; + bool enabled; struct lttng_ust_abi_event attr; struct lttng_ht_node_str node; char *filter_expression; @@ -56,8 +57,8 @@ struct ltt_ust_event { /* UST channel */ struct ltt_ust_channel { - uint64_t id; /* unique id per session. */ - unsigned int enabled; + uint64_t id; /* unique id per session. */ + bool enabled; /* * A UST channel can be part of a userspace sub-domain such as JUL, * Log4j, Python. @@ -92,7 +93,7 @@ struct ust_id_tracker { /* UST session */ struct ltt_ust_session { - uint64_t id; /* Unique identifier of session */ + uint64_t id; /* Unique identifier of session */ struct ltt_ust_domain_global domain_global; /* Hash table of agent indexed by agent domain. */ struct lttng_ht *agents; @@ -100,7 +101,7 @@ struct ltt_ust_session { uid_t uid; gid_t gid; /* Is the session active meaning has is been started or stopped. */ - unsigned int active:1; + bool active; struct consumer_output *consumer; /* Sequence number for filters so the tracer knows the ordering. */ uint64_t filter_seq_num; @@ -111,14 +112,14 @@ struct ltt_ust_session { /* For per UID buffer, every buffer reg object is kept of this session */ struct cds_list_head buffer_reg_uid_list; /* Next channel ID available for a newly registered channel. */ - uint64_t next_channel_id; - /* Once this value reaches UINT32_MAX, no more id can be allocated. */ - uint64_t used_channel_id; + uint64_t next_event_container_id; + /* Once this value reaches UINT64_MAX, no more id can be allocated. */ + uint64_t used_event_container_id; /* Tell or not if the session has to output the traces. */ unsigned int output_traces; unsigned int snapshot_mode; unsigned int has_non_default_channel; - unsigned int live_timer_interval; /* usec */ + unsigned int live_timer_interval; /* usec */ /* Metadata channel attributes. */ struct lttng_ust_abi_channel_attr metadata_attr; @@ -159,55 +160,54 @@ static inline int trace_ust_is_max_id(uint64_t id) * the maximum number of IDs have been reached. If not, it is safe to call this * function. * - * Return a unique channel ID. If max is reached, the used_channel_id counter + * Return a unique channel ID. If max is reached, the used_event_container_id counter * is returned. */ -static inline uint64_t trace_ust_get_next_chan_id(struct ltt_ust_session *s) +static inline uint64_t trace_ust_get_next_event_container_id(struct ltt_ust_session *s) { - if (trace_ust_is_max_id(s->used_channel_id)) { - return s->used_channel_id; + if (trace_ust_is_max_id(s->used_event_container_id)) { + return s->used_event_container_id; } - s->used_channel_id++; - return s->next_channel_id++; + s->used_event_container_id++; + return s->next_event_container_id++; } #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); +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(struct lttng_ht *ht, - char *name, struct lttng_bytecode *filter, - enum lttng_ust_abi_loglevel_type loglevel_type, int loglevel_value, - struct lttng_event_exclusion *exclusion); -struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht, - const char *name); + char *name, + struct lttng_bytecode *filter, + enum lttng_ust_abi_loglevel_type loglevel_type, + int loglevel_value, + struct lttng_event_exclusion *exclusion); +struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht, const char *name); struct agent *trace_ust_find_agent(struct ltt_ust_session *session, - enum lttng_domain_type domain_type); + enum lttng_domain_type domain_type); /* * Create functions malloc() the data structure. */ struct ltt_ust_session *trace_ust_create_session(uint64_t session_id); struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *attr, - enum lttng_domain_type domain); + enum lttng_domain_type domain); enum lttng_error_code trace_ust_create_event(struct lttng_event *ev, - char *filter_expression, - struct lttng_bytecode *filter, - struct lttng_event_exclusion *exclusion, - bool internal_event, struct ltt_ust_event **ust_event); -struct ltt_ust_context *trace_ust_create_context( - const struct lttng_event_context *ctx); + char *filter_expression, + struct lttng_bytecode *filter, + struct lttng_event_exclusion *exclusion, + bool internal_event, + struct ltt_ust_event **ust_event); +struct ltt_ust_context *trace_ust_create_context(const struct lttng_event_context *ctx); int trace_ust_match_context(const struct ltt_ust_context *uctx, - const struct lttng_event_context *ctx); -void trace_ust_delete_channel(struct lttng_ht *ht, - struct ltt_ust_channel *channel); + const struct lttng_event_context *ctx); +void trace_ust_delete_channel(struct lttng_ht *ht, struct ltt_ust_channel *channel); int trace_ust_regenerate_metadata(struct ltt_ust_session *usess); @@ -222,187 +222,171 @@ void trace_ust_destroy_context(struct ltt_ust_context *ctx); void trace_ust_free_session(struct ltt_ust_session *session); int trace_ust_id_tracker_lookup(enum lttng_process_attr process_attr, - struct ltt_ust_session *session, - int id); -enum lttng_error_code trace_ust_process_attr_tracker_set_tracking_policy( - struct ltt_ust_session *session, - enum lttng_process_attr process_attr, - enum lttng_tracking_policy policy); -enum lttng_error_code trace_ust_process_attr_tracker_inclusion_set_add_value( - struct ltt_ust_session *session, - enum lttng_process_attr process_attr, - const struct process_attr_value *value); -enum lttng_error_code trace_ust_process_attr_tracker_inclusion_set_remove_value( - struct ltt_ust_session *session, - enum lttng_process_attr process_attr, - const struct process_attr_value *value); -const struct process_attr_tracker *trace_ust_get_process_attr_tracker( - struct ltt_ust_session *session, - enum lttng_process_attr process_attr); + struct ltt_ust_session *session, + int id); +enum lttng_error_code +trace_ust_process_attr_tracker_set_tracking_policy(struct ltt_ust_session *session, + enum lttng_process_attr process_attr, + enum lttng_tracking_policy policy); +enum lttng_error_code +trace_ust_process_attr_tracker_inclusion_set_add_value(struct ltt_ust_session *session, + enum lttng_process_attr process_attr, + const struct process_attr_value *value); +enum lttng_error_code +trace_ust_process_attr_tracker_inclusion_set_remove_value(struct ltt_ust_session *session, + enum lttng_process_attr process_attr, + const struct process_attr_value *value); +const struct process_attr_tracker * +trace_ust_get_process_attr_tracker(struct ltt_ust_session *session, + enum lttng_process_attr process_attr); #else /* HAVE_LIBLTTNG_UST_CTL */ -static inline int trace_ust_ht_match_event( - struct cds_lfht_node *node __attribute__((unused)), - const void *_key __attribute__((unused))) +static inline int trace_ust_ht_match_event(struct cds_lfht_node *node __attribute__((unused)), + const void *_key __attribute__((unused))) { return 0; } -static inline int trace_ust_ht_match_event_by_name( - struct cds_lfht_node *node __attribute__((unused)), - const void *_key __attribute__((unused))) +static inline int trace_ust_ht_match_event_by_name(struct cds_lfht_node *node + __attribute__((unused)), + const void *_key __attribute__((unused))) { return 0; } -static inline -struct ltt_ust_channel *trace_ust_find_channel_by_name( - struct lttng_ht *ht __attribute__((unused)), - const char *name __attribute__((unused))) +static inline struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht + __attribute__((unused)), + const char *name + __attribute__((unused))) { return NULL; } -static inline -struct ltt_ust_session *trace_ust_create_session( - unsigned int session_id __attribute__((unused))) +static inline struct ltt_ust_session *trace_ust_create_session(unsigned int session_id + __attribute__((unused))) { return NULL; } -static inline -struct ltt_ust_channel *trace_ust_create_channel( - struct lttng_channel *attr __attribute__((unused)), - enum lttng_domain_type domain __attribute__((unused))) +static inline struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *attr + __attribute__((unused)), + enum lttng_domain_type domain + __attribute__((unused))) { return NULL; } -static inline -enum lttng_error_code trace_ust_create_event( - struct lttng_event *ev __attribute__((unused)), - const char *filter_expression __attribute__((unused)), - struct lttng_bytecode *filter __attribute__((unused)), - struct lttng_event_exclusion *exclusion __attribute__((unused)), - bool internal_event __attribute__((unused)), - struct ltt_ust_event **ust_event __attribute__((unused))) +static inline enum lttng_error_code +trace_ust_create_event(struct lttng_event *ev __attribute__((unused)), + const char *filter_expression __attribute__((unused)), + struct lttng_bytecode *filter __attribute__((unused)), + struct lttng_event_exclusion *exclusion __attribute__((unused)), + bool internal_event __attribute__((unused)), + struct ltt_ust_event **ust_event __attribute__((unused))) { return LTTNG_ERR_NO_UST; } -static inline -void trace_ust_destroy_session( - struct ltt_ust_session *session __attribute__((unused))) +static inline void trace_ust_destroy_session(struct ltt_ust_session *session + __attribute__((unused))) { } -static inline -void trace_ust_destroy_channel( - struct ltt_ust_channel *channel __attribute__((unused))) +static inline void trace_ust_destroy_channel(struct ltt_ust_channel *channel + __attribute__((unused))) { } -static inline -void trace_ust_destroy_event( - struct ltt_ust_event *event __attribute__((unused))) +static inline void trace_ust_destroy_event(struct ltt_ust_event *event __attribute__((unused))) { } -static inline -void trace_ust_free_session( - struct ltt_ust_session *session __attribute__((unused))) +static inline void trace_ust_free_session(struct ltt_ust_session *session __attribute__((unused))) { } -static inline -struct ltt_ust_context *trace_ust_create_context( - const struct lttng_event_context *ctx __attribute__((unused))) +static inline struct ltt_ust_context *trace_ust_create_context(const struct lttng_event_context *ctx + __attribute__((unused))) { return NULL; } -static inline -int trace_ust_match_context( - const struct ltt_ust_context *uctx __attribute__((unused)), - const struct lttng_event_context *ctx __attribute__((unused))) +static inline int trace_ust_match_context(const struct ltt_ust_context *uctx + __attribute__((unused)), + const struct lttng_event_context *ctx + __attribute__((unused))) { return 0; } -static inline -struct ltt_ust_event *trace_ust_find_event( - struct lttng_ht *ht __attribute__((unused)), - char *name __attribute__((unused)), - struct lttng_bytecode *filter __attribute__((unused)), - enum lttng_ust_abi_loglevel_type loglevel_type __attribute__((unused)), - int loglevel_value __attribute__((unused)), - struct lttng_event_exclusion *exclusion __attribute__((unused))) +static inline struct ltt_ust_event * +trace_ust_find_event(struct lttng_ht *ht __attribute__((unused)), + char *name __attribute__((unused)), + struct lttng_bytecode *filter __attribute__((unused)), + enum lttng_ust_abi_loglevel_type loglevel_type __attribute__((unused)), + int loglevel_value __attribute__((unused)), + struct lttng_event_exclusion *exclusion __attribute__((unused))) { return NULL; } -static inline -void trace_ust_delete_channel( - struct lttng_ht *ht __attribute__((unused)), - struct ltt_ust_channel *channel __attribute__((unused))) +static inline void trace_ust_delete_channel(struct lttng_ht *ht __attribute__((unused)), + struct ltt_ust_channel *channel __attribute__((unused))) { return; } -static inline int trace_ust_regenerate_metadata( - struct ltt_ust_session *usess __attribute__((unused))) +static inline int trace_ust_regenerate_metadata(struct ltt_ust_session *usess + __attribute__((unused))) { return 0; } -static inline -struct agent *trace_ust_find_agent( - struct ltt_ust_session *session __attribute__((unused)), - enum lttng_domain_type domain_type __attribute__((unused))) +static inline struct agent *trace_ust_find_agent(struct ltt_ust_session *session + __attribute__((unused)), + enum lttng_domain_type domain_type + __attribute__((unused))) { return NULL; } -static inline int trace_ust_id_tracker_lookup( - enum lttng_process_attr process_attr __attribute__((unused)), - struct ltt_ust_session *session __attribute__((unused)), - int id __attribute__((unused))) +static inline int trace_ust_id_tracker_lookup(enum lttng_process_attr process_attr + __attribute__((unused)), + struct ltt_ust_session *session + __attribute__((unused)), + int id __attribute__((unused))) { return 0; } -static inline enum lttng_error_code -trace_ust_process_attr_tracker_set_tracking_policy( - struct ltt_ust_session *session __attribute__((unused)), - enum lttng_process_attr process_attr __attribute__((unused)), - enum lttng_tracking_policy policy __attribute__((unused))) +static inline enum lttng_error_code trace_ust_process_attr_tracker_set_tracking_policy( + struct ltt_ust_session *session __attribute__((unused)), + enum lttng_process_attr process_attr __attribute__((unused)), + enum lttng_tracking_policy policy __attribute__((unused))) { return LTTNG_OK; } -static inline enum lttng_error_code -trace_ust_process_attr_tracker_inclusion_set_add_value( - struct ltt_ust_session *session __attribute__((unused)), - enum lttng_process_attr process_attr __attribute__((unused)), - const struct process_attr_value *value __attribute__((unused))) +static inline enum lttng_error_code trace_ust_process_attr_tracker_inclusion_set_add_value( + struct ltt_ust_session *session __attribute__((unused)), + enum lttng_process_attr process_attr __attribute__((unused)), + const struct process_attr_value *value __attribute__((unused))) { return LTTNG_OK; } -static inline enum lttng_error_code -trace_ust_process_attr_tracker_inclusion_set_remove_value( - struct ltt_ust_session *session __attribute__((unused)), - enum lttng_process_attr process_attr __attribute__((unused)), - const struct process_attr_value *value __attribute__((unused))) +static inline enum lttng_error_code trace_ust_process_attr_tracker_inclusion_set_remove_value( + struct ltt_ust_session *session __attribute__((unused)), + enum lttng_process_attr process_attr __attribute__((unused)), + const struct process_attr_value *value __attribute__((unused))) { return LTTNG_OK; } static inline const struct process_attr_tracker * -trace_ust_get_process_attr_tracker( - struct ltt_ust_session *session __attribute__((unused)), - enum lttng_process_attr process_attr __attribute__((unused))) +trace_ust_get_process_attr_tracker(struct ltt_ust_session *session __attribute__((unused)), + enum lttng_process_attr process_attr __attribute__((unused))) { return NULL; }