add info-level logs to help track onion queue sizes

This commit is contained in:
Roger Dingledine 2013-09-01 16:51:27 -04:00
parent bb32bfa2f2
commit 9d2030e580

View File

@ -135,6 +135,11 @@ onion_pending_add(or_circuit_t *circ, create_cell_t *onionskin)
} }
++ol_entries[onionskin->handshake_type]; ++ol_entries[onionskin->handshake_type];
log_info(LD_OR, "New create (%s). Queues now ntor=%d and tap=%d.",
onionskin->handshake_type == ONION_HANDSHAKE_TYPE_NTOR ? "ntor" : "tap",
ol_entries[ONION_HANDSHAKE_TYPE_NTOR],
ol_entries[ONION_HANDSHAKE_TYPE_TAP]);
circ->onionqueue_entry = tmp; circ->onionqueue_entry = tmp;
TOR_TAILQ_INSERT_TAIL(&ol_list[onionskin->handshake_type], tmp, next); TOR_TAILQ_INSERT_TAIL(&ol_list[onionskin->handshake_type], tmp, next);
@ -176,8 +181,13 @@ onion_next_task(create_cell_t **onionskin_out)
* more manageable. That's probably not good long-term. -RD */ * more manageable. That's probably not good long-term. -RD */
circ = head->circ; circ = head->circ;
if (head->onionskin && if (head->onionskin &&
head->onionskin->handshake_type <= MAX_ONION_HANDSHAKE_TYPE) head->handshake_type <= MAX_ONION_HANDSHAKE_TYPE)
--ol_entries[head->onionskin->handshake_type]; --ol_entries[head->handshake_type];
log_info(LD_OR, "Processing create (%s). Queues now ntor=%d and tap=%d.",
head->handshake_type == ONION_HANDSHAKE_TYPE_NTOR ? "ntor" : "tap",
ol_entries[ONION_HANDSHAKE_TYPE_NTOR],
ol_entries[ONION_HANDSHAKE_TYPE_TAP]);
*onionskin_out = head->onionskin; *onionskin_out = head->onionskin;
head->onionskin = NULL; /* prevent free. */ head->onionskin = NULL; /* prevent free. */
circ->onionqueue_entry = NULL; circ->onionqueue_entry = NULL;