aboutsummaryrefslogtreecommitdiff
path: root/src/feature/metrics/metrics.h
blob: 33e15f8bc963b4671e570b929dc8efe451ef2863 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/* Copyright (c) 2020-2021, The Tor Project, Inc. */
/* See LICENSE for licensing information */

/**
 * @file metrics.h
 * @brief Header for feature/metrics/metrics.c
 **/

#ifndef TOR_FEATURE_METRICS_METRICS_H
#define TOR_FEATURE_METRICS_METRICS_H

#include "lib/buf/buffers.h"
#include "lib/container/smartlist.h"

#include "app/config/or_options_st.h"

#include "lib/metrics/metrics_common.h"

struct connection_t;

/* Initializer / Cleanup. */
void metrics_init(void);
void metrics_cleanup(void);

/* Accessors. */
buf_t *metrics_get_output(const metrics_format_t fmt);

/* Connection. */
int metrics_connection_process_inbuf(struct connection_t *conn);
int metrics_connection_reached_eof(struct connection_t *conn);
int metrics_connection_finished_flushing(struct connection_t *conn);

/* Configuration. */
int metrics_parse_ports(or_options_t *options, smartlist_t *ports,
                        char **err_msg_out);

#endif /* !defined(TOR_FEATURE_METRICS_METRICS_H) */