Tor 0.4.9.0-alpha-dev
|
Header file for rephist.c. More...
Go to the source code of this file.
Macros | |
#define | MAX_ONION_STAT_TYPE MAX_ONION_HANDSHAKE_TYPE |
#define | REPHIST_CELL_PADDING_COUNTS_INTERVAL (24*60*60) |
Enumerations | |
enum | padding_type_t { PADDING_TYPE_DROP , PADDING_TYPE_CELL , PADDING_TYPE_TOTAL , PADDING_TYPE_ENABLED_TOTAL , PADDING_TYPE_ENABLED_CELL } |
enum | overload_type_t { OVERLOAD_GENERAL , OVERLOAD_READ , OVERLOAD_WRITE , OVERLOAD_FD_EXHAUSTED } |
Variables | |
uint64_t | rephist_total_alloc |
uint32_t | rephist_total_num |
#define MAX_ONION_STAT_TYPE MAX_ONION_HANDSHAKE_TYPE |
#define REPHIST_CELL_PADDING_COUNTS_INTERVAL (24*60*60) |
enum overload_type_t |
enum padding_type_t |
Represents the type of a cell for padding accounting
void rep_hist_add_buffer_stats | ( | double | mean_num_cells_in_queue, |
double | mean_time_cells_in_queue, | ||
uint32_t | processed_cells | ||
) |
Remember cell statistics mean_num_cells_in_queue, mean_time_cells_in_queue, and processed_cells of a circuit.
Definition at line 1853 of file rephist.c.
Referenced by rep_hist_buffer_stats_add_circ().
void rep_hist_buffer_stats_add_circ | ( | circuit_t * | circ, |
time_t | end_of_interval | ||
) |
void rep_hist_buffer_stats_init | ( | time_t | now | ) |
void rep_hist_buffer_stats_term | ( | void | ) |
Stop collecting cell stats in a way that we can re-start doing so in rep_hist_buffer_stats_init().
time_t rep_hist_buffer_stats_write | ( | time_t | now | ) |
If 24 hours have passed since the beginning of the current buffer stats period, write buffer stats to $DATADIR/stats/buffer-stats (possibly overwriting an existing file) and reset counters. Return when we would next want to write buffer stats or 0 if we never want to write.
void rep_hist_consensus_has_changed | ( | const networkstatus_t * | ns | ) |
void rep_hist_desc_stats_init | ( | time_t | now | ) |
Initialize descriptor stats.
Definition at line 2094 of file rephist.c.
Referenced by rep_hist_reset_desc_stats().
void rep_hist_desc_stats_term | ( | void | ) |
Stop collecting served descs stats, so that rep_hist_desc_stats_init() is safe to be called again.
Definition at line 2117 of file rephist.c.
Referenced by rep_hist_reset_desc_stats().
time_t rep_hist_desc_stats_write | ( | time_t | now | ) |
If WRITE_STATS_INTERVAL seconds have passed since the beginning of the current served desc stats interval, write the stats to $DATADIR/stats/served-desc-stats (possibly appending to an existing file) and reset the state for the next interval. Return when we would next want to write served desc stats or 0 if we won't want to write.
time_t rep_hist_downrate_old_runs | ( | time_t | now | ) |
Helper: Discount all old MTBF data, if it is time to do so. Return the time at which we should next discount MTBF data.
Definition at line 774 of file rephist.c.
Referenced by downrate_stability_callback().
void rep_hist_dump_stats | ( | time_t | now, |
int | severity | ||
) |
void rep_hist_exit_stats_init | ( | time_t | now | ) |
void rep_hist_exit_stats_term | ( | void | ) |
Stop collecting exit port stats in a way that we can re-start doing so in rep_hist_exit_stats_init().
time_t rep_hist_exit_stats_write | ( | time_t | now | ) |
If 24 hours have passed since the beginning of the current exit port stats period, write exit stats to $DATADIR/stats/exit-stats (possibly overwriting an existing file) and reset counters. Return when we would next want to write exit stats or 0 if we never want to write.
char * rep_hist_format_buffer_stats | ( | time_t | now | ) |
char * rep_hist_format_exit_stats | ( | time_t | now | ) |
void rep_hist_free_all | ( | void | ) |
int rep_hist_get_circuit_handshake_assigned | ( | uint16_t | type | ) |
Get the circuit handshake value that is assigned.
Definition at line 2416 of file rephist.c.
Referenced by getinfo_helper_rephist().
int rep_hist_get_circuit_handshake_requested | ( | uint16_t | type | ) |
uint64_t rep_hist_get_circuit_n_handshake_assigned | ( | uint16_t | type | ) |
uint64_t rep_hist_get_circuit_n_handshake_dropped | ( | uint16_t | type | ) |
uint64_t rep_hist_get_conn_created | ( | bool | from_listener, |
unsigned int | type, | ||
int | af | ||
) |
uint64_t rep_hist_get_conn_opened | ( | bool | from_listener, |
unsigned int | type, | ||
int | af | ||
) |
uint64_t rep_hist_get_conn_rejected | ( | unsigned int | type, |
int | af | ||
) |
uint64_t rep_hist_get_drop_cell_received_count | ( | void | ) |
Relay Only: return the total number of DROP cell received.
Definition at line 3032 of file rephist.c.
Referenced by fill_relay_drop_cell().
uint64_t rep_hist_get_exit_stream_seen | ( | unsigned int | cmd | ) |
Return number of stream seen for the given command.
Definition at line 1676 of file rephist.c.
Referenced by fill_single_stream_value().
uint64_t rep_hist_get_n_dns_error | ( | int | type, |
uint8_t | error | ||
) |
uint64_t rep_hist_get_n_dns_request | ( | int | type | ) |
uint64_t rep_hist_get_n_read_limit_reached | ( | void | ) |
Return the stats_n_read_limit_reached counter.
Definition at line 461 of file rephist.c.
Referenced by fill_global_bw_limit_values().
uint64_t rep_hist_get_n_tcp_exhaustion | ( | void | ) |
Return the total number of TCP exhaustion times we've reached.
Definition at line 586 of file rephist.c.
Referenced by fill_tcp_exhaustion_values().
uint64_t rep_hist_get_n_write_limit_reached | ( | void | ) |
Return the stats_n_write_limit_reached counter.
Definition at line 468 of file rephist.c.
Referenced by fill_global_bw_limit_values().
char * rep_hist_get_overload_general_line | ( | void | ) |
char * rep_hist_get_overload_stats_lines | ( | void | ) |
char * rep_hist_get_padding_count_lines | ( | void | ) |
double rep_hist_get_stability | ( | const char * | id, |
time_t | when | ||
) |
long rep_hist_get_uptime | ( | const char * | id, |
time_t | when | ||
) |
double rep_hist_get_weighted_fractional_uptime | ( | const char * | id, |
time_t | when | ||
) |
long rep_hist_get_weighted_time_known | ( | const char * | id, |
time_t | when | ||
) |
int rep_hist_have_measured_enough_stability | ( | void | ) |
void rep_hist_hs_stats_init | ( | time_t | now | ) |
void rep_hist_hs_stats_term | ( | void | ) |
Stop collecting hidden service stats in a way that we can re-start doing so in rep_hist_buffer_stats_init().
time_t rep_hist_hs_stats_write | ( | time_t | now, |
bool | is_v3 | ||
) |
If 24 hours have passed since the beginning of the current HS stats period, write buffer stats to $DATADIR/stats/hidserv-v3-stats (possibly overwriting an existing file) and reset counters. Return when we would next want to write buffer stats or 0 if we never want to write. Function works for both v2 and v3 stats depending on is_v3.
void rep_hist_hsdir_stored_maybe_new_v3_onion | ( | const uint8_t * | blinded_key | ) |
void rep_hist_init | ( | void | ) |
Initialize the static data structures for tracking history.
Definition at line 625 of file rephist.c.
Referenced by tor_init().
int rep_hist_load_mtbf_data | ( | time_t | now | ) |
Load MTBF data from disk. Returns 0 on success or recoverable error, -1 on failure.
Definition at line 1181 of file rephist.c.
Referenced by options_act_dirauth_mtbf().
void rep_hist_log_circuit_handshake_stats | ( | time_t | now | ) |
void rep_hist_log_link_protocol_counts | ( | void | ) |
void rep_hist_make_router_pessimal | ( | const char * | id, |
time_t | when | ||
) |
void rep_hist_note_circuit_handshake_assigned | ( | uint16_t | type | ) |
void rep_hist_note_circuit_handshake_dropped | ( | uint16_t | type | ) |
void rep_hist_note_circuit_handshake_requested | ( | uint16_t | type | ) |
void rep_hist_note_conn_closed | ( | bool | from_listener, |
unsigned int | type, | ||
int | af | ||
) |
void rep_hist_note_conn_opened | ( | bool | from_listener, |
unsigned int | type, | ||
int | af | ||
) |
void rep_hist_note_conn_rejected | ( | unsigned int | type, |
int | af | ||
) |
void rep_hist_note_desc_served | ( | const char * | desc | ) |
void rep_hist_note_dns_error | ( | int | type, |
uint8_t | error | ||
) |
Note a DNS error for the given given libevent DNS record type and error code. Possible types are: DNS_IPv4_A, DNS_PTR, DNS_IPv6_AAAA.
NOTE: Libevent is not returning the type in case of an error and so if error is anything but DNS_ERR_NONE, the type is not usable and set to 0.
See: https://gitlab.torproject.org/tpo/core/tor/-/issues/40490
void rep_hist_note_dns_request | ( | int | type | ) |
void rep_hist_note_exit_bytes | ( | uint16_t | port, |
size_t | num_written, | ||
size_t | num_read | ||
) |
Note that we wrote num_written bytes and read num_read bytes to/from an exit connection to port.
Definition at line 1623 of file rephist.c.
Referenced by record_num_bytes_transferred_impl().
void rep_hist_note_exit_stream | ( | unsigned int | cmd | ) |
Note a stream as seen for the given relay command.
Definition at line 1656 of file rephist.c.
Referenced by connection_exit_begin_resolve().
void rep_hist_note_exit_stream_opened | ( | uint16_t | port | ) |
void rep_hist_note_negotiated_link_proto | ( | unsigned | link_proto, |
int | started_here | ||
) |
void rep_hist_note_overload | ( | overload_type_t | overload | ) |
Note down an overload event of type overload
.
Definition at line 541 of file rephist.c.
Referenced by rep_hist_note_tcp_exhaustion(), and socket_failed_from_fd_exhaustion().
void rep_hist_note_router_reachable | ( | const char * | id, |
const tor_addr_t * | at_addr, | ||
const uint16_t | at_port, | ||
time_t | when | ||
) |
void rep_hist_note_router_unreachable | ( | const char * | id, |
time_t | when | ||
) |
We have just decided that this router is unreachable, meaning we are taking away its "Running" flag.
Definition at line 706 of file rephist.c.
Referenced by rep_hist_make_router_pessimal().
void rep_hist_note_tcp_exhaustion | ( | void | ) |
Note down that we've reached a TCP port exhaustion. This triggers an overload general event.
Definition at line 578 of file rephist.c.
Referenced by socket_failed_from_tcp_port_exhaustion().
void rep_hist_padding_count_read | ( | padding_type_t | type | ) |
void rep_hist_padding_count_timers | ( | uint64_t | num_timers | ) |
void rep_hist_padding_count_write | ( | padding_type_t | type | ) |
void rep_hist_prep_published_padding_counts | ( | time_t | now | ) |
int rep_hist_record_mtbf_data | ( | time_t | now, |
int | missing_means_down | ||
) |
Write MTBF data to disk. Return 0 on success, negative on failure.
If missing_means_down, then if we're about to write an entry that is still considered up but isn't in our routerlist, consider it to be down.
Definition at line 1018 of file rephist.c.
Referenced by save_stability_callback(), and tor_cleanup().
void rep_hist_reset_buffer_stats | ( | time_t | now | ) |
Clear history of circuit statistics and set the measurement interval start to now.
Definition at line 1930 of file rephist.c.
Referenced by rep_hist_buffer_stats_term().
void rep_hist_reset_exit_stats | ( | time_t | now | ) |
void rep_hist_reset_padding_counts | ( | void | ) |
void rep_hist_seen_new_rp_cell | ( | bool | is_v2 | ) |
void rep_history_clean | ( | time_t | before | ) |
Remove history info for routers/links that haven't changed since before.
Definition at line 985 of file rephist.c.
Referenced by clean_caches_callback(), and rep_hist_dump_stats().
|
extern |
Total number of bytes currently allocated in fields used by rephist.c.
Definition at line 95 of file rephist.c.
Referenced by dumpmemusage(), and free_or_history().
|
extern |
Number of or_history_t objects currently allocated.
Definition at line 97 of file rephist.c.
Referenced by dumpmemusage(), and free_or_history().