Профилировщик приложений
Этот модуль предоставляет middleware, который профилирует каждый запрос с помощью модуля cProfile. Это может помочь определить узкие места в вашем коде, которые могут замедляют ваше приложение.
-
class werkzeug.middleware.profiler.ProfilerMiddleware(app, stream=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>, sort_by=('time', 'calls'), restrictions=(), profile_dir=None, filename_format='{method}.{path}.{elapsed:.0f}ms.{time:.0f}.prof') -
Оборачивает WSGI-приложение и профилирует выполнение каждого запроса. Ответы буферизуются, чтобы временные метки были более точными.
Если
streamзадано,pstats.Statsзаписываются в него после каждого запроса. Еслиprofile_dirзадано, файлы данныхcProfileсохраняются в этом каталоге, по одному файлу на запрос.Имя файла можно настроить, передав
filename_format. Если это строка, она будет отформатирована с помощьюstr.format()со следующими доступными полями:-
{method}- Метод запроса; GET, POST и т.д. -
{path}- Путь запроса или ‘root’, если он отсутствует. -
{elapsed}- Время выполнения запроса. -
{time}- Время запроса.
Если это вызываемая функция, она будет вызвана со словарем WSGI
environи должна вернуть имя файла.Параметры: - app – WSGI-приложение для оборачивания.
-
stream – Запись статистики в этот поток. Отключить с помощью
None. -
sort_by – Кортеж столбцов для сортировки статистики. См.
pstats.Stats.sort_stats(). -
restrictions – Кортеж ограничений для фильтрации статистики. См.
pstats.Stats.print_stats(). - profile_dir – Сохранить файлы профилирования в этот каталог.
- filename_format – Форматная строка для имён файлов данных профиля или вызываемая функция, возвращающая имя. См. объяснение выше.
from werkzeug.middleware.profiler import ProfilerMiddleware app = ProfilerMiddleware(app)
Изменено в версии 0.15: Статистика записывается даже если
profile_dirзадано, и может быть отключена, передавstream=None.Добавлена в версии 0.15: Добавлена
filename_format.Добавлена в версии 0.9: Добавлены
restrictionsиprofile_dir. -
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/0.16.x/middleware/profiler/