On Thu, Jan 13, 2022 at 06:09:24PM +0200, Markus Ottela via tor-talk wrote:
I've been experiencing weird behavior with Tor + Stem + Flask Onion Services
dying randomly once every 1..5 days. I wrote a script that's making
connections to a test an Onion Service to see when exactly the servers
disappear -- and creating logs based on that. The system spins up new
requests client instance for each connection, so those might be what's
appearing on the graph. I'm just puzzled why they'd appear as different
users, given that the public IP has remained static. (Also the script
automatically spins up new Onion Service once it's been down for an hour, so
that could explain the spikes.)
Again I'm not sure that's what this is about, but both the start time, and
the most recent major downtime spikes match. I've killed testing, let's see
if it returns to normal; I think there's enough data to open a ticket about
my issue anyway.
That's an interesting hypothesis. The user count estimate does not use
IP addresses; rather it counts directory requests. See:
https://gitweb.torproject.org/metrics-web.git/tree/src/main/resources/doc/users-q-and-a.txt?id=6c2679ec1797976e171a68bbd3d7442a34f0a5d1
Q: How is it even possible to count users in an anonymity network?
A: We actually don't count users, but we count requests to the
directories that clients make periodically to update their list of
relays and estimate user numbers indirectly from there.
Q: What if a user runs tor on a laptop and changes their IP address a
few times per day? Don't you overcount that user?
A: No, because that user updates their list of relays as often as a
user that doesn't change IP address over the day.
In your experiments, were you starting tor with an empty DataDirectory
and a cold directory cache each time (e.g., in a freshly initialized
container), or were you reusing the same DataDirectory? The former I
would expect to have an effect on estimated users; the latter not.