mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 12:23:32 +01:00
r19118@catbus: nickm | 2008-03-29 00:27:08 -0400
Code (disabled) to get way too much info about the contents of old_routers on USR1. svn:r14230
This commit is contained in:
parent
e89bf1c573
commit
e19d96637d
@ -2939,6 +2939,7 @@ connection_dirserv_finish_spooling(dir_connection_t *conn)
|
||||
static int
|
||||
connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn)
|
||||
{
|
||||
time_t now = time(NULL);
|
||||
int by_fp = (conn->dir_spool_src == DIR_SPOOL_SERVER_BY_FP ||
|
||||
conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP);
|
||||
int extra = (conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP ||
|
||||
@ -2966,7 +2967,7 @@ connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn)
|
||||
* unknown bridge descriptor has shown up between then and now. */
|
||||
continue;
|
||||
}
|
||||
|
||||
sd->last_served_at = now;
|
||||
body = signed_descriptor_get_body(sd);
|
||||
if (conn->zlib_state) {
|
||||
int last = ! smartlist_len(conn->fingerprint_stack);
|
||||
|
@ -1221,6 +1221,8 @@ typedef struct signed_descriptor_t {
|
||||
/** The valid-until time of the most recent consensus that listed this
|
||||
* descriptor. 0 for "never listed in a consensus, so far as we know." */
|
||||
time_t last_listed_as_valid_until;
|
||||
/** DOCDOC */
|
||||
time_t last_served_at; /*XXXX021 remove if not useful. */
|
||||
/* If true, we do not ever try to save this object in the cache. */
|
||||
unsigned int do_not_cache : 1;
|
||||
/* If true, this item is meant to represent an extrainfo. */
|
||||
|
@ -2247,11 +2247,43 @@ dump_routerlist_mem_usage(int severity)
|
||||
SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd,
|
||||
olddescs += sd->signed_descriptor_len);
|
||||
|
||||
log(severity, LD_GENERAL,
|
||||
log(severity, LD_DIR,
|
||||
"In %d live descriptors: "U64_FORMAT" bytes. "
|
||||
"In %d old descriptors: "U64_FORMAT" bytes.",
|
||||
smartlist_len(routerlist->routers), U64_PRINTF_ARG(livedescs),
|
||||
smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));
|
||||
|
||||
#if 0
|
||||
{
|
||||
const smartlist_t *networkstatus_v2_list = networkstatus_get_v2_list();
|
||||
networkstatus_t *consensus = networkstatus_get_latest_consensus();
|
||||
log(severity, LD_DIR, "Now let's look through old_descriptors!");
|
||||
SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd, {
|
||||
int in_v2 = 0;
|
||||
int in_v3 = 0;
|
||||
char published[ISO_TIME_LEN+1];
|
||||
char last_valid_until[ISO_TIME_LEN+1];
|
||||
char last_served_at[ISO_TIME_LEN+1];
|
||||
char id[HEX_DIGEST_LEN+1];
|
||||
format_iso_time(published, sd->published_on);
|
||||
format_iso_time(last_valid_until, sd->last_listed_as_valid_until);
|
||||
format_iso_time(last_served_at, sd->last_served_at);
|
||||
base16_encode(id, sizeof(id), sd->identity_digest, DIGEST_LEN);
|
||||
SMARTLIST_FOREACH(networkstatus_v2_list, networkstatus_v2_t *, ns,
|
||||
if (networkstatus_v2_find_entry(ns, sd->identity_digest)) {
|
||||
in_v2 = 1; break;
|
||||
});
|
||||
if (consensus && networkstatus_vote_find_entry(consensus,
|
||||
sd->identity_digest))
|
||||
in_v3 = 1;
|
||||
log(severity, LD_DIR,
|
||||
"Old descriptor for %s (published %s) %sin v2 ns, %sin v3 "
|
||||
"consensus. Last valid until %s; last served at %s.",
|
||||
id, published, in_v2 ? "" : "not ", in_v3 ? "" : "not ",
|
||||
last_valid_until, last_served_at);
|
||||
});
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static INLINE int
|
||||
|
Loading…
Reference in New Issue
Block a user