mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Write bidirectional connection stats in single line.
There's no need to have a separate line conn-stats-end for the end date and interval length with only a single line conn-bi-direct following.
This commit is contained in:
+8
-18
@@ -848,27 +848,17 @@
|
||||
Mean number of circuits that are included in any of the deciles,
|
||||
rounded up to the next integer.
|
||||
|
||||
"conn-stats-end" YYYY-MM-DD HH:MM:SS (NSEC s) NL
|
||||
[At most once]
|
||||
|
||||
YYYY-MM-DD HH:MM:SS defines the end of the included connection
|
||||
statistics measurement interval of length NSEC seconds (86400
|
||||
seconds by default).
|
||||
|
||||
A "conn-stats-end" line, as well as any other "conn-*" line,
|
||||
is first added after the relay has been running for at least 24
|
||||
hours.
|
||||
|
||||
"conn-bi-direct" BELOW,READ,WRITE,BOTH NL
|
||||
"conn-bi-direct" YYYY-MM-DD HH:MM:SS (NSEC s) BELOW,READ,WRITE,BOTH NL
|
||||
[At most once]
|
||||
|
||||
Number of connections, split into 10-second intervals, that are
|
||||
used uni-directionally or bi-directionally. Every 10 seconds,
|
||||
we determine for every connection whether we read and wrote less
|
||||
than a threshold of 20 KiB (BELOW), read at least 10 times more
|
||||
than we wrote (READ), wrote at least 10 times more than we read
|
||||
(WRITE), or read and wrote more than the threshold, but not 10
|
||||
times more in either direction (BOTH). After classifying a
|
||||
used uni-directionally or bi-directionally as observed in the NSEC
|
||||
seconds (usually 86400 seconds) before YYYY-MM-DD HH:MM:SS. Every
|
||||
10 seconds, we determine for every connection whether we read and
|
||||
wrote less than a threshold of 20 KiB (BELOW), read at least 10
|
||||
times more than we wrote (READ), wrote at least 10 times more than
|
||||
we read (WRITE), or read and wrote more than the threshold, but
|
||||
not 10 times more in either direction (BOTH). After classifying a
|
||||
connection, read and write counters are reset for the next
|
||||
10-second interval.
|
||||
|
||||
|
||||
+1
-1
@@ -1027,7 +1027,7 @@ is non-zero):
|
||||
When this option is enabled, Tor writes statistics on the number of relayed
|
||||
bytes and opened stream per exit port to disk every 24 hours. (Default: 0)
|
||||
|
||||
**ConnDirectionStats** **0**|**1**::
|
||||
**ConnDirectionStatistics** **0**|**1**::
|
||||
When this option is enabled, Tor writes statistics on the bidirectional use
|
||||
of connections to disk every 24 hours. (Default: 0)
|
||||
|
||||
|
||||
+1
-2
@@ -2592,8 +2592,7 @@ rep_hist_format_conn_stats(time_t now)
|
||||
return NULL; /* Not initialized. */
|
||||
|
||||
format_iso_time(written, now);
|
||||
tor_asprintf(&result, "conn-stats-end %s (%d s)\n"
|
||||
"conn-bi-direct %d,%d,%d,%d\n",
|
||||
tor_asprintf(&result, "conn-bi-direct %s (%d s) %d,%d,%d,%d\n",
|
||||
written,
|
||||
(unsigned) (now - start_of_conn_stats_interval),
|
||||
below_threshold,
|
||||
|
||||
+1
-1
@@ -2053,7 +2053,7 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
|
||||
}
|
||||
if (options->ConnDirectionStatistics &&
|
||||
load_stats_file("stats"PATH_SEPARATOR"conn-stats",
|
||||
"conn-stats-end", now, &contents) > 0) {
|
||||
"conn-bi-direct", now, &contents) > 0) {
|
||||
size_t pos = strlen(s);
|
||||
if (strlcpy(s + pos, contents, maxlen - strlen(s)) !=
|
||||
strlen(contents)) {
|
||||
|
||||
+3
-5
@@ -1175,8 +1175,7 @@ test_stats(void)
|
||||
rep_hist_note_or_conn_bytes(2, 400000, 30000, now + 10);
|
||||
rep_hist_note_or_conn_bytes(2, 400000, 30000, now + 15);
|
||||
s = rep_hist_format_conn_stats(now + 86400);
|
||||
test_streq("conn-stats-end 2010-08-12 13:27:30 (86400 s)\n"
|
||||
"conn-bi-direct 0,0,1,0\n", s);
|
||||
test_streq("conn-bi-direct 2010-08-12 13:27:30 (86400 s) 0,0,1,0\n", s);
|
||||
tor_free(s);
|
||||
|
||||
/* Stop collecting stats, add some bytes, and ensure we don't generate
|
||||
@@ -1187,7 +1186,7 @@ test_stats(void)
|
||||
test_assert(!s);
|
||||
|
||||
/* Re-start stats, add some bytes, reset stats, and see what history we
|
||||
* get when observing no streams or bytes at all. */
|
||||
* get when observing no bytes at all. */
|
||||
rep_hist_conn_stats_init(now);
|
||||
rep_hist_note_or_conn_bytes(1, 30000, 400000, now);
|
||||
rep_hist_note_or_conn_bytes(1, 30000, 400000, now + 5);
|
||||
@@ -1195,8 +1194,7 @@ test_stats(void)
|
||||
rep_hist_note_or_conn_bytes(2, 400000, 30000, now + 15);
|
||||
rep_hist_reset_conn_stats(now);
|
||||
s = rep_hist_format_conn_stats(now + 86400);
|
||||
test_streq("conn-stats-end 2010-08-12 13:27:30 (86400 s)\n"
|
||||
"conn-bi-direct 0,0,0,0\n", s);
|
||||
test_streq("conn-bi-direct 2010-08-12 13:27:30 (86400 s) 0,0,0,0\n", s);
|
||||
|
||||
done:
|
||||
tor_free(s);
|
||||
|
||||
Reference in New Issue
Block a user