diff options
author | David Goulet <dgoulet@torproject.org> | 2022-10-27 10:46:54 -0400 |
---|---|---|
committer | David Goulet <dgoulet@torproject.org> | 2022-10-27 10:46:54 -0400 |
commit | fff2b92682222c960e2cd4455e8264bcd5d406fb (patch) | |
tree | 1156ee5377c1a4a5c78b42cf5fdd7c6dea8a7cce /src/feature/stats/rephist.c | |
parent | 5f548f05d2c5e18833358ae05b78ad3c3c673636 (diff) | |
parent | a1c40c8511b841db773e82bd8024ef3581262900 (diff) | |
download | tor-fff2b92682222c960e2cd4455e8264bcd5d406fb.tar.gz tor-fff2b92682222c960e2cd4455e8264bcd5d406fb.zip |
Merge branch 'maint-0.4.7'
Diffstat (limited to 'src/feature/stats/rephist.c')
-rw-r--r-- | src/feature/stats/rephist.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/feature/stats/rephist.c b/src/feature/stats/rephist.c index 553a7f953e..3dcc53fd07 100644 --- a/src/feature/stats/rephist.c +++ b/src/feature/stats/rephist.c @@ -1639,6 +1639,51 @@ rep_hist_note_exit_stream_opened(uint16_t port) log_debug(LD_HIST, "Opened exit stream to port %d", port); } +/*** Exit streams statistics ***/ + +/** Number of BEGIN streams seen. */ +static uint64_t streams_begin_seen; +/** Number of BEGIN_DIR streams seen. */ +static uint64_t streams_begindir_seen; +/** Number of RESOLVE streams seen. */ +static uint64_t streams_resolve_seen; + +/** Note a stream as seen for the given relay command. */ +void +rep_hist_note_exit_stream(unsigned int cmd) +{ + switch (cmd) { + case RELAY_COMMAND_BEGIN: + streams_begin_seen++; + break; + case RELAY_COMMAND_BEGIN_DIR: + streams_begindir_seen++; + break; + case RELAY_COMMAND_RESOLVE: + streams_resolve_seen++; + break; + default: + tor_assert_nonfatal_unreached_once(); + break; + } +} + +/** Return number of stream seen for the given command. */ +uint64_t +rep_hist_get_exit_stream_seen(unsigned int cmd) +{ + switch (cmd) { + case RELAY_COMMAND_BEGIN: + return streams_begin_seen; + case RELAY_COMMAND_BEGIN_DIR: + return streams_begindir_seen; + case RELAY_COMMAND_RESOLVE: + return streams_resolve_seen; + default: + return 0; + } +} + /******* Connections statistics *******/ #define CONN_DIRECTION_INITIATED 0 |