Perftools includes a logger that will monitor requests execution time. Once it hits
the defined threshold, it will log to the named
perftools logger, including the
metadata for the request (as defined by Sentry's logging spec).
from perftools.middleware.slowreq import SlowRequestLoggingMiddleware app = SlowRequestLoggingMiddleware(app, threshold=100) # in ms
Profiles a request and saves the results to disk.
from perftools.middleware.remoteprof import RemoteProfilingMiddleware app = RemoteProfilingMiddleware(app, outpath='/var/data/cprofile-results/', percent=10) # 10% of requests
Logs requests which exceed a maximum number of queries.
from perftools.middleware.querycount import QueryCountLoggingMiddleware app = QueryCountLoggingMiddleware(app, threshold=100) # number of queries