WSGI middleware for line-by-line profiling
OTHER License
.. image:: https://badge.fury.io/py/wsgi-lineprof.svg :target: https://pypi.python.org/pypi/wsgi-lineprof/ :alt: PyPI version .. image:: https://img.shields.io/pypi/pyversions/wsgi_lineprof.svg :target: https://pypi.python.org/pypi/wsgi-lineprof/ :alt: PyPI Supported Python Versions .. image:: https://github.com/ymyzk/wsgi_lineprof/workflows/Tests/badge.svg :target: https://github.com/ymyzk/wsgi_lineprof/actions?workflow=Tests :alt: GitHub Actions (Tests) .. image:: https://readthedocs.org/projects/wsgi_lineprof/badge/?version=latest :target: https://wsgi-lineprof.readthedocs.io/ :alt: Documentation Status
wsgi_lineprof is a WSGI middleware for line-by-line profiling.
wsgi_lineprof has the following features:
wsgi_lineprof is not recommended to be used in production environment because of the overhead of profiling.
You can use wsgi_lineprof as a WSGI middleware of existing applications.
::
$ pip install wsgi_lineprof
Apply wsgi_lineprof to the existing WSGI web application:
.. code-block:: python
from wsgi_lineprof.middleware import LineProfilerMiddleware app = LineProfilerMiddleware(app)
Start the web application and access the application. wsgi_lineprof writes results to stdout every time an HTTP request is processed by default. You can see the output like this in your console:
::
... (snip) ...
9 @app.route('/')
10 def index():
11 1 1005175 time.sleep(1)
12 1 4 return "Hello world!!"
... (snip) ...
Also, you can check the result on your web browser by accessing the special endpoint /wsgi_lineprof/
.
Please check the documentation <https://wsgi-lineprof.readthedocs.io/en/latest/index.html>
_ for more details.