Version 5 (modified by 18 years ago) ( diff ) | ,
---|
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)
-
runserver-profiler.diff
(1.3 KB
) - added by 19 years ago.
patch for management.py enables profiling for runserver
-
runserver-profiler2.diff
(1.2 KB
) - added by 18 years ago.
updated the patch against the latest revision
-
runserver-profiler2.2.diff
(1.2 KB
) - added by 18 years ago.
updated the patch against the latest revision and made the path configurable
-
profiler-cprofile.py
(547 bytes
) - added by 17 years ago.
Adapted profile handler to use cProfile module. Place in django/core/handlers and set PythonHandler in apache conf
-
runserver-profiler3.diff
(2.3 KB
) - added by 16 years ago.
New patch against r7569. Extend runserver command with '--profile' argument. Will run djangos development server with profiling output into systems temporary directory.
Download all attachments as: .zip