Spec-Zone.ru › Werkzeug 1.0

Профилировщик приложений

Этот модуль предоставляет 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/1.0.x/middleware/profiler/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API