diff options
author | David Goulet <dgoulet@torproject.org> | 2021-04-15 12:46:23 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2021-05-12 11:58:25 -0400 |
commit | bdde4579c2fcb43cf5a32d617b3a5fe72314adf8 (patch) | |
tree | c74057bf3bc85adcafdbde2cdc6dc1cc10fac63b | |
parent | 0cf25fd3a5c0f8d99984bcfa685dd1ca577953e2 (diff) | |
download | tor-bdde4579c2fcb43cf5a32d617b3a5fe72314adf8.tar.gz tor-bdde4579c2fcb43cf5a32d617b3a5fe72314adf8.zip |
relay: Code and objects to initialize metrics store
Signed-off-by: David Goulet <dgoulet@torproject.org>
-rw-r--r-- | src/feature/relay/relay_metrics.c | 7 | ||||
-rw-r--r-- | src/feature/relay/relay_metrics.h | 24 |
2 files changed, 31 insertions, 0 deletions
diff --git a/src/feature/relay/relay_metrics.c b/src/feature/relay/relay_metrics.c index 3364861592..3d392847e1 100644 --- a/src/feature/relay/relay_metrics.c +++ b/src/feature/relay/relay_metrics.c @@ -17,6 +17,13 @@ #include "feature/relay/relay_metrics.h" +/** The base metrics that is a static array of metrics added to the metrics + * store. + * + * The key member MUST be also the index of the entry in the array. */ +static const relay_metrics_entry_t base_metrics[] = {}; +static const size_t num_base_metrics = ARRAY_LENGTH(base_metrics); + /** The only and single store of all the relay metrics. */ static metrics_store_t *the_store; diff --git a/src/feature/relay/relay_metrics.h b/src/feature/relay/relay_metrics.h index 3a13eb2042..7bc4760916 100644 --- a/src/feature/relay/relay_metrics.h +++ b/src/feature/relay/relay_metrics.h @@ -10,6 +10,30 @@ #define TOR_FEATURE_RELAY_RELAY_METRICS_H #include "lib/container/smartlist.h" +#include "lib/metrics/metrics_common.h" + +#ifdef RELAY_METRICS_ENTRY_PRIVATE + +/** Metrics key for each reported metrics. This key is also used as an index in + * the base_metrics array. */ +typedef enum { + /* XXX So code compiles. */ + PLACEHOLDER = 0, +} relay_metrics_key_t; + +/** The metadata of a relay metric. */ +typedef struct relay_metrics_entry_t { + /* Metric key used as a static array index. */ + relay_metrics_key_t key; + /* Metric type. */ + metrics_type_t type; + /* Metrics output name. */ + const char *name; + /* Metrics output help comment. */ + const char *help; +} relay_metrics_entry_t; + +#endif /* RELAY_METRICS_ENTRY_PRIVATE */ /* Init. */ void relay_metrics_init(void); |