[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