X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fevent-notifier-error-accounting.h;h=440b9d0919271e288a448dfb533892947201055e;hb=4878de5c7deb512bbdac4fdfc498907efa06fb7c;hp=889efffa3c3316d1619b14380540f0a3d824e243;hpb=533a90fb2d8d6892b86261951658cab6150a8ed6;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/event-notifier-error-accounting.h b/src/bin/lttng-sessiond/event-notifier-error-accounting.h index 889efffa3..440b9d091 100644 --- a/src/bin/lttng-sessiond/event-notifier-error-accounting.h +++ b/src/bin/lttng-sessiond/event-notifier-error-accounting.h @@ -21,37 +21,64 @@ enum event_notifier_error_accounting_status { EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_NOMEM, EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_NO_INDEX_AVAILABLE, EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_APP_DEAD, + EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_UNSUPPORTED, }; +/* + * Initialize the event notifier error accounting system. + * `buffer_size_kernel` and `buffer_size_ust` represent the number of buckets + * to be allocated for each domain. + */ enum event_notifier_error_accounting_status -event_notifier_error_accounting_init(uint64_t nb_bucket); +event_notifier_error_accounting_init(uint64_t buffer_size_kernel, + uint64_t buffer_size_ust); +/* + * Register the kernel event notifier group. + * This allocates the counter object on the kernel side. + */ enum event_notifier_error_accounting_status event_notifier_error_accounting_register_kernel( int kernel_event_notifier_group_fd); #ifdef HAVE_LIBLTTNG_UST_CTL + +/* + * Register a UST application. + * + * This reuses (or creates) the counter object of the app UID. + */ enum event_notifier_error_accounting_status event_notifier_error_accounting_register_app(struct ust_app *app); +/* + * Unregister a UST application. + */ enum event_notifier_error_accounting_status event_notifier_error_accounting_unregister_app(struct ust_app *app); + #else /* HAVE_LIBLTTNG_UST_CTL */ + static inline enum event_notifier_error_accounting_status -event_notifier_error_accounting_register_app(struct ust_app *app) +event_notifier_error_accounting_register_app( + struct ust_app *app __attribute__((unused))) { return EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK; } static inline enum event_notifier_error_accounting_status -event_notifier_error_accounting_unregister_app(struct ust_app *app) +event_notifier_error_accounting_unregister_app( + struct ust_app *app __attribute__((unused))) { return EVENT_NOTIFIER_ERROR_ACCOUNTING_STATUS_OK; } #endif /* HAVE_LIBLTTNG_UST_CTL */ +/* + * Allocates, reserves and returns the error counter index for that trigger. + */ enum event_notifier_error_accounting_status event_notifier_error_accounting_register_event_notifier( const struct lttng_trigger *trigger,