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
