WSGI Application Profiler
WSGI Application Profiler
This module provides a simple WSGI profiler middleware for findingbottlenecks in web application. It uses the profile orcProfile module to do the profiling and writes the stats to thestream provided (defaults to stderr).
Example usage:
from werkzeug.contrib.profiler import ProfilerMiddleware
app = ProfilerMiddleware(app)
class werkzeug.contrib.profiler.MergeStream(*streams)
An object that redirects write calls to multiple streams.Use this to log to both sys.stdout and a file:
f = open('profiler.log', 'w')
stream = MergeStream(sys.stdout, f)
profiler = ProfilerMiddleware(app, stream)
class werkzeug.contrib.profiler.ProfilerMiddleware(app, stream=None, sort_by=('time', 'calls'), restrictions=(), profile_dir=None)
Simple profiler middleware. Wraps a WSGI application and profilesa request. This intentionally buffers the response so that timings aremore exact.
By giving the profile_dir argument, pstat.Stats files are saved to thatdirectory, one file per request. Without it, a summary is printed tostream instead.
For the exact meaning of sort_by and restrictions consult theprofile documentation.
0.9 新版功能: Added support for restrictions and profile_dir.
参数: |
|
---|
werkzeug.contrib.profiler.make_action(app_factory, hostname='localhost', port=5000, threaded=False, processes=1, stream=None, sort_by=('time', 'calls'), restrictions=())
Return a new callback for werkzeug.script that starts a localserver with the profiler enabled.
from werkzeug.contrib import profiler
action_profile = profiler.make_action(make_app)