X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fplugins%2Fctf%2Flttng-live%2Flttng-live.c;h=62dc28f0d8b4ebfe28e06a585362c1271d6ad2c8;hb=3c729b9af1b926f739be5bbba4ec20a296746023;hp=9ec7f5d056199c516a33f43c38d2a45f41db15ea;hpb=188edac1113dbbb29030681dbde2de0ada742499;p=babeltrace.git diff --git a/src/plugins/ctf/lttng-live/lttng-live.c b/src/plugins/ctf/lttng-live/lttng-live.c index 9ec7f5d0..62dc28f0 100644 --- a/src/plugins/ctf/lttng-live/lttng-live.c +++ b/src/plugins/ctf/lttng-live/lttng-live.c @@ -31,7 +31,7 @@ #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 "plugins/comp-logging.h" +#include "logging/comp-logging.h" #include #include @@ -109,18 +109,17 @@ const char *print_state(struct lttng_live_stream_iterator *s) } while (0); BT_HIDDEN -bool lttng_live_graph_is_canceled(struct lttng_live_component *lttng_live) +bool lttng_live_graph_is_canceled(struct lttng_live_msg_iter *msg_iter) { - const bt_component *component; bool ret; - if (!lttng_live) { + if (!msg_iter) { ret = false; goto end; } - component = bt_self_component_as_component(lttng_live->self_comp); - ret = bt_component_graph_is_canceled(component); + ret = bt_self_message_iterator_is_interrupted( + msg_iter->self_msg_iter); end: return ret; @@ -259,7 +258,6 @@ end: static 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; @@ -272,9 +270,9 @@ void lttng_live_destroy_session(struct lttng_live_session *session) 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)) { + !lttng_live_graph_is_canceled( + session->lttng_live_msg_iter)) { /* Old relayd cannot detach sessions. */ BT_COMP_LOGD("Unable to detach lttng live session %" PRIu64, session->id); @@ -442,7 +440,7 @@ enum lttng_live_iterator_status lttng_live_get_session( ret = lttng_live_attach_session(session); if (ret) { if (lttng_live_msg_iter && lttng_live_graph_is_canceled( - lttng_live_msg_iter->lttng_live_comp)) { + lttng_live_msg_iter)) { status = LTTNG_LIVE_ITERATOR_STATUS_AGAIN; } else { status = LTTNG_LIVE_ITERATOR_STATUS_ERROR; @@ -868,7 +866,7 @@ retry: live_status = lttng_live_iterator_next_handle_one_quiescent_stream( lttng_live_msg_iter, stream_iter, curr_msg); if (live_status != LTTNG_LIVE_ITERATOR_STATUS_OK) { - BT_ASSERT(*curr_msg == NULL); + BT_ASSERT(!*curr_msg); goto end; } if (*curr_msg) { @@ -877,7 +875,7 @@ retry: live_status = lttng_live_iterator_next_handle_one_active_data_stream( lttng_live_msg_iter, stream_iter, curr_msg); if (live_status != LTTNG_LIVE_ITERATOR_STATUS_OK) { - BT_ASSERT(*curr_msg == NULL); + BT_ASSERT(!*curr_msg); } end: @@ -1401,15 +1399,15 @@ bt_component_class_query_method_status lttng_live_query_list_sessions( url_value = bt_value_map_borrow_entry_value_const(params, URL_PARAM); if (!url_value) { - BT_COMP_LOGW("Mandatory `%s` parameter missing", URL_PARAM); - status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_INVALID_PARAMS; + BT_COMP_LOGE("Mandatory `%s` parameter missing", URL_PARAM); + status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_ERROR; goto error; } if (!bt_value_is_string(url_value)) { - BT_COMP_LOGW("`%s` parameter is required to be a string value", + BT_COMP_LOGE("`%s` parameter is required to be a string value", URL_PARAM); - status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_INVALID_PARAMS; + status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_ERROR; goto error; } @@ -1445,20 +1443,23 @@ end: BT_HIDDEN bt_component_class_query_method_status lttng_live_query( bt_self_component_class_source *comp_class, - const bt_query_executor *query_exec, + bt_private_query_executor *priv_query_exec, const char *object, const bt_value *params, - bt_logging_level log_level, const bt_value **result) + const bt_value **result) { bt_component_class_query_method_status status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_OK; bt_self_component *self_comp = NULL; + bt_logging_level log_level = bt_query_executor_get_logging_level( + bt_private_query_executor_as_query_executor_const( + priv_query_exec)); if (strcmp(object, "sessions") == 0) { status = lttng_live_query_list_sessions(params, result, log_level); } else { - BT_COMP_LOGW("Unknown query object `%s`", object); - status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_INVALID_OBJECT; + BT_COMP_LOGI("Unknown query object `%s`", object); + status = BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_UNKNOWN_OBJECT; goto end; } @@ -1589,11 +1590,6 @@ bt_component_class_init_method_status lttng_live_component_init( goto error; } - if (lttng_live_graph_is_canceled(lttng_live)) { - ret = BT_COMPONENT_CLASS_INIT_METHOD_STATUS_ERROR; - goto error; - } - add_port_status = bt_self_component_source_add_output_port( self_comp_src, "out", NULL, NULL); switch (add_port_status) {