Profilowanie Django
Wymagania
By móc profilować aplikację django musi ona działać pod Apache poprzez mod_python. Oto prosta konfiguracja: Różnica to:PythonHandler django.core.handlers.profiler-hotshot
Zamiast:
PythonHandler django.core.handlers.modpython
Logi zapisywane są domyślnie w /var/log/cmsprofile i katalog ten musi istnieć a apache mieć prawa zapisu. Gdy już wszystko gotowe wystarczy wywołać stronę aplikacji django w przeglądarce. Dla każdego wywołania zapisany zostanie oddzielny plik (ukryty, zaczynający się od kropki).
Pojawiło się też middleware wykorzystujące hotshot do generowania logów dla danego widoku
Generowalnie logów Kcachegrind
kcachegrind to aplikacja KDE do analizy logów profilerów. Istnieje również Wingrind, lecz nie wiem czy potrafi on konwertować logi hotshot do obsługiwanego formatu. Kcachegrind umożliwia konwersję, wystarczy wykonać w konsoli:hotshot2calltree plik.prof > cachegrind.out.01
I otrzymamy plik obsługiwany przez samą aplikację. Efekt:


Jak używać hotshot
Jeżeli chcesz profilować swój skrypt wystarczy taki kod: Plik *prof konwertujemy w ten sam sposób.
RkBlog