I manage what is probably the largest open, public, wifi network in a 50 mile radius. Of course, it's rural Nebraska so that isn't really saying much, but we have 60+ access points spread over 18 buildings.
I say all that because I know from experience that if, as your comment indicates, you're looking for a way that Starbucks could spot anti-social users, the way to do this is not with an app on a client. Rather, you want to do this upstream from the access point, or even on the access point itself. We use a product called Untangle, which has the ability to detect bittorrent and other high-volume traffic and force those connections in a reduced bandwidth mode. Stopping p2p traffic entirely is a nearly impossible task, but you can slow it enough to keep it from degrading the experience for everyone.
Most smaller chains just stick something like a customized tomato or dd-wrt on a $60 consumer router and ship it out to each location with little to no support. There's really just not much there to work with. Starbucks itself might do something a little nicer, like use an enterprise grade access point ($600 and up) with centralized monitoring, but that's almost worse: those watching the screen have to account for hundreds of access points, rather than just a few.