Clean-up: sessiond: return an lttng_error_code from list_triggers
[lttng-tools.git] / src / bin / lttng-sessiond / trigger-error-query.c
index ff8c9ca05b9ef08a7a8fca2581f82f66f3b4ff09..ac076b21ee771f74d267c43ffad95cb2090971d3 100644 (file)
@@ -14,6 +14,14 @@ 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;
@@ -24,11 +32,22 @@ enum lttng_trigger_status lttng_trigger_add_error_results(
 
        status = lttng_trigger_get_name(trigger, &trigger_name);
        trigger_name = status == LTTNG_TRIGGER_STATUS_OK ?
-                       trigger_name : "(unnamed)";
+                       trigger_name : "(anonymous)";
        status = lttng_trigger_get_owner_uid(trigger,
                        &trigger_owner);
        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) {
@@ -74,7 +93,7 @@ enum lttng_trigger_status lttng_trigger_add_action_error_query_results(
 
        status = lttng_trigger_get_name(trigger, &trigger_name);
        trigger_name = status == LTTNG_TRIGGER_STATUS_OK ?
-                       trigger_name : "(unnamed)";
+                       trigger_name : "(anonymous)";
        status = lttng_trigger_get_owner_uid(trigger,
                        &trigger_owner);
        assert(status == LTTNG_TRIGGER_STATUS_OK);
This page took 0.023722 seconds and 4 git commands to generate.