class documentation

class ProfilerMiddleware: (source)

View In Hierarchy

Wrap a WSGI application and profile the execution of each request. Responses are buffered so that timings are more exact. If ``stream`` is given, :class:`pstats.Stats` are written to it after each request. If ``profile_dir`` is given, :mod:`cProfile` data files are saved to that directory, one file per request. The filename can be customized by passing ``filename_format``. If it is a string, it will be formatted using :meth:`str.format` with the following fields available: - ``{method}`` - The request method; GET, POST, etc. - ``{path}`` - The request path or 'root' should one not exist. - ``{elapsed}`` - The elapsed time of the request. - ``{time}`` - The time of the request. If it is a callable, it will be called with the WSGI ``environ`` dict and should return a filename. :param app: The WSGI application to wrap. :param stream: Write stats to this stream. Disable with ``None``. :param sort_by: A tuple of columns to sort stats by. See :meth:`pstats.Stats.sort_stats`. :param restrictions: A tuple of restrictions to filter stats by. See :meth:`pstats.Stats.print_stats`. :param profile_dir: Save profile data files to this directory. :param filename_format: Format string for profile data file names, or a callable returning a name. See explanation above. .. code-block:: python from werkzeug.middleware.profiler import ProfilerMiddleware app = ProfilerMiddleware(app) .. versionchanged:: 0.15 Stats are written even if ``profile_dir`` is given, and can be disable by passing ``stream=None``. .. versionadded:: 0.15 Added ``filename_format``. .. versionadded:: 0.9 Added ``restrictions`` and ``profile_dir``.

Method __call__ Undocumented
Method __init__ Undocumented
Instance Variable _app Undocumented
Instance Variable _filename_format Undocumented
Instance Variable _profile_dir Undocumented
Instance Variable _restrictions Undocumented
Instance Variable _sort_by Undocumented
Instance Variable _stream Undocumented
def __call__(self, environ: WSGIEnvironment, start_response: StartResponse) -> t.Iterable[bytes]: (source)

Undocumented

def __init__(self, app: WSGIApplication, stream: t.IO[str] = sys.stdout, sort_by: t.Iterable[str] = ('time', 'calls'), restrictions: t.Iterable[t.Union[str, int, float]] = (), profile_dir: t.Optional[str] = None, filename_format: str = '{method}.{path}.{elapsed:.0f}ms.{time:.0f}.prof'): (source)

Undocumented

Undocumented

_filename_format = (source)

Undocumented

_profile_dir = (source)

Undocumented

_restrictions = (source)

Undocumented

_sort_by = (source)

Undocumented

Undocumented