From 2ece7dd044d2f520c313eb967523843de5023e9e Mon Sep 17 00:00:00 2001 From: Philippe Proulx Date: Wed, 19 Jun 2019 01:42:10 -0400 Subject: [PATCH] src.ctf.lttng-live: use BT_COMP_LOG*() instead of BT_LOG*() Signed-off-by: Philippe Proulx Change-Id: I9fe4f0ca7e6c061e90a3c46019e9e0913f737842 Reviewed-on: https://review.lttng.org/c/babeltrace/+/1508 Reviewed-by: Francis Deslauriers --- src/plugins/ctf/lttng-live/data-stream.c | 16 +- src/plugins/ctf/lttng-live/lttng-live.c | 90 ++++--- src/plugins/ctf/lttng-live/lttng-live.h | 7 +- src/plugins/ctf/lttng-live/metadata.c | 30 +-- .../ctf/lttng-live/viewer-connection.c | 228 +++++++++--------- .../ctf/lttng-live/viewer-connection.h | 1 + 6 files changed, 200 insertions(+), 172 deletions(-) diff --git a/src/plugins/ctf/lttng-live/data-stream.c b/src/plugins/ctf/lttng-live/data-stream.c index b1a99f38..d759e363 100644 --- a/src/plugins/ctf/lttng-live/data-stream.c +++ b/src/plugins/ctf/lttng-live/data-stream.c @@ -23,9 +23,10 @@ * SOFTWARE. */ +#define BT_COMP_LOG_SELF_COMP self_comp #define BT_LOG_OUTPUT_LEVEL log_level #define BT_LOG_TAG "PLUGIN/SRC.CTF.LTTNG-LIVE/DS" -#include "logging/log.h" +#include "plugins/comp-logging.h" #include #include @@ -80,11 +81,12 @@ bt_stream *medop_borrow_stream(bt_stream_class *stream_class, { struct lttng_live_stream_iterator *lttng_live_stream = data; bt_logging_level log_level = lttng_live_stream->log_level; + bt_self_component *self_comp = lttng_live_stream->self_comp; if (!lttng_live_stream->stream) { uint64_t stream_class_id = bt_stream_class_get_id(stream_class); - BT_LOGI("Creating stream %s (ID: %" PRIu64 ") out of stream " + BT_COMP_LOGI("Creating stream %s (ID: %" PRIu64 ") out of stream " "class %" PRId64, lttng_live_stream->name->str, stream_id, stream_class_id); @@ -105,7 +107,7 @@ bt_stream *medop_borrow_stream(bt_stream_class *stream_class, } if (!lttng_live_stream->stream) { - BT_LOGE("Cannot create stream %s (stream class ID " + BT_COMP_LOGE("Cannot create stream %s (stream class ID " "%" PRId64 ", stream ID %" PRIu64 ")", lttng_live_stream->name->str, stream_class_id, stream_id); @@ -131,6 +133,7 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init( session->lttng_live_msg_iter->lttng_live_comp; uint64_t trace_idx, stream_iter_idx; bt_logging_level log_level = session->log_level; + bt_self_component *self_comp = session->self_comp; if (!session->lazy_stream_msg_init) { return LTTNG_LIVE_ITERATOR_STATUS_OK; @@ -155,7 +158,7 @@ enum lttng_live_iterator_status lttng_live_lazy_msg_init( trace->metadata->decoder); stream_iter->msg_iter = bt_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, - stream_iter, log_level, NULL); + stream_iter, log_level, self_comp); if (!stream_iter->msg_iter) { goto error; } @@ -180,11 +183,13 @@ struct lttng_live_stream_iterator *lttng_live_stream_iterator_create( struct lttng_live_component *lttng_live; struct lttng_live_trace *trace; bt_logging_level log_level; + bt_self_component *self_comp; BT_ASSERT(session); BT_ASSERT(session->lttng_live_msg_iter); BT_ASSERT(session->lttng_live_msg_iter->lttng_live_comp); log_level = session->log_level; + self_comp = session->self_comp; lttng_live = session->lttng_live_msg_iter->lttng_live_comp; @@ -194,6 +199,7 @@ struct lttng_live_stream_iterator *lttng_live_stream_iterator_create( } stream_iter->log_level = log_level; + stream_iter->self_comp = self_comp; trace = lttng_live_borrow_trace(session, ctf_trace_id); if (!trace) { goto error; @@ -212,7 +218,7 @@ struct lttng_live_stream_iterator *lttng_live_stream_iterator_create( BT_ASSERT(!stream_iter->msg_iter); stream_iter->msg_iter = bt_msg_iter_create(ctf_tc, lttng_live->max_query_size, medops, - stream_iter, log_level, NULL); + stream_iter, log_level, self_comp); if (!stream_iter->msg_iter) { goto error; } diff --git a/src/plugins/ctf/lttng-live/lttng-live.c b/src/plugins/ctf/lttng-live/lttng-live.c index c15247d3..af886143 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.c +++ b/src/plugins/ctf/lttng-live/lttng-live.c @@ -28,9 +28,10 @@ * SOFTWARE. */ +#define BT_COMP_LOG_SELF_COMP self_comp #define BT_LOG_OUTPUT_LEVEL log_level #define BT_LOG_TAG "PLUGIN/SRC.CTF.LTTNG-LIVE" -#include "logging/log.h" +#include "plugins/comp-logging.h" #include #include @@ -52,7 +53,7 @@ #define SESS_NOT_FOUND_ACTION_FAIL_STR "fail" #define SESS_NOT_FOUND_ACTION_END_STR "end" -#define print_dbg(fmt, ...) BT_LOGD(fmt, ## __VA_ARGS__) +#define print_dbg(fmt, ...) BT_COMP_LOGD(fmt, ## __VA_ARGS__) static const char *print_live_iterator_status(enum lttng_live_iterator_status status) @@ -100,7 +101,7 @@ const char *print_state(struct lttng_live_stream_iterator *s) #define print_stream_state(live_stream_iter) \ do { \ - BT_LOGD("stream state %s last_inact_ts %" PRId64 \ + BT_COMP_LOGD("stream state %s last_inact_ts %" PRId64 \ ", curr_inact_ts %" PRId64, \ print_state(live_stream_iter), \ live_stream_iter->last_inactivity_ts, \ @@ -118,10 +119,7 @@ bool lttng_live_graph_is_canceled(struct lttng_live_component *lttng_live) goto end; } - component = bt_component_source_as_component_const( - bt_self_component_source_as_component_source( - lttng_live->self_comp)); - + component = bt_self_component_as_component(lttng_live->self_comp); ret = bt_component_graph_is_canceled(component); end: @@ -152,8 +150,9 @@ static void lttng_live_destroy_trace(struct lttng_live_trace *trace) { bt_logging_level log_level = trace->log_level; + bt_self_component *self_comp = trace->self_comp; - BT_LOGD("Destroy lttng_live_trace"); + BT_COMP_LOGD("Destroy lttng_live_trace"); BT_ASSERT(trace->stream_iterators); g_ptr_array_free(trace->stream_iterators, TRUE); @@ -171,12 +170,14 @@ struct lttng_live_trace *lttng_live_create_trace(struct lttng_live_session *sess { struct lttng_live_trace *trace = NULL; bt_logging_level log_level = session->log_level; + bt_self_component *self_comp = session->self_comp; trace = g_new0(struct lttng_live_trace, 1); if (!trace) { goto error; } trace->log_level = session->log_level; + trace->self_comp = session->self_comp; trace->session = session; trace->id = trace_id; trace->trace_class = NULL; @@ -187,7 +188,7 @@ struct lttng_live_trace *lttng_live_create_trace(struct lttng_live_session *sess trace->new_metadata_needed = true; g_ptr_array_add(session->traces, trace); - BT_LOGI("Create trace"); + BT_COMP_LOGI("Create trace"); goto end; error: g_free(trace); @@ -222,6 +223,7 @@ int lttng_live_add_session(struct lttng_live_msg_iter *lttng_live_msg_iter, int ret = 0; struct lttng_live_session *session; bt_logging_level log_level = lttng_live_msg_iter->log_level; + bt_self_component *self_comp = lttng_live_msg_iter->self_comp; session = g_new0(struct lttng_live_session, 1); if (!session) { @@ -229,6 +231,7 @@ int lttng_live_add_session(struct lttng_live_msg_iter *lttng_live_msg_iter, } session->log_level = lttng_live_msg_iter->log_level; + session->self_comp = lttng_live_msg_iter->self_comp; session->id = session_id; session->traces = g_ptr_array_new_with_free_func( (GDestroyNotify) lttng_live_destroy_trace); @@ -241,12 +244,12 @@ int lttng_live_add_session(struct lttng_live_msg_iter *lttng_live_msg_iter, session->session_name = g_string_new(session_name); BT_ASSERT(session->session_name); - BT_LOGI("Reading from session: %" PRIu64 " hostname: %s session_name: %s", + BT_COMP_LOGI("Reading from session: %" PRIu64 " hostname: %s session_name: %s", session->id, hostname, session_name); g_ptr_array_add(lttng_live_msg_iter->sessions, session); goto end; error: - BT_LOGE("Error adding session"); + BT_COMP_LOGE("Error adding session"); g_free(session); ret = -1; end: @@ -258,20 +261,22 @@ void lttng_live_destroy_session(struct lttng_live_session *session) { struct lttng_live_component *live_comp; bt_logging_level log_level; + bt_self_component *self_comp; if (!session) { goto end; } log_level = session->log_level; - BT_LOGD("Destroy lttng live session"); + self_comp = session->self_comp; + BT_COMP_LOGD("Destroy lttng live session"); if (session->id != -1ULL) { if (lttng_live_detach_session(session)) { live_comp = session->lttng_live_msg_iter->lttng_live_comp; if (session->lttng_live_msg_iter && !lttng_live_graph_is_canceled(live_comp)) { /* Old relayd cannot detach sessions. */ - BT_LOGD("Unable to detach lttng live session %" PRIu64, + BT_COMP_LOGD("Unable to detach lttng live session %" PRIu64, session->id); } } @@ -336,6 +341,7 @@ enum lttng_live_iterator_status lttng_live_iterator_next_check_stream_state( struct lttng_live_stream_iterator *lttng_live_stream) { bt_logging_level log_level = lttng_live_stream->log_level; + bt_self_component *self_comp = lttng_live_stream->self_comp; switch (lttng_live_stream->state) { case LTTNG_LIVE_STREAM_QUIESCENT: @@ -343,11 +349,11 @@ enum lttng_live_iterator_status lttng_live_iterator_next_check_stream_state( break; case LTTNG_LIVE_STREAM_ACTIVE_NO_DATA: /* Invalid state. */ - BT_LOGF("Unexpected stream state \"ACTIVE_NO_DATA\""); + BT_COMP_LOGF("Unexpected stream state \"ACTIVE_NO_DATA\""); abort(); case LTTNG_LIVE_STREAM_QUIESCENT_NO_DATA: /* Invalid state. */ - BT_LOGF("Unexpected stream state \"QUIESCENT_NO_DATA\""); + BT_COMP_LOGF("Unexpected stream state \"QUIESCENT_NO_DATA\""); abort(); case LTTNG_LIVE_STREAM_EOF: break; @@ -369,6 +375,7 @@ enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_no_data_stre struct lttng_live_stream_iterator *lttng_live_stream) { bt_logging_level log_level = lttng_live_msg_iter->log_level; + bt_self_component *self_comp = lttng_live_msg_iter->self_comp; enum lttng_live_iterator_status ret = LTTNG_LIVE_ITERATOR_STATUS_OK; struct packet_index index; @@ -628,11 +635,12 @@ int live_get_msg_ts_ns(struct lttng_live_stream_iterator *stream_iter, int ret = 0; bt_message_stream_activity_clock_snapshot_state sa_cs_state; bt_logging_level log_level = lttng_live_msg_iter->log_level; + bt_self_component *self_comp = lttng_live_msg_iter->self_comp; BT_ASSERT(msg); BT_ASSERT(ts_ns); - BT_LOGD("Getting message's timestamp: iter-data-addr=%p, msg-addr=%p, " + BT_COMP_LOGD("Getting message's timestamp: iter-data-addr=%p, msg-addr=%p, " "last-msg-ts=%" PRId64, lttng_live_msg_iter, msg, last_msg_ts_ns); @@ -715,7 +723,7 @@ int live_get_msg_ts_ns(struct lttng_live_stream_iterator *stream_iter, break; default: /* All the other messages have a higher priority */ - BT_LOGD_STR("Message has no timestamp: using the last message timestamp."); + BT_COMP_LOGD_STR("Message has no timestamp: using the last message timestamp."); *ts_ns = last_msg_ts_ns; goto end; } @@ -725,7 +733,7 @@ int live_get_msg_ts_ns(struct lttng_live_stream_iterator *stream_iter, ret = bt_clock_snapshot_get_ns_from_origin(clock_snapshot, ts_ns); if (ret) { - BT_LOGE("Cannot get nanoseconds from Epoch of clock snapshot: " + BT_COMP_LOGE("Cannot get nanoseconds from Epoch of clock snapshot: " "clock-snapshot-addr=%p", clock_snapshot); goto error; } @@ -733,7 +741,7 @@ int live_get_msg_ts_ns(struct lttng_live_stream_iterator *stream_iter, goto end; no_clock_snapshot: - BT_LOGD_STR("Message's default clock snapshot is missing: " + BT_COMP_LOGD_STR("Message's default clock snapshot is missing: " "using the last message timestamp."); *ts_ns = last_msg_ts_ns; goto end; @@ -743,7 +751,7 @@ error: end: if (ret == 0) { - BT_LOGD("Found message's timestamp: " + BT_COMP_LOGD("Found message's timestamp: " "iter-data-addr=%p, msg-addr=%p, " "last-msg-ts=%" PRId64 ", ts=%" PRId64, lttng_live_msg_iter, msg, last_msg_ts_ns, *ts_ns); @@ -762,6 +770,7 @@ enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_active_data_ enum bt_msg_iter_status status; uint64_t session_idx, trace_idx; bt_logging_level log_level = lttng_live_msg_iter->log_level; + bt_self_component *self_comp = lttng_live_msg_iter->self_comp; for (session_idx = 0; session_idx < lttng_live_msg_iter->sessions->len; session_idx++) { @@ -810,7 +819,7 @@ enum lttng_live_iterator_status lttng_live_iterator_next_handle_one_active_data_ case BT_MSG_ITER_STATUS_ERROR: default: ret = LTTNG_LIVE_ITERATOR_STATUS_ERROR; - BT_LOGW("CTF msg iterator return an error or failed msg_iter=%p", + BT_COMP_LOGW("CTF msg iterator return an error or failed msg_iter=%p", lttng_live_stream->msg_iter); break; } @@ -874,6 +883,7 @@ enum lttng_live_iterator_status lttng_live_iterator_next_on_stream( bt_message **curr_msg) { bt_logging_level log_level = lttng_live_msg_iter->log_level; + bt_self_component *self_comp = lttng_live_msg_iter->self_comp; enum lttng_live_iterator_status live_status; retry: @@ -922,6 +932,7 @@ enum lttng_live_iterator_status next_stream_iterator_for_trace( int64_t curr_candidate_msg_ts = INT64_MAX; uint64_t stream_iter_idx; bt_logging_level log_level = lttng_live_msg_iter->log_level; + bt_self_component *self_comp = lttng_live_msg_iter->self_comp; BT_ASSERT(live_trace); BT_ASSERT(live_trace->stream_iterators); @@ -948,7 +959,7 @@ enum lttng_live_iterator_status next_stream_iterator_for_trace( stream_iter_status = lttng_live_iterator_next_on_stream( lttng_live_msg_iter, stream_iter, &msg); - BT_LOGD("live stream iterator returned status :%s", + BT_COMP_LOGD("live stream iterator returned status :%s", print_live_iterator_status(stream_iter_status)); if (stream_iter_status == LTTNG_LIVE_ITERATOR_STATUS_END) { stream_iter_is_ended = true; @@ -983,7 +994,7 @@ enum lttng_live_iterator_status next_stream_iterator_for_trace( * We received a message in the past. To ensure * monotonicity, we can't send it forward. */ - BT_LOGE("Message's timestamp is less than " + BT_COMP_LOGE("Message's timestamp is less than " "lttng-live's message iterator's last " "returned timestamp: " "lttng-live-msg-iter-addr=%p, ts=%" PRId64 ", " @@ -1336,6 +1347,7 @@ bt_self_message_iterator_status lttng_live_msg_iter_init( lttng_live = bt_self_component_get_data(self_comp); log_level = lttng_live->log_level; + self_comp = lttng_live->self_comp; /* There can be only one downstream iterator at the same time. */ BT_ASSERT(!lttng_live->has_msg_iter); @@ -1348,6 +1360,7 @@ bt_self_message_iterator_status lttng_live_msg_iter_init( } lttng_live_msg_iter->log_level = lttng_live->log_level; + lttng_live_msg_iter->self_comp = lttng_live->self_comp; lttng_live_msg_iter->lttng_live_comp = lttng_live; lttng_live_msg_iter->self_msg_iter = self_msg_it; @@ -1370,7 +1383,7 @@ bt_self_message_iterator_status lttng_live_msg_iter_init( if (lttng_live_msg_iter->sessions->len == 0) { switch (lttng_live->params.sess_not_found_act) { case SESSION_NOT_FOUND_ACTION_CONTINUE: - BT_LOGI("Unable to connect to the requested live viewer " + BT_COMP_LOGI("Unable to connect to the requested live viewer " "session. Keep trying to connect because of " "%s=\"%s\" component parameter: url=\"%s\"", SESS_NOT_FOUND_ACTION_PARAM, @@ -1378,7 +1391,7 @@ bt_self_message_iterator_status lttng_live_msg_iter_init( lttng_live->params.url->str); break; case SESSION_NOT_FOUND_ACTION_FAIL: - BT_LOGE("Unable to connect to the requested live viewer " + BT_COMP_LOGE("Unable to connect to the requested live viewer " "session. Fail the message iterator" "initialization because of %s=\"%s\" " "component parameter: url =\"%s\"", @@ -1387,7 +1400,7 @@ bt_self_message_iterator_status lttng_live_msg_iter_init( lttng_live->params.url->str); goto error; case SESSION_NOT_FOUND_ACTION_END: - BT_LOGI("Unable to connect to the requested live viewer " + BT_COMP_LOGI("Unable to connect to the requested live viewer " "session. End gracefully at the first _next() " "call because of %s=\"%s\" component parameter: " "url=\"%s\"", SESS_NOT_FOUND_ACTION_PARAM, @@ -1415,16 +1428,17 @@ bt_query_status lttng_live_query_list_sessions(const bt_value *params, const bt_value *url_value = NULL; const char *url; struct live_viewer_connection *viewer_connection = NULL; + bt_self_component *self_comp = NULL; url_value = bt_value_map_borrow_entry_value_const(params, URL_PARAM); if (!url_value) { - BT_LOGW("Mandatory `%s` parameter missing", URL_PARAM); + BT_COMP_LOGW("Mandatory `%s` parameter missing", URL_PARAM); status = BT_QUERY_STATUS_INVALID_PARAMS; goto error; } if (!bt_value_is_string(url_value)) { - BT_LOGW("`%s` parameter is required to be a string value", + BT_COMP_LOGW("`%s` parameter is required to be a string value", URL_PARAM); status = BT_QUERY_STATUS_INVALID_PARAMS; goto error; @@ -1466,12 +1480,13 @@ bt_query_status lttng_live_query(bt_self_component_class_source *comp_class, bt_logging_level log_level, const bt_value **result) { bt_query_status status = BT_QUERY_STATUS_OK; + bt_self_component *self_comp = NULL; if (strcmp(object, "sessions") == 0) { status = lttng_live_query_list_sessions(params, result, log_level); } else { - BT_LOGW("Unknown query object `%s`", object); + BT_COMP_LOGW("Unknown query object `%s`", object); status = BT_QUERY_STATUS_INVALID_OBJECT; goto end; } @@ -1525,7 +1540,7 @@ enum session_not_found_action parse_session_not_found_action_param( } struct lttng_live_component *lttng_live_component_create(const bt_value *params, - bt_logging_level log_level) + bt_logging_level log_level, bt_self_component *self_comp) { struct lttng_live_component *lttng_live; const bt_value *value = NULL; @@ -1536,12 +1551,13 @@ struct lttng_live_component *lttng_live_component_create(const bt_value *params, goto end; } lttng_live->log_level = log_level; + lttng_live->self_comp = self_comp; lttng_live->max_query_size = MAX_QUERY_SIZE; lttng_live->has_msg_iter = false; value = bt_value_map_borrow_entry_value_const(params, URL_PARAM); if (!value || !bt_value_is_string(value)) { - BT_LOGW("Mandatory `%s` parameter missing or not a string", + BT_COMP_LOGW("Mandatory `%s` parameter missing or not a string", URL_PARAM); goto error; } @@ -1558,13 +1574,13 @@ struct lttng_live_component *lttng_live_component_create(const bt_value *params, lttng_live->params.sess_not_found_act = parse_session_not_found_action_param(value); if (lttng_live->params.sess_not_found_act == -1) { - BT_LOGE("Unexpected value for `%s` parameter: " + BT_COMP_LOGE("Unexpected value for `%s` parameter: " "value=\"%s\"", SESS_NOT_FOUND_ACTION_PARAM, bt_value_string_get(value)); goto error; } } else { - BT_LOGW("Optional `%s` parameter is missing or " + BT_COMP_LOGW("Optional `%s` parameter is missing or " "not a string value. Defaulting to %s=\"%s\".", SESS_NOT_FOUND_ACTION_PARAM, SESS_NOT_FOUND_ACTION_PARAM, @@ -1594,21 +1610,19 @@ bt_self_component_status lttng_live_component_init( bt_logging_level log_level = bt_component_get_logging_level( bt_self_component_as_component(self_comp)); - lttng_live = lttng_live_component_create(params, log_level); + lttng_live = lttng_live_component_create(params, log_level, self_comp); if (!lttng_live) { ret = BT_SELF_COMPONENT_STATUS_NOMEM; goto error; } - lttng_live->self_comp = self_comp_src; if (lttng_live_graph_is_canceled(lttng_live)) { ret = BT_SELF_COMPONENT_STATUS_END; goto error; } - ret = bt_self_component_source_add_output_port( - lttng_live->self_comp, "out", - NULL, NULL); + ret = bt_self_component_source_add_output_port(self_comp_src, "out", + NULL, NULL); if (ret != BT_SELF_COMPONENT_STATUS_OK) { goto error; } diff --git a/src/plugins/ctf/lttng-live/lttng-live.h b/src/plugins/ctf/lttng-live/lttng-live.h index 35de9051..f003d627 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.h +++ b/src/plugins/ctf/lttng-live/lttng-live.h @@ -65,6 +65,7 @@ enum lttng_live_stream_state { /* Iterator over a live stream. */ struct lttng_live_stream_iterator { bt_logging_level log_level; + bt_self_component *self_comp; /* Owned by this. */ bt_stream *stream; @@ -122,6 +123,7 @@ struct lttng_live_stream_iterator { struct lttng_live_metadata { bt_logging_level log_level; + bt_self_component *self_comp; /* Weak reference. */ struct lttng_live_trace *trace; @@ -135,6 +137,7 @@ struct lttng_live_metadata { struct lttng_live_trace { bt_logging_level log_level; + bt_self_component *self_comp; /* Back reference to session. */ struct lttng_live_session *session; @@ -161,6 +164,7 @@ struct lttng_live_trace { struct lttng_live_session { bt_logging_level log_level; + bt_self_component *self_comp; /* Weak reference. */ struct lttng_live_msg_iter *lttng_live_msg_iter; @@ -195,7 +199,7 @@ struct lttng_live_component { bt_logging_level log_level; /* Weak reference. */ - bt_self_component_source *self_comp; + bt_self_component *self_comp; struct { GString *url; @@ -213,6 +217,7 @@ struct lttng_live_component { struct lttng_live_msg_iter { bt_logging_level log_level; + bt_self_component *self_comp; /* Weak reference. */ struct lttng_live_component *lttng_live_comp; diff --git a/src/plugins/ctf/lttng-live/metadata.c b/src/plugins/ctf/lttng-live/metadata.c index decae60e..f4d69ffc 100644 --- a/src/plugins/ctf/lttng-live/metadata.c +++ b/src/plugins/ctf/lttng-live/metadata.c @@ -24,9 +24,10 @@ * SOFTWARE. */ +#define BT_COMP_LOG_SELF_COMP self_comp #define BT_LOG_OUTPUT_LEVEL log_level #define BT_LOG_TAG "PLUGIN/SRC.CTF.LTTNG-LIVE/META" -#include "logging/log.h" +#include "plugins/comp-logging.h" #include #include @@ -57,7 +58,8 @@ struct packet_header { static bool stream_classes_all_have_default_clock_class(bt_trace_class *tc, - bt_logging_level log_level) + bt_logging_level log_level, + bt_self_component *self_comp) { uint64_t i, sc_count; const bt_clock_class *cc = NULL; @@ -73,7 +75,7 @@ bool stream_classes_all_have_default_clock_class(bt_trace_class *tc, cc = bt_stream_class_borrow_default_clock_class_const(sc); if (!cc) { ret = false; - BT_LOGE("Stream class doesn't have a default clock class: " + BT_COMP_LOGE("Stream class doesn't have a default clock class: " "sc-id=%" PRIu64 ", sc-name=\"%s\"", bt_stream_class_get_id(sc), bt_stream_class_get_name(sc)); @@ -127,6 +129,7 @@ enum lttng_live_iterator_status lttng_live_metadata_update( enum lttng_live_iterator_status status = LTTNG_LIVE_ITERATOR_STATUS_OK; bt_logging_level log_level = trace->log_level; + bt_self_component *self_comp = trace->self_comp; /* No metadata stream yet. */ if (!metadata) { @@ -150,7 +153,7 @@ enum lttng_live_iterator_status lttng_live_metadata_update( /* Open for writing */ fp = bt_open_memstream(&metadata_buf, &size); if (!fp) { - BT_LOGE("Metadata open_memstream: %s", strerror(errno)); + BT_COMP_LOGE("Metadata open_memstream: %s", strerror(errno)); goto error; } @@ -192,7 +195,7 @@ enum lttng_live_iterator_status lttng_live_metadata_update( } if (bt_close_memstream(&metadata_buf, &size, fp)) { - BT_LOGE("bt_close_memstream: %s", strerror(errno)); + BT_COMP_LOGE("bt_close_memstream: %s", strerror(errno)); } ret = 0; fp = NULL; @@ -208,7 +211,7 @@ enum lttng_live_iterator_status lttng_live_metadata_update( fp = bt_fmemopen(metadata_buf, len_read, "rb"); if (!fp) { - BT_LOGE("Cannot memory-open metadata buffer: %s", + BT_COMP_LOGE("Cannot memory-open metadata buffer: %s", strerror(errno)); goto error; } @@ -226,7 +229,8 @@ enum lttng_live_iterator_status lttng_live_metadata_update( metadata->decoder); trace->trace = bt_trace_create(trace->trace_class); if (!stream_classes_all_have_default_clock_class( - trace->trace_class, log_level)) { + trace->trace_class, log_level, + self_comp)) { /* Error logged in function. */ goto error; } @@ -254,7 +258,7 @@ end: closeret = fclose(fp); if (closeret) { - BT_LOGE("Error on fclose"); + BT_COMP_LOGE("Error on fclose"); } } free(metadata_buf); @@ -263,20 +267,15 @@ end: BT_HIDDEN int lttng_live_metadata_create_stream(struct lttng_live_session *session, - uint64_t ctf_trace_id, - uint64_t stream_id, + uint64_t ctf_trace_id, uint64_t stream_id, const char *trace_name) { - struct lttng_live_component *lttng_live = - session->lttng_live_msg_iter->lttng_live_comp; struct lttng_live_metadata *metadata = NULL; struct lttng_live_trace *trace; const char *match; struct ctf_metadata_decoder_config cfg = { .log_level = session->log_level, - .self_comp = - bt_self_component_source_as_self_component( - lttng_live->self_comp), + .self_comp = session->self_comp, .clock_class_offset_s = 0, .clock_class_offset_ns = 0, }; @@ -286,6 +285,7 @@ int lttng_live_metadata_create_stream(struct lttng_live_session *session, return -1; } metadata->log_level = session->log_level; + metadata->self_comp = session->self_comp; metadata->stream_id = stream_id; match = strstr(trace_name, session->session_name->str); diff --git a/src/plugins/ctf/lttng-live/viewer-connection.c b/src/plugins/ctf/lttng-live/viewer-connection.c index e81ef872..57271b2a 100644 --- a/src/plugins/ctf/lttng-live/viewer-connection.c +++ b/src/plugins/ctf/lttng-live/viewer-connection.c @@ -21,9 +21,10 @@ * SOFTWARE. */ +#define BT_COMP_LOG_SELF_COMP (viewer_connection->self_comp) #define BT_LOG_OUTPUT_LEVEL (viewer_connection->log_level) #define BT_LOG_TAG "PLUGIN/SRC.CTF.LTTNG-LIVE/VIEWER" -#include "logging/log.h" +#include "plugins/comp-logging.h" #include #include @@ -119,7 +120,7 @@ int parse_url(struct live_viewer_connection *viewer_connection) lttng_live_url_parts = bt_common_parse_lttng_live_url(path, error_buf, sizeof(error_buf)); if (!lttng_live_url_parts.proto) { - BT_LOGW("Invalid LTTng live URL format: %s", error_buf); + BT_COMP_LOGW("Invalid LTTng live URL format: %s", error_buf); goto end; } @@ -143,7 +144,7 @@ int parse_url(struct live_viewer_connection *viewer_connection) lttng_live_url_parts.session_name = NULL; } - BT_LOGI("Connecting to hostname : %s, port : %d, " + BT_COMP_LOGI("Connecting to hostname : %s, port : %d, " "target hostname : %s, session name : %s, " "proto : %s", viewer_connection->relay_hostname->str, @@ -188,7 +189,7 @@ int lttng_live_handshake(struct live_viewer_connection *viewer_connection) memcpy(cmd_buf + sizeof(cmd), &connect, sizeof(connect)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending version: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending version: %s", bt_socket_errormsg()); goto error; } @@ -196,22 +197,22 @@ int lttng_live_handshake(struct live_viewer_connection *viewer_connection) ret_len = lttng_live_recv(viewer_connection, &connect, sizeof(connect)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving version: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving version: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(connect)); - BT_LOGI("Received viewer session ID : %" PRIu64, + BT_COMP_LOGI("Received viewer session ID : %" PRIu64, (uint64_t) be64toh(connect.viewer_session_id)); - BT_LOGI("Relayd version : %u.%u", be32toh(connect.major), + BT_COMP_LOGI("Relayd version : %u.%u", be32toh(connect.major), be32toh(connect.minor)); if (LTTNG_LIVE_MAJOR != be32toh(connect.major)) { - BT_LOGE("Incompatible lttng-relayd protocol"); + BT_COMP_LOGE("Incompatible lttng-relayd protocol"); goto error; } /* Use the smallest protocol version implemented. */ @@ -225,7 +226,7 @@ int lttng_live_handshake(struct live_viewer_connection *viewer_connection) return ret; error: - BT_LOGE("Unable to establish connection"); + BT_COMP_LOGE("Unable to establish connection"); return -1; } @@ -242,13 +243,13 @@ int lttng_live_connect_viewer(struct live_viewer_connection *viewer_connection) host = gethostbyname(viewer_connection->relay_hostname->str); if (!host) { - BT_LOGE("Cannot lookup hostname %s", + BT_COMP_LOGE("Cannot lookup hostname %s", viewer_connection->relay_hostname->str); goto error; } if ((viewer_connection->control_sock = socket(AF_INET, SOCK_STREAM, 0)) == BT_INVALID_SOCKET) { - BT_LOGE("Socket creation failed: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Socket creation failed: %s", bt_socket_errormsg()); goto error; } @@ -259,7 +260,7 @@ int lttng_live_connect_viewer(struct live_viewer_connection *viewer_connection) if (connect(viewer_connection->control_sock, (struct sockaddr *) &server_addr, sizeof(struct sockaddr)) == BT_SOCKET_ERROR) { - BT_LOGE("Connection failed: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Connection failed: %s", bt_socket_errormsg()); goto error; } if (lttng_live_handshake(viewer_connection)) { @@ -273,7 +274,7 @@ int lttng_live_connect_viewer(struct live_viewer_connection *viewer_connection) error: if (viewer_connection->control_sock != BT_INVALID_SOCKET) { if (bt_socket_close(viewer_connection->control_sock) == BT_SOCKET_ERROR) { - BT_LOGE("Close: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Close: %s", bt_socket_errormsg()); } } viewer_connection->control_sock = BT_INVALID_SOCKET; @@ -288,7 +289,7 @@ void lttng_live_disconnect_viewer( return; } if (bt_socket_close(viewer_connection->control_sock) == BT_SOCKET_ERROR) { - BT_LOGE("Close: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Close: %s", bt_socket_errormsg()); viewer_connection->control_sock = BT_INVALID_SOCKET; } } @@ -317,7 +318,7 @@ int list_update_session(bt_value *results, len = bt_value_array_get_size(results); if (len < 0) { - BT_LOGE_STR("Error getting size of array."); + BT_COMP_LOGE_STR("Error getting size of array."); ret = -1; goto end; } @@ -327,19 +328,19 @@ int list_update_session(bt_value *results, map = bt_value_array_borrow_element_by_index(results, (size_t) i); if (!map) { - BT_LOGE_STR("Error borrowing map."); + BT_COMP_LOGE_STR("Error borrowing map."); ret = -1; goto end; } hostname = bt_value_map_borrow_entry_value(map, "target-hostname"); if (!hostname) { - BT_LOGE_STR("Error borrowing \"target-hostname\" entry."); + BT_COMP_LOGE_STR("Error borrowing \"target-hostname\" entry."); ret = -1; goto end; } session_name = bt_value_map_borrow_entry_value(map, "session-name"); if (!session_name) { - BT_LOGE_STR("Error borrowing \"session-name\" entry."); + BT_COMP_LOGE_STR("Error borrowing \"session-name\" entry."); ret = -1; goto end; } @@ -357,7 +358,7 @@ int list_update_session(bt_value *results, btval = bt_value_map_borrow_entry_value(map, "stream-count"); if (!btval) { - BT_LOGE_STR("Error borrowing \"stream-count\" entry."); + BT_COMP_LOGE_STR("Error borrowing \"stream-count\" entry."); ret = -1; goto end; } @@ -368,7 +369,7 @@ int list_update_session(bt_value *results, btval = bt_value_map_borrow_entry_value(map, "client-count"); if (!btval) { - BT_LOGE_STR("Error borrowing \"client-count\" entry."); + BT_COMP_LOGE_STR("Error borrowing \"client-count\" entry."); ret = -1; goto end; } @@ -410,13 +411,13 @@ int list_append_session(bt_value *results, map = bt_value_map_create(); if (!map) { - BT_LOGE_STR("Error creating map value."); + BT_COMP_LOGE_STR("Error creating map value."); ret = -1; goto end; } if (base_url->len < 1) { - BT_LOGE_STR("Error: base_url length smaller than 1."); + BT_COMP_LOGE_STR("Error: base_url length smaller than 1."); ret = -1; goto end; } @@ -432,7 +433,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_map_insert_string_entry(map, "url", url->str); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error inserting \"url\" entry."); + BT_COMP_LOGE_STR("Error inserting \"url\" entry."); ret = -1; goto end; } @@ -444,7 +445,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_map_insert_string_entry(map, "target-hostname", session->hostname); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error inserting \"target-hostname\" entry."); + BT_COMP_LOGE_STR("Error inserting \"target-hostname\" entry."); ret = -1; goto end; } @@ -456,7 +457,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_map_insert_string_entry(map, "session-name", session->session_name); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error inserting \"session-name\" entry."); + BT_COMP_LOGE_STR("Error inserting \"session-name\" entry."); ret = -1; goto end; } @@ -471,7 +472,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_map_insert_signed_integer_entry( map, "timer-us", live_timer); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error inserting \"timer-us\" entry."); + BT_COMP_LOGE_STR("Error inserting \"timer-us\" entry."); ret = -1; goto end; } @@ -487,7 +488,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_map_insert_signed_integer_entry(map, "stream-count", streams); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error inserting \"stream-count\" entry."); + BT_COMP_LOGE_STR("Error inserting \"stream-count\" entry."); ret = -1; goto end; } @@ -503,7 +504,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_map_insert_signed_integer_entry(map, "client-count", clients); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error inserting \"client-count\" entry."); + BT_COMP_LOGE_STR("Error inserting \"client-count\" entry."); ret = -1; goto end; } @@ -511,7 +512,7 @@ int list_append_session(bt_value *results, ret_status = bt_value_array_append_element(results, map); if (ret_status != BT_VALUE_STATUS_OK) { - BT_LOGE_STR("Error appending map to results."); + BT_COMP_LOGE_STR("Error appending map to results."); ret = -1; } @@ -577,7 +578,7 @@ bt_query_status live_viewer_connection_list_sessions( result = bt_value_array_create(); if (!result) { - BT_LOGE("Error creating array"); + BT_COMP_LOGE("Error creating array"); status = BT_QUERY_STATUS_NOMEM; goto error; } @@ -588,7 +589,7 @@ bt_query_status live_viewer_connection_list_sessions( ret_len = lttng_live_send(viewer_connection, &cmd, sizeof(cmd)); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending cmd: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending cmd: %s", bt_socket_errormsg()); status = BT_QUERY_STATUS_ERROR; goto error; } @@ -596,12 +597,12 @@ bt_query_status live_viewer_connection_list_sessions( ret_len = lttng_live_recv(viewer_connection, &list, sizeof(list)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); status = BT_QUERY_STATUS_ERROR; goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving session list: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving session list: %s", bt_socket_errormsg()); status = BT_QUERY_STATUS_ERROR; goto error; } @@ -614,12 +615,12 @@ bt_query_status live_viewer_connection_list_sessions( ret_len = lttng_live_recv(viewer_connection, &lsession, sizeof(lsession)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); status = BT_QUERY_STATUS_ERROR; goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving session: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving session: %s", bt_socket_errormsg()); status = BT_QUERY_STATUS_ERROR; goto error; } @@ -659,18 +660,18 @@ int lttng_live_query_session_ids(struct lttng_live_msg_iter *lttng_live_msg_iter ret_len = lttng_live_send(viewer_connection, &cmd, sizeof(cmd)); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending cmd: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending cmd: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(cmd)); ret_len = lttng_live_recv(viewer_connection, &list, sizeof(list)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving session list: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving session list: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(list)); @@ -680,11 +681,11 @@ int lttng_live_query_session_ids(struct lttng_live_msg_iter *lttng_live_msg_iter ret_len = lttng_live_recv(viewer_connection, &lsession, sizeof(lsession)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving session: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving session: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(lsession)); @@ -692,7 +693,7 @@ int lttng_live_query_session_ids(struct lttng_live_msg_iter *lttng_live_msg_iter lsession.session_name[LTTNG_VIEWER_NAME_MAX - 1] = '\0'; session_id = be64toh(lsession.id); - BT_LOGI("Adding session %" PRIu64 " hostname: %s session_name: %s", + BT_COMP_LOGI("Adding session %" PRIu64 " hostname: %s session_name: %s", session_id, lsession.hostname, lsession.session_name); if ((strncmp(lsession.session_name, @@ -711,7 +712,7 @@ int lttng_live_query_session_ids(struct lttng_live_msg_iter *lttng_live_msg_iter return 0; error: - BT_LOGE("Unable to query session ids"); + BT_COMP_LOGE("Unable to query session ids"); return -1; } @@ -731,24 +732,24 @@ int lttng_live_create_viewer_session( ret_len = lttng_live_send(viewer_connection, &cmd, sizeof(cmd)); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending cmd: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending cmd: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(cmd)); ret_len = lttng_live_recv(viewer_connection, &resp, sizeof(resp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving create session reply: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving create session reply: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(resp)); if (be32toh(resp.status) != LTTNG_VIEWER_CREATE_SESSION_OK) { - BT_LOGE("Error creating viewer session"); + BT_COMP_LOGE("Error creating viewer session"); goto error; } if (lttng_live_query_session_ids(lttng_live_msg_iter)) { @@ -772,7 +773,7 @@ int receive_streams(struct lttng_live_session *session, struct live_viewer_connection *viewer_connection = lttng_live_msg_iter->viewer_connection; - BT_LOGI("Getting %" PRIu32 " new streams:", stream_count); + BT_COMP_LOGI("Getting %" PRIu32 " new streams:", stream_count); for (i = 0; i < stream_count; i++) { struct lttng_viewer_stream stream; struct lttng_live_stream_iterator *live_stream; @@ -781,11 +782,11 @@ int receive_streams(struct lttng_live_session *session, ret_len = lttng_live_recv(viewer_connection, &stream, sizeof(stream)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving stream"); + BT_COMP_LOGE("Error receiving stream"); goto error; } BT_ASSERT(ret_len == sizeof(stream)); @@ -795,25 +796,25 @@ int receive_streams(struct lttng_live_session *session, ctf_trace_id = be64toh(stream.ctf_trace_id); if (stream.metadata_flag) { - BT_LOGI(" metadata stream %" PRIu64 " : %s/%s", + BT_COMP_LOGI(" metadata stream %" PRIu64 " : %s/%s", stream_id, stream.path_name, stream.channel_name); if (lttng_live_metadata_create_stream(session, ctf_trace_id, stream_id, stream.path_name)) { - BT_LOGE("Error creating metadata stream"); + BT_COMP_LOGE("Error creating metadata stream"); goto error; } session->lazy_stream_msg_init = true; } else { - BT_LOGI(" stream %" PRIu64 " : %s/%s", + BT_COMP_LOGI(" stream %" PRIu64 " : %s/%s", stream_id, stream.path_name, stream.channel_name); live_stream = lttng_live_stream_iterator_create(session, ctf_trace_id, stream_id); if (!live_stream) { - BT_LOGE("Error creating streamn"); + BT_COMP_LOGE("Error creating streamn"); goto error; } } @@ -858,18 +859,18 @@ int lttng_live_attach_session(struct lttng_live_session *session) memcpy(cmd_buf + sizeof(cmd), &rq, sizeof(rq)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending attach request: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending attach request: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == cmd_buf_len); ret_len = lttng_live_recv(viewer_connection, &rp, sizeof(rp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving attach response: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving attach response: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(rp)); @@ -879,19 +880,19 @@ int lttng_live_attach_session(struct lttng_live_session *session) case LTTNG_VIEWER_ATTACH_OK: break; case LTTNG_VIEWER_ATTACH_UNK: - BT_LOGW("Session id %" PRIu64 " is unknown", session_id); + BT_COMP_LOGW("Session id %" PRIu64 " is unknown", session_id); goto error; case LTTNG_VIEWER_ATTACH_ALREADY: - BT_LOGW("There is already a viewer attached to this session"); + BT_COMP_LOGW("There is already a viewer attached to this session"); goto error; case LTTNG_VIEWER_ATTACH_NOT_LIVE: - BT_LOGW("Not a live session"); + BT_COMP_LOGW("Not a live session"); goto error; case LTTNG_VIEWER_ATTACH_SEEK_ERR: - BT_LOGE("Wrong seek parameter"); + BT_COMP_LOGE("Wrong seek parameter"); goto error; default: - BT_LOGE("Unknown attach return code %u", be32toh(rp.status)); + BT_COMP_LOGE("Unknown attach return code %u", be32toh(rp.status)); goto error; } @@ -943,18 +944,18 @@ int lttng_live_detach_session(struct lttng_live_session *session) memcpy(cmd_buf + sizeof(cmd), &rq, sizeof(rq)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending detach request: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending detach request: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == cmd_buf_len); ret_len = lttng_live_recv(viewer_connection, &rp, sizeof(rp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving detach response: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving detach response: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(rp)); @@ -963,13 +964,13 @@ int lttng_live_detach_session(struct lttng_live_session *session) case LTTNG_VIEWER_DETACH_SESSION_OK: break; case LTTNG_VIEWER_DETACH_SESSION_UNK: - BT_LOGW("Session id %" PRIu64 " is unknown", session_id); + BT_COMP_LOGW("Session id %" PRIu64 " is unknown", session_id); goto error; case LTTNG_VIEWER_DETACH_SESSION_ERR: - BT_LOGW("Error detaching session id %" PRIu64 "", session_id); + BT_COMP_LOGW("Error detaching session id %" PRIu64 "", session_id); goto error; default: - BT_LOGE("Unknown detach return code %u", be32toh(rp.status)); + BT_COMP_LOGE("Unknown detach return code %u", be32toh(rp.status)); goto error; } @@ -1014,56 +1015,56 @@ ssize_t lttng_live_get_one_metadata_packet(struct lttng_live_trace *trace, memcpy(cmd_buf + sizeof(cmd), &rq, sizeof(rq)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending get_metadata request: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending get_metadata request: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == cmd_buf_len); ret_len = lttng_live_recv(viewer_connection, &rp, sizeof(rp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving get_metadata response: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving get_metadata response: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == sizeof(rp)); switch (be32toh(rp.status)) { case LTTNG_VIEWER_METADATA_OK: - BT_LOGD("get_metadata : OK"); + BT_COMP_LOGD("get_metadata : OK"); break; case LTTNG_VIEWER_NO_NEW_METADATA: - BT_LOGD("get_metadata : NO NEW"); + BT_COMP_LOGD("get_metadata : NO NEW"); ret = 0; goto end; case LTTNG_VIEWER_METADATA_ERR: - BT_LOGD("get_metadata : ERR"); + BT_COMP_LOGD("get_metadata : ERR"); goto error; default: - BT_LOGD("get_metadata : UNKNOWN"); + BT_COMP_LOGD("get_metadata : UNKNOWN"); goto error; } len = be64toh(rp.len); - BT_LOGD("Writing %" PRIu64" bytes to metadata", len); + BT_COMP_LOGD("Writing %" PRIu64" bytes to metadata", len); if (len <= 0) { goto error; } data = calloc(1, len); if (!data) { - BT_LOGE("relay data calloc: %s", strerror(errno)); + BT_COMP_LOGE("relay data calloc: %s", strerror(errno)); goto error; } ret_len = lttng_live_recv(viewer_connection, data, len); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error_free_data; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving trace packet: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving trace packet: %s", bt_socket_errormsg()); goto error_free_data; } BT_ASSERT(ret_len == len); @@ -1072,7 +1073,7 @@ ssize_t lttng_live_get_one_metadata_packet(struct lttng_live_trace *trace, ret_len = fwrite(data, 1, len, fp); } while (ret_len < 0 && errno == EINTR); if (ret_len < 0) { - BT_LOGE("Writing in the metadata fp"); + BT_COMP_LOGE("Writing in the metadata fp"); goto error_free_data; } BT_ASSERT(ret_len == len); @@ -1143,7 +1144,7 @@ enum lttng_live_iterator_status lttng_live_get_next_index( memcpy(cmd_buf + sizeof(cmd), &rq, sizeof(rq)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending get_next_index request: %s", + BT_COMP_LOGE("Error sending get_next_index request: %s", bt_socket_errormsg()); goto error; } @@ -1151,11 +1152,11 @@ enum lttng_live_iterator_status lttng_live_get_next_index( BT_ASSERT(ret_len == cmd_buf_len); ret_len = lttng_live_recv(viewer_connection, &rp, sizeof(rp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving get_next_index response: %s", + BT_COMP_LOGE("Error receiving get_next_index response: %s", bt_socket_errormsg()); goto error; } @@ -1169,7 +1170,7 @@ enum lttng_live_iterator_status lttng_live_get_next_index( { uint64_t ctf_stream_class_id; - BT_LOGD("get_next_index: inactive"); + BT_COMP_LOGD("get_next_index: inactive"); memset(index, 0, sizeof(struct packet_index)); index->ts_cycles.timestamp_end = be64toh(rp.timestamp_end); stream->current_inactivity_ts = index->ts_cycles.timestamp_end; @@ -1187,7 +1188,7 @@ enum lttng_live_iterator_status lttng_live_get_next_index( { uint64_t ctf_stream_class_id; - BT_LOGD("get_next_index: OK"); + BT_COMP_LOGD("get_next_index: OK"); lttng_index_to_packet_index(&rp, index); ctf_stream_class_id = be64toh(rp.stream_id); if (stream->ctf_stream_class_id != -1ULL) { @@ -1200,35 +1201,35 @@ enum lttng_live_iterator_status lttng_live_get_next_index( stream->state = LTTNG_LIVE_STREAM_ACTIVE_DATA; if (flags & LTTNG_VIEWER_FLAG_NEW_METADATA) { - BT_LOGD("get_next_index: new metadata needed"); + BT_COMP_LOGD("get_next_index: new metadata needed"); trace->new_metadata_needed = true; } if (flags & LTTNG_VIEWER_FLAG_NEW_STREAM) { - BT_LOGD("get_next_index: new streams needed"); + BT_COMP_LOGD("get_next_index: new streams needed"); lttng_live_need_new_streams(lttng_live_msg_iter); } break; } case LTTNG_VIEWER_INDEX_RETRY: - BT_LOGD("get_next_index: retry"); + BT_COMP_LOGD("get_next_index: retry"); memset(index, 0, sizeof(struct packet_index)); retstatus = LTTNG_LIVE_ITERATOR_STATUS_AGAIN; stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA; goto end; case LTTNG_VIEWER_INDEX_HUP: - BT_LOGD("get_next_index: stream hung up"); + BT_COMP_LOGD("get_next_index: stream hung up"); memset(index, 0, sizeof(struct packet_index)); index->offset = EOF; retstatus = LTTNG_LIVE_ITERATOR_STATUS_END; stream->state = LTTNG_LIVE_STREAM_EOF; break; case LTTNG_VIEWER_INDEX_ERR: - BT_LOGE("get_next_index: error"); + BT_COMP_LOGE("get_next_index: error"); memset(index, 0, sizeof(struct packet_index)); stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA; goto error; default: - BT_LOGE("get_next_index: unknown value"); + BT_COMP_LOGE("get_next_index: unknown value"); memset(index, 0, sizeof(struct packet_index)); stream->state = LTTNG_LIVE_STREAM_ACTIVE_NO_DATA; goto error; @@ -1265,7 +1266,7 @@ enum bt_msg_iter_medium_status lttng_live_get_stream_bytes( struct lttng_live_component *lttng_live = lttng_live_msg_iter->lttng_live_comp; - BT_LOGD("lttng_live_get_stream_bytes: offset=%" PRIu64 ", req_len=%" PRIu64, + BT_COMP_LOGD("lttng_live_get_stream_bytes: offset=%" PRIu64 ", req_len=%" PRIu64, offset, req_len); cmd.cmd = htobe32(LTTNG_VIEWER_GET_PACKET); cmd.data_size = htobe64((uint64_t) sizeof(rq)); @@ -1285,22 +1286,22 @@ enum bt_msg_iter_medium_status lttng_live_get_stream_bytes( memcpy(cmd_buf + sizeof(cmd), &rq, sizeof(rq)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending get_data request: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error sending get_data request: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == cmd_buf_len); ret_len = lttng_live_recv(viewer_connection, &rp, sizeof(rp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving get_data response: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving get_data response: %s", bt_socket_errormsg()); goto error; } if (ret_len != sizeof(rp)) { - BT_LOGE("get_data_packet: expected %zu" + BT_COMP_LOGE("get_data_packet: expected %zu" ", received %zd", sizeof(rp), ret_len); goto error; @@ -1312,20 +1313,20 @@ enum bt_msg_iter_medium_status lttng_live_get_stream_bytes( switch (status) { case LTTNG_VIEWER_GET_PACKET_OK: req_len = be32toh(rp.len); - BT_LOGD("get_data_packet: Ok, packet size : %" PRIu64 "", req_len); + BT_COMP_LOGD("get_data_packet: Ok, packet size : %" PRIu64 "", req_len); break; case LTTNG_VIEWER_GET_PACKET_RETRY: /* Unimplemented by relay daemon */ - BT_LOGD("get_data_packet: retry"); + BT_COMP_LOGD("get_data_packet: retry"); retstatus = BT_MSG_ITER_MEDIUM_STATUS_AGAIN; goto end; case LTTNG_VIEWER_GET_PACKET_ERR: if (flags & LTTNG_VIEWER_FLAG_NEW_METADATA) { - BT_LOGD("get_data_packet: new metadata needed, try again later"); + BT_COMP_LOGD("get_data_packet: new metadata needed, try again later"); trace->new_metadata_needed = true; } if (flags & LTTNG_VIEWER_FLAG_NEW_STREAM) { - BT_LOGD("get_data_packet: new streams needed, try again later"); + BT_COMP_LOGD("get_data_packet: new streams needed, try again later"); lttng_live_need_new_streams(lttng_live_msg_iter); } if (flags & (LTTNG_VIEWER_FLAG_NEW_METADATA @@ -1333,13 +1334,13 @@ enum bt_msg_iter_medium_status lttng_live_get_stream_bytes( retstatus = BT_MSG_ITER_MEDIUM_STATUS_AGAIN; goto end; } - BT_LOGE("get_data_packet: error"); + BT_COMP_LOGE("get_data_packet: error"); goto error; case LTTNG_VIEWER_GET_PACKET_EOF: retstatus = BT_MSG_ITER_MEDIUM_STATUS_EOF; goto end; default: - BT_LOGE("get_data_packet: unknown"); + BT_COMP_LOGE("get_data_packet: unknown"); goto error; } @@ -1349,11 +1350,11 @@ enum bt_msg_iter_medium_status lttng_live_get_stream_bytes( ret_len = lttng_live_recv(viewer_connection, buf, req_len); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving trace packet: %s", bt_socket_errormsg()); + BT_COMP_LOGE("Error receiving trace packet: %s", bt_socket_errormsg()); goto error; } BT_ASSERT(ret_len == req_len); @@ -1413,7 +1414,7 @@ enum lttng_live_iterator_status lttng_live_get_new_streams( memcpy(cmd_buf + sizeof(cmd), &rq, sizeof(rq)); ret_len = lttng_live_send(viewer_connection, &cmd_buf, cmd_buf_len); if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error sending get_new_streams request: %s", + BT_COMP_LOGE("Error sending get_new_streams request: %s", bt_socket_errormsg()); goto error; } @@ -1421,11 +1422,11 @@ enum lttng_live_iterator_status lttng_live_get_new_streams( BT_ASSERT(ret_len == cmd_buf_len); ret_len = lttng_live_recv(viewer_connection, &rp, sizeof(rp)); if (ret_len == 0) { - BT_LOGI("Remote side has closed connection"); + BT_COMP_LOGI("Remote side has closed connection"); goto error; } if (ret_len == BT_SOCKET_ERROR) { - BT_LOGE("Error receiving get_new_streams response"); + BT_COMP_LOGE("Error receiving get_new_streams response"); goto error; } BT_ASSERT(ret_len == sizeof(rp)); @@ -1445,10 +1446,10 @@ enum lttng_live_iterator_status lttng_live_get_new_streams( status = LTTNG_LIVE_ITERATOR_STATUS_END; goto end; case LTTNG_VIEWER_NEW_STREAMS_ERR: - BT_LOGE("get_new_streams error"); + BT_COMP_LOGE("get_new_streams error"); goto error; default: - BT_LOGE("Unknown return code %u", be32toh(rp.status)); + BT_COMP_LOGE("Unknown return code %u", be32toh(rp.status)); goto error; } @@ -1481,6 +1482,7 @@ struct live_viewer_connection *live_viewer_connection_create( } viewer_connection->log_level = lttng_live_msg_iter->log_level; + viewer_connection->self_comp = lttng_live_msg_iter->self_comp; bt_object_init_shared(&viewer_connection->obj, connection_release); viewer_connection->control_sock = BT_INVALID_SOCKET; viewer_connection->port = -1; @@ -1491,15 +1493,15 @@ struct live_viewer_connection *live_viewer_connection_create( goto error; } - BT_LOGI("Establishing connection to url \"%s\"...", url); + BT_COMP_LOGI("Establishing connection to url \"%s\"...", url); if (lttng_live_connect_viewer(viewer_connection)) { goto error_report; } - BT_LOGI("Connection to url \"%s\" is established", url); + BT_COMP_LOGI("Connection to url \"%s\" is established", url); return viewer_connection; error_report: - BT_LOGW("Failure to establish connection to url \"%s\"", url); + BT_COMP_LOGW("Failure to establish connection to url \"%s\"", url); error: g_free(viewer_connection); return NULL; @@ -1509,7 +1511,7 @@ BT_HIDDEN void live_viewer_connection_destroy( struct live_viewer_connection *viewer_connection) { - BT_LOGI("Closing connection to url \"%s\"", viewer_connection->url->str); + BT_COMP_LOGI("Closing connection to url \"%s\"", viewer_connection->url->str); lttng_live_disconnect_viewer(viewer_connection); g_string_free(viewer_connection->url, true); if (viewer_connection->relay_hostname) { diff --git a/src/plugins/ctf/lttng-live/viewer-connection.h b/src/plugins/ctf/lttng-live/viewer-connection.h index be6dc5a1..8d2aef6e 100644 --- a/src/plugins/ctf/lttng-live/viewer-connection.h +++ b/src/plugins/ctf/lttng-live/viewer-connection.h @@ -46,6 +46,7 @@ struct lttng_live_component; struct live_viewer_connection { bt_logging_level log_level; + bt_self_component *self_comp; bt_object obj; GString *url; -- 2.34.1