From: Jonathan Rajotte Date: Thu, 24 Sep 2020 19:14:47 +0000 (-0400) Subject: action-executor: add trigger name to debugging output X-Git-Tag: v2.13.0-rc1~428 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=34f87583034e1aa9d65ce5d35b09bd5e8cfba875;p=lttng-tools.git action-executor: add trigger name to debugging output Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau Change-Id: I73f8fda4b7fee331700988ea73471e3cb1516ed6 --- diff --git a/src/bin/lttng-sessiond/action-executor.c b/src/bin/lttng-sessiond/action-executor.c index f982b7065..4f027fdb9 100644 --- a/src/bin/lttng-sessiond/action-executor.c +++ b/src/bin/lttng-sessiond/action-executor.c @@ -137,6 +137,17 @@ static bool is_trigger_allowed_for_session(const struct lttng_trigger *trigger, return is_allowed; } +static const char *get_trigger_name(const struct lttng_trigger *trigger) +{ + const char *trigger_name; + enum lttng_trigger_status trigger_status; + + trigger_status = lttng_trigger_get_name(trigger, &trigger_name); + assert(trigger_status == LTTNG_TRIGGER_STATUS_OK); + + return trigger_name; +} + static int client_handle_transmission_status( struct notification_client *client, enum client_transmission_status status, @@ -213,9 +224,9 @@ static int action_executor_start_session_handler(struct action_executor *executo session_lock_list(); session = session_find_by_name(session_name); if (!session) { - DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%p`", + DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%s`", session_name, get_action_name(action), - work_item->trigger); + get_trigger_name(work_item->trigger)); goto error_unlock_list; } @@ -227,16 +238,16 @@ static int action_executor_start_session_handler(struct action_executor *executo cmd_ret = cmd_start_trace(session); switch (cmd_ret) { case LTTNG_OK: - DBG("Successfully started session `%s` on behalf of trigger `%p`", - session_name, work_item->trigger); + DBG("Successfully started session `%s` on behalf of trigger `%s`", + session_name, get_trigger_name(work_item->trigger)); break; case LTTNG_ERR_TRACE_ALREADY_STARTED: - DBG("Attempted to start session `%s` on behalf of trigger `%p` but it was already started", - session_name, work_item->trigger); + DBG("Attempted to start session `%s` on behalf of trigger `%s` but it was already started", + session_name, get_trigger_name(work_item->trigger)); break; default: - WARN("Failed to start session `%s` on behalf of trigger `%p`: %s", - session_name, work_item->trigger, + WARN("Failed to start session `%s` on behalf of trigger `%s`: %s", + session_name, get_trigger_name(work_item->trigger), lttng_strerror(-cmd_ret)); break; } @@ -272,9 +283,9 @@ static int action_executor_stop_session_handler(struct action_executor *executor session_lock_list(); session = session_find_by_name(session_name); if (!session) { - DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%p`", + DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%s`", session_name, get_action_name(action), - work_item->trigger); + get_trigger_name(work_item->trigger)); goto error_unlock_list; } @@ -286,16 +297,16 @@ static int action_executor_stop_session_handler(struct action_executor *executor cmd_ret = cmd_stop_trace(session); switch (cmd_ret) { case LTTNG_OK: - DBG("Successfully stopped session `%s` on behalf of trigger `%p`", - session_name, work_item->trigger); + DBG("Successfully stopped session `%s` on behalf of trigger `%s`", + session_name, get_trigger_name(work_item->trigger)); break; case LTTNG_ERR_TRACE_ALREADY_STOPPED: - DBG("Attempted to stop session `%s` on behalf of trigger `%p` but it was already stopped", - session_name, work_item->trigger); + DBG("Attempted to stop session `%s` on behalf of trigger `%s` but it was already stopped", + session_name, get_trigger_name(work_item->trigger)); break; default: - WARN("Failed to stop session `%s` on behalf of trigger `%p`: %s", - session_name, work_item->trigger, + WARN("Failed to stop session `%s` on behalf of trigger `%s`: %s", + session_name, get_trigger_name(work_item->trigger), lttng_strerror(-cmd_ret)); break; } @@ -331,9 +342,9 @@ static int action_executor_rotate_session_handler(struct action_executor *execut session_lock_list(); session = session_find_by_name(session_name); if (!session) { - DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%p`", + DBG("Failed to find session `%s` by name while executing `%s` action of trigger `%s`", session_name, get_action_name(action), - work_item->trigger); + get_trigger_name(work_item->trigger)); goto error_unlock_list; } @@ -346,21 +357,21 @@ static int action_executor_rotate_session_handler(struct action_executor *execut LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED); switch (cmd_ret) { case LTTNG_OK: - DBG("Successfully started rotation of session `%s` on behalf of trigger `%p`", - session_name, work_item->trigger); + DBG("Successfully started rotation of session `%s` on behalf of trigger `%s`", + session_name, get_trigger_name(work_item->trigger)); break; case LTTNG_ERR_ROTATION_PENDING: - DBG("Attempted to start a rotation of session `%s` on behalf of trigger `%p` but a rotation is already ongoing", - session_name, work_item->trigger); + DBG("Attempted to start a rotation of session `%s` on behalf of trigger `%s` but a rotation is already ongoing", + session_name, get_trigger_name(work_item->trigger)); break; case LTTNG_ERR_ROTATION_MULTIPLE_AFTER_STOP: case LTTNG_ERR_ROTATION_AFTER_STOP_CLEAR: - DBG("Attempted to start a rotation of session `%s` on behalf of trigger `%p` but a rotation has already been completed since the last stop or clear", - session_name, work_item->trigger); + DBG("Attempted to start a rotation of session `%s` on behalf of trigger `%s` but a rotation has already been completed since the last stop or clear", + session_name, get_trigger_name(work_item->trigger)); break; default: - WARN("Failed to start a rotation of session `%s` on behalf of trigger `%p`: %s", - session_name, work_item->trigger, + WARN("Failed to start a rotation of session `%s` on behalf of trigger `%s`: %s", + session_name, get_trigger_name(work_item->trigger), lttng_strerror(-cmd_ret)); break; } @@ -426,12 +437,12 @@ static int action_executor_snapshot_session_handler(struct action_executor *exec cmd_ret = cmd_snapshot_record(session, snapshot_output, 0); switch (cmd_ret) { case LTTNG_OK: - DBG("Successfully recorded snapshot of session `%s` on behalf of trigger `%p`", - session_name, work_item->trigger); + DBG("Successfully recorded snapshot of session `%s` on behalf of trigger `%s`", + session_name, get_trigger_name(work_item->trigger)); break; default: - WARN("Failed to record snapshot of session `%s` on behalf of trigger `%p`: %s", - session_name, work_item->trigger, + WARN("Failed to record snapshot of session `%s` on behalf of trigger `%s`: %s", + session_name, get_trigger_name(work_item->trigger), lttng_strerror(-cmd_ret)); break; } @@ -470,8 +481,8 @@ static int action_executor_group_handler(struct action_executor *executor, ret = action_executor_generic_handler( executor, work_item, action); if (ret) { - ERR("Stopping the execution of the action group of trigger `%p` following a fatal error", - work_item->trigger); + ERR("Stopping the execution of the action group of trigger `%s` following a fatal error", + get_trigger_name(work_item->trigger)); goto end; } } @@ -489,7 +500,7 @@ static int action_executor_generic_handler(struct action_executor *executor, DBG("Executing action `%s` of trigger `%p` action work item %" PRIu64, get_action_name(action), - work_item->trigger, + get_trigger_name(work_item->trigger), work_item->id); return action_executors[action_type]( @@ -503,11 +514,11 @@ static int action_work_item_execute(struct action_executor *executor, const struct lttng_action *action = lttng_trigger_get_const_action(work_item->trigger); - DBG("Starting execution of action work item %" PRIu64 " of trigger `%p`", - work_item->id, work_item->trigger); + DBG("Starting execution of action work item %" PRIu64 " of trigger `%s`", + work_item->id, get_trigger_name(work_item->trigger)); ret = action_executor_generic_handler(executor, work_item, action); - DBG("Completed execution of action work item %" PRIu64 " of trigger `%p`", - work_item->id, work_item->trigger); + DBG("Completed execution of action work item %" PRIu64 " of trigger `%s`", + work_item->id, get_trigger_name(work_item->trigger)); return ret; } @@ -642,8 +653,8 @@ void action_executor_destroy(struct action_executor *executor) cds_list_for_each_entry_safe ( work_item, tmp, &executor->work.list, list_node) { WARN("Discarding action work item %" PRIu64 - " associated to trigger `%p`", - work_item->id, work_item->trigger); + " associated to trigger `%s`", + work_item->id, get_trigger_name(work_item->trigger)); cds_list_del(&work_item->list_node); action_work_item_destroy(work_item); } @@ -668,8 +679,8 @@ enum action_executor_status action_executor_enqueue( /* Check for queue overflow. */ if (executor->work.pending_count >= MAX_QUEUED_WORK_COUNT) { /* Most likely spammy, remove if it is the case. */ - DBG("Refusing to enqueue action for trigger `%p` as work item %" PRIu64 - " (overflow)", trigger, work_item_id); + DBG("Refusing to enqueue action for trigger `%s` as work item %" PRIu64 + " (overflow)", get_trigger_name(trigger), work_item_id); executor_status = ACTION_EXECUTOR_STATUS_OVERFLOW; goto error_unlock; } @@ -677,7 +688,7 @@ enum action_executor_status action_executor_enqueue( work_item = zmalloc(sizeof(*work_item)); if (!work_item) { PERROR("Failed to allocate action executor work item on behalf of trigger `%p`", - trigger); + get_trigger_name(trigger)); executor_status = ACTION_EXECUTOR_STATUS_ERROR; goto error_unlock; } @@ -708,7 +719,7 @@ enum action_executor_status action_executor_enqueue( cds_list_add_tail(&work_item->list_node, &executor->work.list); executor->work.pending_count++; DBG("Enqueued action for trigger `%p` as work item %" PRIu64, - trigger, work_item_id); + get_trigger_name(trigger), work_item_id); signal = true; error_unlock: