This module provides a middleware that profiles each request with the cProfile
module. This can help identify bottlenecks in your code that may be slowing down your application.
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')
Wrap a WSGI application and profile the execution of each request. Responses are buffered so that timings are more exact.
If stream
is given, pstats.Stats
are written to it after each request. If profile_dir
is given, 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 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.
Parameters: |
|
---|
from werkzeug.middleware.profiler import ProfilerMiddleware app = ProfilerMiddleware(app)
Changed in version 0.15: Stats are written even if profile_dir
is given, and can be disable by passing stream=None
.
New in version 0.15: Added filename_format
.
New in version 0.9: Added restrictions
and profile_dir
.
© 2007–2020 Pallets
Licensed under the BSD 3-clause License.
https://werkzeug.palletsprojects.com/en/1.0.x/middleware/profiler/