Spec-Zone.ru › Werkzeug 3.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 и должен вернуть строку с именем файла. Словарь environ также будет содержать ключ "werkzeug.profiler", заполненный словарем, содержащим следующие поля (в будущем может быть добавлено больше): - {elapsed} - Время выполнения запроса в миллисекундах. - {time} - Время запроса.

Параметры:
  • app (WSGIApplication) – WSGI-приложение для обертывания.
  • stream (t.IO[str] | None) – Запись данных профилирования в этот поток. Отключить с помощью None.
  • sort_by (t.Iterable[str]) – Кортеж столбцов для сортировки данных профилирования. Смотрите pstats.Stats.sort_stats().
  • restrictions (t.Iterable[str | int | float]) – Кортеж ограничений для фильтрации данных профилирования. Смотрите pstats.Stats.print_stats().
  • profile_dir (str | None) – Сохранить файлы данных профилирования в эту директорию.
  • filename_format (str) – Строка формата для имён файлов данных профилирования, или вызываемый объект, возвращающий имя. См. объяснение выше.
from werkzeug.middleware.profiler import ProfilerMiddleware
app = ProfilerMiddleware(app)

Изменено в версии 3.0: Добавлен ключ "werkzeug.profiler" к параметру filename_format(environ) с полями elapsed и time.

Изменения

Изменено в версии 0.15: Данные профилирования записываются, даже если profile_dir задан, и могут быть отключены путём передачи stream=None.

Добавлена в версии 0.15: Добавлен filename_format.

Добавлена в версии 0.9: Добавлены restrictions и profile_dir.

© 2007 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/3.0.x/middleware/profiler/

Spec-Zone.ru

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