Metadata-Version: 1.0
Name: repoze.profile
Version: 1.1
Summary: Aggregate profiling for WSGI requests
Home-page: http://www.repoze.org
Author: Agendaless Consulting
Author-email: repoze-dev@lists.repoze.org
License: BSD-derived (http://www.repoze.org/LICENSE.txt)
Description: repoze.profile README
        =====================
        
        This package provides a WSGI middleware component which aggregates
        profiling data across *all* requests to the WSGI application.  It
        provides a web GUI for viewing profiling data.
        
        Installation
        ------------
        
        Install using setuptools, e.g. (within a virtualenv)::
        
         $ easy_install repoze.profile
        
        Configuration via Python
        ------------------------
        
        Wire up the middleware in your application::
        
         from repoze.profile.profiler import AccumulatingProfileMiddleware
         middleware = AccumulatingProfileMiddleware(
                        app,
                        log_filename='/foo/bar.log',
                        cachegrind_filename='/foo/cachegrind.out.bar',
                        discard_first_request=True,
                        flush_at_shutdown=True,
                        path='/__profile__'
                       )
        
        The configuration options are as follows::
        
         - ``log_filename`` is the name of the file to which the accumulated
           profiler statistics are logged.
        
         - ``cachegrind_filename`` is the optional name of the file to which
           the accumulated profiler statistics are logged in the KCachegrind
           format.
        
         - If ``discard_first_request`` to true (the default), then the
           middleware discards the statistics for the first request:  the
           rationale is that there are a bunch of lazy / "first time"
           initializations which distort measurement of the application's
           normal performance.
        
         - If ``flush_at_shutdown`` is true (the default), profiling data will
           be deleted when the middleware instance disappears (via its
           __del__).  If it's false, profiling data will not be deleted.
        
         - ``path`` is the URL path to the profiler UI.  It defaults to
           ``/__profile__``.
        
        Once you have some profiling data, you can visit ``path`` in your
        browser to see a user interface displaying profiling statistics
        (e.g. ``http://localhost:8080/__profile__``).
        
        Configuration via Paste
        -----------------------
        
        Wire the middleware into a pipeline in your Paste configuration, for
        example::
        
         [filter:profile]
         use = egg:repoze.profile#profile
         log_filename = myapp.profile
         cachegrind_filename = cachegrind.out.myapp
         discard_first_request = true
         path = /__profile__
         flush_at_shutdown = true
         ...
        
         [pipeline:main]
         pipeline = egg:Paste#cgitb
                    egg:Paste#httpexceptions
                    profile
                    myapp
        
        Once you have some profiling data, you can visit ``path`` in your
        browser to see a user interface displaying profiling statistics.
        
        Reporting Bugs / Development Versions
        -------------------------------------
        
        Visit http://bugs.repoze.org to report bugs.  Visit
        http://svn.repoze.org to download development or tagged versions.
        
        
        
        
        Changelog
        =========
        
        1.1 (2009-10-06)
        ----------------
        
        - 100% test coverage.
        
        - Get rid of spurious measurements of testing scaffolding in profile
          output (show no calls that are inside r.profile itself).
        
        1.0 (2009-06-04)
        ----------------
        
        - Relax the pinned requirement on elementtree < 1.2.7.
        
        0.9 (2009-05-10)
        ----------------
        
        - Made the `pyprof2calltree` dependency conditional on the Python version.
          This package depends on Python >= 2.5.
        
        0.8 (2009-02-25)
        ----------------
        
        - Added optional support for directly writing out the profiling data in the
          KCacheGrind format.
        
        - Avoid a dependency on `elementtree` when used with Python 2.5 and later.
          In those Python versions we used the built-in xml.etree support.
        
        0.7 (2009-02-08)
        ----------------
        
        - ``discard_first_request = true`` did not work!
        
        - Added tests for ``discard_first_request`` and ``flush_at_shutdown``.
        
        - Converted CHANGES.txt to ReST.
        
        - Bump ez_setup.py version.
        
        0.6 (2008-08-21)
        ----------------
        
        - ``discard_first_request = false`` did not work.
        
        - Clearing the profile data from the user interface did not properly
           discard profiler state.
        
        0.5 (2008-06-11)
        ----------------
        
        - Initial PyPI release.
        
        0.4 (2008-05-07)
        ----------------
        
        - Remove dependency-link to http://dist.repoze.org to prevent
          easy_install from adding that to its search path.
        
        - Incorporated a patch from Alec Flett <alecf@metaweb.com> to uses
          ``cProfile``, if available, rather than pure Python ``profile``.
        
        - Bump ez_setup.py version.
        
        0.3 (2008-02-20)
        ----------------
        
        - Added compatibility with Python 2.5.
        
        - Made setup.py depend explicitly on ElementTree 1.2.6: meld needs it
          but meld isn't a setuptools package.
        
        0.2 (2008-02-20)
        ----------------
        
        - Added a browser UI.
        
        - Added a knob to control discard at shutdown.
        
        0.1 (2008-02-08)
        ----------------
        
        - Initial release.
        
Keywords: web application server wsgi zope
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
