Code


Version 5 (modified by LawrenceOluyede, 7 years ago) (diff)

Added info about gather_profile_stats.py

django.core.handlers.profiler-hotshot provides profiling support for Django when using mod_python. Hotshot generates logs that can be also used by aplication like kcachegrind. Read Django profiling with hotshot and kcachegrind for more details.

Here's a similar solution for the internal development webserver. Apply the included patch to django/core/management.py and start Django with manage.py runserver. Each request will create a .prof file in your /tmp directory. You can then open a Python shell and print the statistics:

>>> import hotshot.stats
>>> stats = hotshot.stats.load("stones.prof")
>>> stats.strip_dirs()
>>> stats.sort_stats('time', 'calls')
>>> stats.print_stats(20)

You can also use gather_profile_stats.py in the Django distribution to aggregate the generated profilings and open them with pstats.Stats

A 2nd option is perfmon which keeps track of performance data for individual requests and lets them be viewed via the django admin interface. This tool is free for people developing opensource projects.

Attachments (5)

Download all attachments as: .zip