[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] relay: Code and objects to initialize metrics store
commit bdde4579c2fcb43cf5a32d617b3a5fe72314adf8
Author: David Goulet <dgoulet@xxxxxxxxxxxxxx>
Date: Thu Apr 15 12:46:23 2021 -0400
relay: Code and objects to initialize metrics store
Signed-off-by: David Goulet <dgoulet@xxxxxxxxxxxxxx>
---
src/feature/relay/relay_metrics.c | 7 +++++++
src/feature/relay/relay_metrics.h | 24 ++++++++++++++++++++++++
2 files changed, 31 insertions(+)
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);
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits