cra
mr

Quick profiling your Django website with `debug_toolbar`

You're viewing an archived post which may have broken links or images. If this post was valuable and you'd like me to restore it, let me know!

One of the projects that I’ve been spending a lot of time with is the django-debug-toolbar. It was started off by Rob Hudson, and since has had huge amounts of support. While my fork is quite a ways off of Rob’s, they’re both quite useful in their own right. To clear up one very annoying detail: This project is in no way intended to replace profiling tools or complex debugging tools like pdb. It’s designed to give you quick access to general information to help debug or rough profile your web application.

I’ve been focusing on some of the hardcore features in panels, such as my SQL panel. MySQL users will find this especially useful, as not only do you get EXPLAIN support (provided for all backends which support it via EXPLAIN [statement]) but you also can get a printout of all of the available indexes and their columns. It makes figuring out what’s going on with your database a lot quicker.

I have also added full tracebacks for both database queries, and cache calls. Again, see the example, but it is another very helpful feature which can assist you in finding where stuff is happening within your codebase.

Among the many changes that have been getting thrown into my [somewhat unstable] fork, is a great design revamp by a character who goes by mape. It gives it a much more django-esque feel, and even has a lot of fancy “web 2.0” (javascript) actions hooked in, such as inline filtering and sorting of tables.

To try out the project, it’s just a few simple actions to get it up and running:

*

I very much urge anyone who’s interested in the project to give feedback, as well as contribute if they so desire. There’s still a lot this project can achieve, and it most certainly can be a benefit in most web applications.

Just a note, if you’re using my branch, the template panel (as of writing) is non functional as I like to source everything, and it’s being revamped for Django+Jinja.