From e9e7dc176ce5cfd41c62d1a18bb55e11d4c98fc0 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sat, 31 Dec 2005 08:09:26 +0000 Subject: [PATCH] Some tor servers process billions of cells in a matter of days. These statistics need to be uint64_t's. svn:r5686 --- src/or/command.c | 10 +++++----- src/or/main.c | 28 ++++++++++++++-------------- src/or/relay.c | 4 ++-- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/or/command.c b/src/or/command.c index 015abfea89..4e7e103d7d 100644 --- a/src/or/command.c +++ b/src/or/command.c @@ -20,11 +20,11 @@ const char command_c_id[] = #include "or.h" /** Keep statistics about how many of each type of cell we've received. */ -unsigned long stats_n_padding_cells_processed = 0; -unsigned long stats_n_create_cells_processed = 0; -unsigned long stats_n_created_cells_processed = 0; -unsigned long stats_n_relay_cells_processed = 0; -unsigned long stats_n_destroy_cells_processed = 0; +uint64_t stats_n_padding_cells_processed = 0; +uint64_t stats_n_create_cells_processed = 0; +uint64_t stats_n_created_cells_processed = 0; +uint64_t stats_n_relay_cells_processed = 0; +uint64_t stats_n_destroy_cells_processed = 0; /* These are the main four functions for processing cells */ static void command_process_create_cell(cell_t *cell, connection_t *conn); diff --git a/src/or/main.c b/src/or/main.c index 31d9a8f000..90b8bea592 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -1298,20 +1298,20 @@ dumpstats(int severity) * using this conn */ } log(severity, LD_NET, - "Cells processed: %10lu padding\n" - " %10lu create\n" - " %10lu created\n" - " %10lu relay\n" - " (%10lu relayed)\n" - " (%10lu delivered)\n" - " %10lu destroy", - stats_n_padding_cells_processed, - stats_n_create_cells_processed, - stats_n_created_cells_processed, - stats_n_relay_cells_processed, - stats_n_relay_cells_relayed, - stats_n_relay_cells_delivered, - stats_n_destroy_cells_processed); + "Cells processed: "U64_FORMAT" padding\n" + " "U64_FORMAT" create\n" + " "U64_FORMAT" created\n" + " "U64_FORMAT" relay\n" + " ("U64_FORMAT" relayed)\n" + " ("U64_FORMAT" delivered)\n" + " "U64_FORMAT" destroy", + U64_PRINTF_ARG(stats_n_padding_cells_processed), + U64_PRINTF_ARG(stats_n_create_cells_processed), + U64_PRINTF_ARG(stats_n_created_cells_processed), + U64_PRINTF_ARG(stats_n_relay_cells_processed), + U64_PRINTF_ARG(stats_n_relay_cells_relayed), + U64_PRINTF_ARG(stats_n_relay_cells_delivered), + U64_PRINTF_ARG(stats_n_destroy_cells_processed)); if (stats_n_data_cells_packaged) log(severity,LD_NET,"Average packaged cell fullness: %2.3f%%", 100*(((double)stats_n_data_bytes_packaged) / diff --git a/src/or/relay.c b/src/or/relay.c index 4cd4055a64..f923ae59a3 100644 --- a/src/or/relay.c +++ b/src/or/relay.c @@ -37,11 +37,11 @@ circuit_consider_stop_edge_reading(circuit_t *circ, crypt_path_t *layer_hint); /** Stats: how many relay cells have originated at this hop, or have * been relayed onward (not recognized at this hop)? */ -unsigned long stats_n_relay_cells_relayed = 0; +uint64_t stats_n_relay_cells_relayed = 0; /** Stats: how many relay cells have been delivered to streams at this * hop? */ -unsigned long stats_n_relay_cells_delivered = 0; +uint64_t stats_n_relay_cells_delivered = 0; /** Update digest from the payload of cell. Assign integrity part to * cell.