The usage popup either shows the number of client connections we've had per a locale or exit connections per port. For the client counts this isn't very useful since it counts each connection that a person makes so it's more of an activity metric rather than showing how many people are using you.
I should only count each source ip once.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related.
Learn more.
Tor as a relay also counts client usage, and it does it I think in the way you have in mind. It even fuzzes the numbers slightly, which might be considered a feature if people accidentally log the output plus timestamps.
See 'getinfo status/client-seen' for details. As of a recent 0.2.2.x, it gives you an answer before the 24 hour uptime mark too.
I opted to avoid clinet-seeen because [...] "This GETINFO option is currently available only for bridge relays."
Good point. I wonder if Tor should start offering it for normal relays too.
It seems silly to duplicate the logic in both places. For example, does arm know to check if it's a known relay IP address and not include it in the client stats then? Seems like it's easy for the logic in each place to diverge.
For example, does arm know to check if it's a known relay IP address and not include it in the client stats then?
Yup. Arm needs to determine if IPs belong to a known relay or not so it can scrub client/exit connection details. Though I also needed a function for converting ip/port combinations into relay fingerprints so this is just an existence check on that.
https://gitweb.torproject.org/arm.git/blob/HEAD:/src/util/torTools.py#l2100
Yikes, this is an old one. The client and exit port usage dialogs changed quite a bit since this was filed but in reviewing the code we still had an issue with counting on a per-connection rather than a per-client or per-destination basis. Fixed.