2015-04-08 2 views
2

Существует множество способов профилировать виды Django. Например, custom middleware или this custom tab для панели инструментов Debug Django.Как профилировать собственное программное обеспечение Django?

Каков способ профилирования самого промежуточного программного обеспечения django?

ответ

1

Вы можете инкапсулировать все другое промежуточное программное обеспечение. В своем внешнем промежуточном программном обеспечении, в process_request, начните профилирование. Обычно я использую profile.enable() и profile.disable() с экземпляром cProfile.Profile, это позволяет мне начинать и останавливать профилирование в произвольной точке, тогда как profile.runcall() требует, чтобы вы вызывали фактическую функцию, которая не является промежуточным программным обеспечением в Django.

В своем внутреннем промежуточном программном обеспечении определите process_view(), чтобы просто вернуть HttpResponse(''). Таким образом, сам вид не вызывается и не будет включен в ваш профиль.

Затем, в своем внешнем промежуточном программном обеспечении, определите process_response(), чтобы остановить профилирование и вывести профиль либо в браузер, либо в файл.

0

Если вы хотите удалить все результаты, отличные от промежуточного программного обеспечения, из профилирующих результатов, вы можете просто создать пустое представление, которое возвращает пустой HttpResponse.

+0

Функциональность промежуточного программного обеспечения может очень сильно зависеть от того, какой вид называется или какой URL-адрес доступен. – knbk

Смежные вопросы