Tor 0.4.9.0-alpha-dev
|
Collect status information and log heartbeat messages. More...
#include "core/or/or.h"
#include "core/or/circuituse.h"
#include "app/config/config.h"
#include "feature/dirclient/dirclient.h"
#include "core/or/status.h"
#include "feature/nodelist/nodelist.h"
#include "core/or/relay.h"
#include "feature/relay/router.h"
#include "feature/relay/routermode.h"
#include "core/or/circuitlist.h"
#include "core/mainloop/mainloop.h"
#include "feature/stats/rephist.h"
#include "feature/hibernate/hibernate.h"
#include "app/config/statefile.h"
#include "feature/hs/hs_stats.h"
#include "feature/hs/hs_service.h"
#include "core/or/connection_st.h"
#include "core/or/dos.h"
#include "feature/stats/geoip_stats.h"
#include "app/config/or_state_st.h"
#include "feature/nodelist/routerinfo_st.h"
#include "lib/tls/tortls.h"
Go to the source code of this file.
Macros | |
#define | STATUS_PRIVATE |
#define | FULLNESS_PCT_THRESHOLD 80 |
#define | TLS_OVERHEAD_THRESHOLD 15 |
Functions | |
static void | log_accounting (const time_t now, const or_options_t *options) |
STATIC int | count_circuits (void) |
STATIC char * | secs_to_uptime (long secs) |
STATIC char * | bytes_to_usage (uint64_t bytes) |
static void | log_onion_service_stats (void) |
void | note_connection (bool inbound, const connection_t *conn) |
void | note_circ_closed_for_unrecognized_cells (time_t n_seconds, uint32_t n_cells) |
int | log_heartbeat (time_t now) |
Variables | |
connection counts for heartbeat | |
Tracks incoming and outgoing connections on IPv4/IPv6, for heartbeat logs. | |
static unsigned | n_incoming_ipv4 |
static unsigned | n_incoming_ipv6 |
static unsigned | n_outgoing_ipv4 |
static unsigned | n_outgoing_ipv6 |
Counters for unrecognized cells | |
Track cells that we drop because they are unrecognized and we have nobody to send them to. | |
static unsigned | n_circs_closed_for_unrecognized_cells |
static uint64_t | n_unrecognized_cells_discarded |
static uint64_t | n_secs_on_circs_with_unrecognized_cells |
Collect status information and log heartbeat messages.
This module is responsible for implementing the heartbeat log messages, which periodically inform users and operators about basic facts to do with their Tor instance. The log_heartbeat() function, invoked from main.c, is the principle entry point. It collects data from elsewhere in Tor, and logs it in a human-readable format.
Definition in file status.c.
STATIC char * bytes_to_usage | ( | uint64_t | bytes | ) |
Take bytes and returns a newly allocated human-readable usage string.
Definition at line 80 of file status.c.
Referenced by log_heartbeat().
STATIC int count_circuits | ( | void | ) |
Return the total number of circuits.
Definition at line 45 of file status.c.
Referenced by log_heartbeat().
|
static |
int log_heartbeat | ( | time_t | now | ) |
|
static |
void note_circ_closed_for_unrecognized_cells | ( | time_t | n_seconds, |
uint32_t | n_cells | ||
) |
void note_connection | ( | bool | inbound, |
const connection_t * | conn | ||
) |
STATIC char * secs_to_uptime | ( | long | secs | ) |
Take seconds secs and return a newly allocated human-readable uptime string.
Definition at line 53 of file status.c.
Referenced by log_heartbeat().