X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-app.hpp;h=34376a63df9ded3af5ca1ef0bd26b20a319cb639;hb=b0f2e8db59fcadc8f4b06a94175792be3c431004;hp=7206666babe7f8fda0ee270d0a5c4e32c624079d;hpb=aeeb48c6a7dd4bcc092b3105439489fc393f6425;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-app.hpp b/src/bin/lttng-sessiond/ust-app.hpp index 7206666ba..34376a63d 100644 --- a/src/bin/lttng-sessiond/ust-app.hpp +++ b/src/bin/lttng-sessiond/ust-app.hpp @@ -12,10 +12,12 @@ #include #include +#include #include #include "trace-ust.hpp" #include "ust-registry.hpp" +#include "ust-registry-session.hpp" #include "session.hpp" #define UST_APP_EVENT_LIST_SIZE 32 @@ -144,8 +146,6 @@ struct ust_app_stream { struct ust_app_channel { int enabled; int handle; - /* Channel and streams were sent to the UST tracer. */ - int is_sent; /* * Unique key used to identify the channel on the consumer side. * 0 is a reserved 'invalid' value used to indicate that the consumer @@ -257,14 +257,8 @@ struct ust_app { uid_t uid; /* User ID that owns the apps */ gid_t gid; /* Group ID that owns the apps */ - /* App ABI */ - uint32_t bits_per_long; - uint32_t uint8_t_alignment; - uint32_t uint16_t_alignment; - uint32_t uint32_t_alignment; - uint32_t uint64_t_alignment; - uint32_t long_alignment; - int byte_order; /* BIG_ENDIAN or LITTLE_ENDIAN */ + /* App ABI. */ + lttng::sessiond::trace::abi abi; int compatible; /* If the lttng-ust tracer version does not match the supported version of the session daemon, this flag is @@ -332,6 +326,20 @@ struct ust_app { struct lttng_ht *token_to_event_notifier_rule_ht; }; +template <> +struct fmt::formatter : fmt::formatter { + template + typename FormatCtx::iterator format(const ust_app& app, FormatCtx& ctx) + { + return fmt::format_to(ctx.out(), + "{{ procname = `{}`, ppid = {}, pid = {}, uid = {}, gid = {}, version = {}.{}, registration time = {} }}", + app.name, app.ppid, app.pid, app.uid, app.gid, app.v_major, + app.v_minor, + lttng::utils::time_to_iso8601_str(app.registration_time)); + } +}; + + #ifdef HAVE_LIBLTTNG_UST_CTL int ust_app_register(struct ust_register_msg *msg, int sock); @@ -369,8 +377,9 @@ int ust_app_recv_notify(int sock); void ust_app_add(struct ust_app *app); struct ust_app *ust_app_create(struct ust_register_msg *msg, int sock); void ust_app_notify_sock_unregister(int sock); -ssize_t ust_app_push_metadata(ust_registry_session *registry, - struct consumer_socket *socket, int send_zero_data); +ssize_t ust_app_push_metadata(const lttng::sessiond::ust::registry_session::locked_ptr& registry, + struct consumer_socket *socket, + int send_zero_data); void ust_app_destroy(struct ust_app *app); enum lttng_error_code ust_app_snapshot_record( const struct ltt_ust_session *usess, @@ -618,7 +627,7 @@ void ust_app_notify_sock_unregister(int sock __attribute__((unused))) static inline ssize_t ust_app_push_metadata( - ust_registry_session *registry __attribute__((unused)), + lttng::sessiond::ust::registry_session *registry __attribute__((unused)), struct consumer_socket *socket __attribute__((unused)), int send_zero_data __attribute__((unused))) {