Code


Version 6 (modified by Noah Slater <nslater@…>, 7 years ago) (diff)

This has nothing to do with *profiling* Django.

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

Attachments (5)

Download all attachments as: .zip