mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-09-21 21:44:58 +02:00
relay: Code and objects to initialize metrics store
Signed-off-by: David Goulet <dgoulet@torproject.org>
This commit is contained in:
parent
0cf25fd3a5
commit
bdde4579c2
@ -17,6 +17,13 @@
|
|||||||
|
|
||||||
#include "feature/relay/relay_metrics.h"
|
#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. */
|
/** The only and single store of all the relay metrics. */
|
||||||
static metrics_store_t *the_store;
|
static metrics_store_t *the_store;
|
||||||
|
|
||||||
|
@ -10,6 +10,30 @@
|
|||||||
#define TOR_FEATURE_RELAY_RELAY_METRICS_H
|
#define TOR_FEATURE_RELAY_RELAY_METRICS_H
|
||||||
|
|
||||||
#include "lib/container/smartlist.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. */
|
/* Init. */
|
||||||
void relay_metrics_init(void);
|
void relay_metrics_init(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user