X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-app.h;h=aa66059adafb5aaa2d0270f0f0634ca3414b34b6;hb=e8fcabef14e1e2ce8d159c68c5585931df1216b4;hp=edec8d49639eb25b61f02664847e9ef2cea29def;hpb=ecc48a904cc7c419fd1400afaa9ccb93be490cdd;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-app.h b/src/bin/lttng-sessiond/ust-app.h index edec8d496..aa66059ad 100644 --- a/src/bin/lttng-sessiond/ust-app.h +++ b/src/bin/lttng-sessiond/ust-app.h @@ -21,6 +21,7 @@ #include #include + #include "trace-ust.h" #include "ust-registry.h" @@ -46,8 +47,9 @@ struct ust_app_notify_sock_obj { struct ust_app_ht_key { const char *name; - const struct lttng_ust_filter_bytecode *filter; + const struct lttng_filter_bytecode *filter; enum lttng_ust_loglevel_type loglevel; + const struct lttng_event_exclusion *exclusion; }; /* @@ -112,7 +114,8 @@ struct ust_app_event { struct lttng_ust_event attr; char name[LTTNG_UST_SYM_NAME_LEN]; struct lttng_ht_node_str node; - struct lttng_ust_filter_bytecode *filter; + struct lttng_filter_bytecode *filter; + struct lttng_event_exclusion *exclusion; }; struct ust_app_stream { @@ -208,6 +211,12 @@ struct ust_app_session { /* If the channel's streams have to be outputed or not. */ unsigned int output_traces; unsigned int live_timer_interval; /* usec */ + + /* Metadata channel attributes. */ + struct ustctl_consumer_channel_attr metadata_attr; + + char root_shm_path[PATH_MAX]; + char shm_path[PATH_MAX]; }; /* @@ -259,6 +268,14 @@ struct ust_app { * Hash table containing ust_app_channel indexed by channel objd. */ struct lttng_ht *ust_objd; + + /* + * If this application is of the agent domain and this is non negative then + * a lookup MUST be done to acquire a read side reference to the + * corresponding agent app object. If the lookup fails, this should be set + * to a negative value indicating that the agent application is gone. + */ + int agent_app_sock; }; #ifdef HAVE_LIBLTTNG_UST_CTL @@ -271,7 +288,6 @@ int ust_app_register_done(int sock) } int ust_app_version(struct ust_app *app); void ust_app_unregister(int sock); -unsigned long ust_app_list_count(void); int ust_app_start_trace_all(struct ltt_ust_session *usess); int ust_app_stop_trace_all(struct ltt_ust_session *usess); int ust_app_destroy_trace_all(struct ltt_ust_session *usess); @@ -281,9 +297,6 @@ int ust_app_create_channel_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan); int ust_app_create_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); -int ust_app_disable_event_pid(struct ltt_ust_session *usess, - struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, - pid_t pid); int ust_app_enable_event_pid(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, pid_t pid); @@ -293,19 +306,17 @@ int ust_app_enable_channel_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan); int ust_app_enable_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); -int ust_app_disable_all_event_glb(struct ltt_ust_session *usess, - struct ltt_ust_channel *uchan); int ust_app_enable_all_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan); int ust_app_disable_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent); int ust_app_add_ctx_channel_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan, struct ltt_ust_context *uctx); -void ust_app_global_update(struct ltt_ust_session *usess, int sock); +void ust_app_global_update(struct ltt_ust_session *usess, struct ust_app *app); +void ust_app_global_update_all(struct ltt_ust_session *usess); void ust_app_clean_list(void); -void ust_app_ht_alloc(void); -struct lttng_ht *ust_app_get_ht(void); +int ust_app_ht_alloc(void); struct ust_app *ust_app_find_by_pid(pid_t pid); int ust_app_calibrate_glb(struct lttng_ust_calibrate *calibrate); struct ust_app_stream *ust_app_alloc_stream(void); @@ -318,8 +329,11 @@ ssize_t ust_app_push_metadata(struct ust_registry_session *registry, struct consumer_socket *socket, int send_zero_data); void ust_app_destroy(struct ust_app *app); int ust_app_snapshot_record(struct ltt_ust_session *usess, - struct snapshot_output *output, int wait, unsigned int nb_streams); -unsigned int ust_app_get_nb_stream(struct ltt_ust_session *usess); + struct snapshot_output *output, int wait, + uint64_t nb_packets_per_stream); +uint64_t ust_app_get_size_one_more_packet_per_stream( + struct ltt_ust_session *usess, uint64_t cur_nr_packets); +struct ust_app *ust_app_find_by_sock(int sock); static inline int ust_app_supported(void) @@ -379,11 +393,6 @@ void ust_app_unregister(int sock) { } static inline -unsigned int ust_app_list_count(void) -{ - return 0; -} -static inline void ust_app_lock_list(void) { } @@ -406,15 +415,12 @@ struct ust_app *ust_app_get_by_pid(pid_t pid) return NULL; } static inline -struct lttng_ht *ust_app_get_ht(void) +int ust_app_ht_alloc(void) { - return NULL; + return 0; } static inline -void ust_app_ht_alloc(void) -{} -static inline -void ust_app_global_update(struct ltt_ust_session *usess, int sock) +void ust_app_global_update(struct ltt_ust_session *usess, struct ust_app *app) {} static inline int ust_app_disable_channel_glb(struct ltt_ust_session *usess, @@ -435,12 +441,6 @@ int ust_app_create_channel_glb(struct ltt_ust_session *usess, return 0; } static inline -int ust_app_disable_all_event_glb(struct ltt_ust_session *usess, - struct ltt_ust_channel *uchan) -{ - return 0; -} -static inline int ust_app_enable_all_event_glb(struct ltt_ust_session *usess, struct ltt_ust_channel *uchan) { @@ -478,13 +478,6 @@ int ust_app_enable_event_pid(struct ltt_ust_session *usess, return 0; } static inline -int ust_app_disable_event_pid(struct ltt_ust_session *usess, - struct ltt_ust_channel *uchan, struct ltt_ust_event *uevent, - pid_t pid) -{ - return 0; -} -static inline int ust_app_calibrate_glb(struct lttng_ust_calibrate *calibrate) { return 0; @@ -525,7 +518,7 @@ void ust_app_destroy(struct ust_app *app) } static inline int ust_app_snapshot_record(struct ltt_ust_session *usess, - struct snapshot_output *output, int wait, unsigned int nb_stream) + struct snapshot_output *output, int wait, uint64_t max_stream_size) { return 0; } @@ -540,6 +533,21 @@ int ust_app_supported(void) { return 0; } +static inline +struct ust_app *ust_app_find_by_sock(int sock) +{ + return NULL; +} +static inline +struct ust_app *ust_app_find_by_pid(pid_t pid) +{ + return NULL; +} +static inline +uint64_t ust_app_get_size_one_more_packet_per_stream( + struct ltt_ust_session *usess, uint64_t cur_nr_packets) { + return 0; +} #endif /* HAVE_LIBLTTNG_UST_CTL */