Hi, When working with large projects, it is sometimes the case that you run into problems where some edge case causes a pathologically high number of queries for processing a specific request. These cases are hard to debug, because it is not always easy to reconstruct the edge-case and even identify the exact request (because post-data is not always available). Django collects all the queries on a connection if DEBUG=True, but when it's hard to reproduce, you sometimes need some sort of monitoring in production, where DEBUG=True is not really an option.
Something that could be very helpful is just to count the queries -- a counter cab be incremented with no noticeable overhead in CursorWrapper, and it can be reset and/or examined at request start/end points (even with a Middleware, as long as we have them). This would enable a project to define alerts or errors or whatever when there are two many database queries, at a level where enough information can be given to help solve the problem. Similar measures may be applicable to other resources as well, if they are handled by thread-local objects like the database connections. I'm not sure which ones apply. Thoughts? Thanks, Shai.