A couple obvious places:
Latency to backend systems. So, any time that I call out to my cache backend or database, keep track of round trip latency of those.
Full system latency. So, From the time a request enters the URL routing until it gets sent back to a client.
Request counts. Keep track of the number of times a specific view or urlconf entry has been hit. This might be a bit intensive, and not worth having on.
Average latency for every view. So you can keep track of what views are the slowest.
Query counts on a per-view and overall system view.
Cache hit rates as viewed by the cache backend.
Error counts on a per-view basis. Also probably for any backend system interface.
These are the first things that came to me. I'm sure some of them are a bit heavy weight for what we want to do. There are likely also other places where you would want to provide stats.
As for implementation, we've been using mmstats[0] at Urban Airship successfully. It does require C bits, so it might not be great for Django, especially in regards to pypy integration. However, it is pretty darn low overhead, and might be worth at least stealing some ideas from.
Cheers,
Eric