SoW-2020-0002: Trace Hit Counters: trigger error reporting integration
[lttng-tools.git] / src / bin / lttng-sessiond / trigger-error-accounting.h
CommitLineData
2463b787
JR
1/*
2 * Copyright (C) 2020 Francis Deslauriers <francis.deslauriers@efficios.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 */
7
8#ifndef _TRIGGER_ERROR_ACCOUNTING_H
9#define _TRIGGER_ERROR_ACCOUNTING_H
10
11#include <stdint.h>
12
13#include "ust-app.h"
14
15enum trigger_error_accounting_status {
16 TRIGGER_ERROR_ACCOUNTING_STATUS_OK,
17 TRIGGER_ERROR_ACCOUNTING_STATUS_ERR,
18 TRIGGER_ERROR_ACCOUNTING_STATUS_NOT_FOUND,
19 TRIGGER_ERROR_ACCOUNTING_STATUS_NOMEM,
20 TRIGGER_ERROR_ACCOUNTING_STATUS_NO_INDEX_AVAILABLE,
21 TRIGGER_ERROR_ACCOUNTING_STATUS_APP_DEAD,
22};
23
24void trigger_error_accounting_init(uint64_t nb_bucket);
25
26#ifdef HAVE_LIBLTTNG_UST_CTL
27enum trigger_error_accounting_status trigger_error_accounting_register_app(
28 struct ust_app *app);
29#else /* HAVE_LIBLTTNG_UST_CTL */
30static inline
31enum trigger_error_accounting_status trigger_error_accounting_register_app(
32 struct ust_app *app)
33{
34 return TRIGGER_ERROR_ACCOUNTING_STATUS_OK;
35}
36#endif /* HAVE_LIBLTTNG_UST_CTL */
37
38void trigger_error_accounting_register_kernel(int kernel_fd);
39
40enum trigger_error_accounting_status trigger_error_accounting_register_trigger(
41 const struct lttng_trigger *trigger,
42 uint64_t *error_counter_index);
43
44enum trigger_error_accounting_status trigger_error_accounting_get_count(
45 const struct lttng_trigger *trigger, uint64_t *count);
46
47void trigger_error_accounting_unregister_trigger(
48 const struct lttng_trigger *trigger);
49
50void trigger_error_accounting_fini(void);
51
52#endif /* _TRIGGER_ERROR_ACCOUNTING_H */
This page took 0.025563 seconds and 5 git commands to generate.