Tor
0.4.6.0-alpha-dev
|
Metrics interface to store them based on specific store type and get their MetricsPort output. More...
#include "orconfig.h"
#include "lib/container/map.h"
#include "lib/log/util_bug.h"
#include "lib/malloc/malloc.h"
#include "lib/metrics/metrics_store.h"
#include "lib/metrics/metrics_store_entry.h"
#include "lib/metrics/prometheus.h"
Go to the source code of this file.
Data Structures | |
struct | metrics_store_t |
Typedefs | |
typedef void() | fmt_driver_fn_t(const metrics_store_entry_t *, buf_t *) |
Functions | |
static void | metrics_store_free_void (void *p) |
static void | get_output (const metrics_store_t *store, buf_t *data, fmt_driver_fn_t fmt) |
metrics_store_t * | metrics_store_new (void) |
void | metrics_store_free_ (metrics_store_t *store) |
smartlist_t * | metrics_store_get_all (const metrics_store_t *store, const char *name) |
metrics_store_entry_t * | metrics_store_add (metrics_store_t *store, metrics_type_t type, const char *name, const char *help) |
void | metrics_store_get_output (const metrics_format_t fmt, const metrics_store_t *store, buf_t *data) |
Metrics interface to store them based on specific store type and get their MetricsPort output.
Definition in file metrics_store.c.
typedef void() fmt_driver_fn_t(const metrics_store_entry_t *, buf_t *) |
Function pointer to the format function of a specific driver.
Definition at line 37 of file metrics_store.c.
|
static |
Put the given store output in the buffer data and use the format function given in fmt to get it for each entry.
Definition at line 53 of file metrics_store.c.
Referenced by metrics_store_get_output().
metrics_store_entry_t* metrics_store_add | ( | metrics_store_t * | store, |
metrics_type_t | type, | ||
const char * | name, | ||
const char * | help | ||
) |
Add a new metrics entry to the given store and type. The name MUST be the unique identifier. The help string can be omitted.
Definition at line 103 of file metrics_store.c.
Referenced by init_store().
void metrics_store_free_ | ( | metrics_store_t * | store | ) |
Free the given store including all its entries.
Definition at line 79 of file metrics_store.c.
|
static |
Helper: Free a single entry in a metrics_store_t taking a void pointer parameter.
Definition at line 42 of file metrics_store.c.
smartlist_t* metrics_store_get_all | ( | const metrics_store_t * | store, |
const char * | name | ||
) |
Find all metrics entry in the given store identified by name. If not found, NULL is returned.
Definition at line 92 of file metrics_store.c.
Referenced by hs_metrics_update_by_service().
void metrics_store_get_output | ( | const metrics_format_t | fmt, |
const metrics_store_t * | store, | ||
buf_t * | data | ||
) |
Set the output of the given store of the format fmt into the given buffer data.
Definition at line 126 of file metrics_store.c.
metrics_store_t* metrics_store_new | ( | void | ) |
Return a newly allocated and initialized store of the given type.
Definition at line 68 of file metrics_store.c.