X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrigger-error-query.c;h=8c39e1b0655326bf83b587877c47fa17bf7f4d82;hp=9c6ff36dea855defd11ba22e1ddf0e9e318efab8;hb=HEAD;hpb=a0377dfefe40662ba7d68617bce6ff467114136c diff --git a/src/bin/lttng-sessiond/trigger-error-query.c b/src/bin/lttng-sessiond/trigger-error-query.c deleted file mode 100644 index 9c6ff36de..000000000 --- a/src/bin/lttng-sessiond/trigger-error-query.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2021 Jérémie Galarneau - * - * SPDX-License-Identifier: GPL-2.0-only - * - */ - -#include "event-notifier-error-accounting.h" -#include -#include -#include - -LTTNG_HIDDEN -enum lttng_trigger_status lttng_trigger_add_error_results( - const struct lttng_trigger *trigger, - struct lttng_error_query_results *results) -{ - return LTTNG_TRIGGER_STATUS_OK; -} - -LTTNG_HIDDEN -enum lttng_trigger_status lttng_trigger_condition_add_error_results( - const struct lttng_trigger *trigger, - struct lttng_error_query_results *results) -{ - enum lttng_trigger_status status; - uint64_t discarded_tracer_messages_count; - enum event_notifier_error_accounting_status error_accounting_status; - struct lttng_error_query_result *discarded_tracer_messages_counter = NULL; - const char *trigger_name; - uid_t trigger_owner; - - status = lttng_trigger_get_name(trigger, &trigger_name); - trigger_name = status == LTTNG_TRIGGER_STATUS_OK ? - trigger_name : "(anonymous)"; - status = lttng_trigger_get_owner_uid(trigger, - &trigger_owner); - LTTNG_ASSERT(status == LTTNG_TRIGGER_STATUS_OK); - - /* - * Only add discarded tracer messages count for applicable conditions. - * As of 2.13, only "event rule matches" conditions can generate - * reportable errors hence why this function is very specific to this - * condition type. - */ - if (!lttng_trigger_needs_tracer_notifier(trigger)) { - status = LTTNG_TRIGGER_STATUS_OK; - goto end; - } - - error_accounting_status = event_notifier_error_accounting_get_count( - trigger, &discarded_tracer_messages_count); - if (error_accounting_status != EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK) { - ERR("Failed to retrieve tracer discarded messages count for trigger: trigger name = '%s', trigger owner uid = %d", - trigger_name, (int) trigger_owner); - status = LTTNG_TRIGGER_STATUS_ERROR; - goto end; - } - - discarded_tracer_messages_counter = lttng_error_query_result_counter_create( - "discarded tracer messages", - "Count of messages discarded by the tracer due to a communication error with the session daemon", - discarded_tracer_messages_count); - if (!discarded_tracer_messages_counter) { - status = LTTNG_TRIGGER_STATUS_ERROR; - goto end; - } - - if (lttng_error_query_results_add_result( - results, discarded_tracer_messages_counter)) { - status = LTTNG_TRIGGER_STATUS_ERROR; - goto end; - } - - /* Ownership transferred to the results. */ - discarded_tracer_messages_counter = NULL; - - status = LTTNG_TRIGGER_STATUS_OK; -end: - lttng_error_query_result_destroy(discarded_tracer_messages_counter); - return status; -} - -LTTNG_HIDDEN -enum lttng_trigger_status lttng_trigger_add_action_error_query_results( - struct lttng_trigger *trigger, - struct lttng_error_query_results *results) -{ - enum lttng_trigger_status status; - const char *trigger_name; - uid_t trigger_owner; - enum lttng_action_status action_status; - - status = lttng_trigger_get_name(trigger, &trigger_name); - trigger_name = status == LTTNG_TRIGGER_STATUS_OK ? - trigger_name : "(anonymous)"; - status = lttng_trigger_get_owner_uid(trigger, - &trigger_owner); - LTTNG_ASSERT(status == LTTNG_TRIGGER_STATUS_OK); - - action_status = lttng_action_add_error_query_results( - lttng_trigger_get_action(trigger), results); - switch (action_status) { - case LTTNG_ACTION_STATUS_OK: - break; - default: - status = LTTNG_TRIGGER_STATUS_ERROR; - goto end; - } - - status = LTTNG_TRIGGER_STATUS_OK; -end: - return status; -}