mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-13 06:33:44 +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
|
static int
|
||||||
connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn)
|
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 ||
|
int by_fp = (conn->dir_spool_src == DIR_SPOOL_SERVER_BY_FP ||
|
||||||
conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP);
|
conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP);
|
||||||
int extra = (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. */
|
* unknown bridge descriptor has shown up between then and now. */
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
sd->last_served_at = now;
|
||||||
body = signed_descriptor_get_body(sd);
|
body = signed_descriptor_get_body(sd);
|
||||||
if (conn->zlib_state) {
|
if (conn->zlib_state) {
|
||||||
int last = ! smartlist_len(conn->fingerprint_stack);
|
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
|
/** 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." */
|
* descriptor. 0 for "never listed in a consensus, so far as we know." */
|
||||||
time_t last_listed_as_valid_until;
|
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. */
|
/* If true, we do not ever try to save this object in the cache. */
|
||||||
unsigned int do_not_cache : 1;
|
unsigned int do_not_cache : 1;
|
||||||
/* If true, this item is meant to represent an extrainfo. */
|
/* 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,
|
SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd,
|
||||||
olddescs += sd->signed_descriptor_len);
|
olddescs += sd->signed_descriptor_len);
|
||||||
|
|
||||||
log(severity, LD_GENERAL,
|
log(severity, LD_DIR,
|
||||||
"In %d live descriptors: "U64_FORMAT" bytes. "
|
"In %d live descriptors: "U64_FORMAT" bytes. "
|
||||||
"In %d old descriptors: "U64_FORMAT" bytes.",
|
"In %d old descriptors: "U64_FORMAT" bytes.",
|
||||||
smartlist_len(routerlist->routers), U64_PRINTF_ARG(livedescs),
|
smartlist_len(routerlist->routers), U64_PRINTF_ARG(livedescs),
|
||||||
smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));
|
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
|
static INLINE int
|
||||||
|
Loading…
Reference in New Issue
Block a user