X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrigger-error-query.c;h=ac076b21ee771f74d267c43ffad95cb2090971d3;hb=63dd3d7b5b0979c4b11a6bb8d0e4155120482977;hp=ff8c9ca05b9ef08a7a8fca2581f82f66f3b4ff09;hpb=a644d2a417fa064335d05ce70daaa094eea3bc18;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/trigger-error-query.c b/src/bin/lttng-sessiond/trigger-error-query.c index ff8c9ca05..ac076b21e 100644 --- a/src/bin/lttng-sessiond/trigger-error-query.c +++ b/src/bin/lttng-sessiond/trigger-error-query.c @@ -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);