Opened 5 years ago

Last modified 12 months ago

#9316 needs_revision task

BridgeDB should export statistics

Reported by: asn Owned by: isis
Priority: Medium Milestone:
Component: Obfuscation/BridgeDB Version:
Severity: Normal Keywords: metrics, bridgedb
Cc: isis@… Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

BridgeDB should export statistics on its usage. Stuff like distributor usage, number of clients served, etc.

Child Tickets

Change History (7)

comment:1 Changed 5 years ago by sysrqb

Keywords: important added

comment:2 Changed 5 years ago by isis

Cc: isis@… added
Keywords: metrics bridges added; important removed
Owner: set to isis
Parent ID: #9199
Status: newassigned

comment:3 Changed 5 years ago by isis

Related: #7525 Design a system for tracking bridge assignment metrics.

comment:4 Changed 5 years ago by isis

Status: assignedneeds_revision

Closing #9317 as a duplicate of this one, putting the information from that ticket on this one, and setting as 'needs revision' because I haven't testing or looked at this branch in a while.

Quoting #9317:

While writing bridgedb's logger, I made a context manager for storing a state dictionary which is, so far rather loosely defined, but it would allow us to gather free statistics on bridgedb. Essentially, you would use it like so:

from bridgedb import log as logging
logging.callWithContext(myfoocontext, {'addBridgeAssignment': foobridge})

It is also safely threadable, so it would be possible to use this to retrieve debugging information from threads, for instance for #5232.

The nice thing about this is that it is easily called from the logger (and will still handles log levels and all the other added features from #9199). The bad thing is that if it is not written very clearly, it could be difficult for other/new people reading the code to understand, especially if they are not familiar with Twisted.

Part of this was also discussed between myself and Karsten on tor-assistants@…, earlier this month, in the "BridgeDB data for metrics" thread.

comment:5 Changed 5 years ago by isis

Keywords: bridgedb added; bridges removed
Parent ID: #9199

comment:6 Changed 4 years ago by isis

Arma commented on !#4771 that we should be also tracking the "successfulness" of each distributor:

I would define success of a distribution strategy as a function of how many people are using the bridges that are given out by that strategy.

That means if a strategy never gives bridges to anybody, it would score low. And if it gives out a lot of bridges but they never get used because they got blocked, it would also score low.

It we wanted to get fancier, we would then have a per-country success value. And then we could compare distribution strategies for a given country.

The intuition comes from Damon's Proximax paper from long ago.

comment:7 Changed 12 months ago by teor

Severity: Normal

Set all open tickets without a severity to "Normal"

Note: See TracTickets for help on using tickets.