Metadata-Version: 1.2
Name: django-processinfo
Version: 0.8.0
Summary: django-processinfo is a Django application to collect information about the running server processes.
Home-page: https://github.com/jedie/django-cms-tools
Author: Jens Diemer
Author-email: django-cms-tools@jensdiemer.de
License: GNU General Public License v3.0 or above
Description-Content-Type: UNKNOWN
Description: ==================
        django-processinfo
        ==================
        
        A reuseable Django application for collecing information about the running server processes.
        We try to cause as little additional overhead: django-processinfo creates most of the time only one database query to update the data.
        
        The most important data that django-processinfo will be captured:
        
        * Process statistics:
        
            * process PID, start time, life times
        
            * Number of average/max living processes
        
            * min/average/max response times
        
            * Total request/exceptions count
        
        * Memory statistics:
        
            * min/average/max memory usage (VmRSS, VmPeak)
        
        * System informations:
        
            * System memory usage
        
            * Swap usage
        
            * load average
        
        django-processinfo splits some of these data per SITE_ID, so you can see e.g. which site is mostly used.
        
        What is it not:
        
        * track user actions
        
        * collect infos which are found in e.g. apache.log
        
        * Its not a sourcecode profiler (read `https://code.djangoproject.com/wiki/ProfilingDjango <https://code.djangoproject.com/wiki/ProfilingDjango>`_)
        
        more info: `https://www.python-forum.de/viewtopic.php?f=6&t=27168 <https://www.python-forum.de/viewtopic.php?f=6&t=27168>`_ (de)
        
        ----------
        limitation
        ----------
        
        This only works, if **/proc/$$/status** exists. So only on unix/linux like platforms, yet.
        
        ----
        TODO
        ----
        
        Add unittests
        
        -----------
        screenshots
        -----------
        
        Here `some screenshots (from v0.2 - 19.08.2011) <https://github.com/jedie/jedie.github.io/tree/master/screenshots/django-processinfo>`_ how it looks like:
        
        ----
        
        |Screenshot 1|
        
        .. |Screenshot 1| image:: https://raw.githubusercontent.com/jedie/jedie.github.io/master/screenshots/django-processinfo/20110819_django-processinfo-1.png
        
        ----
        
        |Screenshot 2|
        
        .. |Screenshot 2| image:: https://raw.githubusercontent.com/jedie/jedie.github.io/master/screenshots/django-processinfo/20110819_django-processinfo-2.png
        
        -------
        install
        -------
        
        1. install it e.g.:
        
        ::
        
            pip install django-processinfo
        
        2. add settings (see below)
        
        3. create tables (run syncdb)
        
        --------
        settings
        --------
        
        add this to your settings.py:
        
        ::
        
            import os
            
            import django_processinfo
            
            
            INSTALLED_APPS = (
            	...
            	'django_processinfo',
            	...
            )
            
            MIDDLEWARE = (
                'django_processinfo.middlewares.ProcessInfoMiddleware',
                ...
            )
            
            # Put templates above admin contrib, e.g.:
            TEMPLATE_DIRS = (
            	...
                os.path.join(os.path.abspath(os.path.dirname(django_processinfo.__file__)), "templates/"),
                ...
            )
            
            # include app settings from ./django_processinfo/app_settings.py
            from django_processinfo import app_settings as PROCESSINFO
            
            # Change settings like this:
            PROCESSINFO.ADD_INFO = True
        
        ProcessInfoMiddleware
        =====================
        
        The **ProcessInfoMiddleware** can actually be inserted anywhere.
        However, it should be added far above. Thus, to capture everything.
        
        For performance enhancement, you can put **ProcessInfoMiddleware** after **LocalSyncCacheMiddleware**.
        But then, however, lacks statistical values on every cache hit!
        
        app settings
        ============
        
        Available django-processinfo settings can you found in `./django_processinfo/app_settings.py <https://github.com/jedie/django-processinfo/blob/master/django_processinfo/app_settings.py>`_
        
        --------------------
        Django compatibility
        --------------------
        
        +---------+----------+------------------+
        | Version | Python   | Django           |
        +=========+==========+==================+
        | v0.8.0  | python 3 | django v1.11 LTS |
        +---------+----------+------------------+
        | v0.7.0  | python 2 | django v1.5      |
        +---------+----------+------------------+
        | v0.6.1  | python 2 | django v1.4      |
        +---------+----------+------------------+
        
        -------
        history
        -------
        
        * *dev* - `compare v0.7.1...master <https://github.com/jedie/django-processinfo/compare/v0.7.1...master>`_
        
        * v0.8.0 - 09.03.2018 - `compare v0.7.1...master`_ 
        
            * Updates for Python v3 and Django 1.11
        
        * v0.7.1 - 20.08.2015 - `compare v0.6.3...v0.7.1 <https://github.com/jedie/django-processinfo/compare/v0.6.3...v0.7.1>`_ 
        
            * Changes for django 1.5 support
        
            * change setup install_requires to Django v1.3.x - v1.5.x
        
            * Bugfix in templates: missed i18n
        
        * v0.6.3 - 24.08.2012
        
            * remove auto commit date from version
        
        * v0.6.2
        
            * Auto cleanup ProcessInfo table to protect against overloading.
        
            * Don't insert django-processinfo "time cost" info if response.status_code is not 200
        
        * v0.6.1
        
            * Tested also with django v1.4
        
            * change setup install_requires to Django v1.3.x - v1.4.x
        
        * v0.6.0
        
            * Add "Reset all data" in object tools.
        
            * Make "Remove dead PIDs" and "Reset all data" available on both admin pages.
        
        * v0.5.2
        
            * `Bugfix if no SWAP used. <https://github.com/jedie/django-processinfo/issues/4>`_
        
        * v0.5.1
        
            * Add "Remove dead PIDs" as admin view in "Process statistics" object tools (top, right, grey links)
        
        * v0.5.0
        
            * Model changes: Please recreate tables, e.g.: ``./manage.py reset django_processinfo`` 
        
            * New: Display some static system informations (uname, domain name, ip adress, python version, sys.prefix)
        
            * New: current living processes (also per site)
        
            * display sum of user/system mode time
        
        * v0.4.1
        
            * Bugfix for UnicodeEncodeError in setup: Use new solution, see: `https://code.google.com/p/python-creole/wiki/UseInSetup <https://code.google.com/p/python-creole/wiki/UseInSetup>`_
        
        * v0.4
        
            * Bugfix with "Total created processes"
        
            * Display "Process lifetime"
        
        * v0.3.0
        
            * Display some system information from /proc/meminfo and 'load average'
        
            * Many Bugfixes
        
        * v0.2.0
        
            * Many things changes! Recreate tables, e.g: ``./manage.py reset django_processinfo`` 
        
        * v0.1.0
        
            * first Version
        
        --------
        Donation
        --------
        
        * `paypal.me/JensDiemer <https://www.paypal.me/JensDiemer>`_
        
        * `Flattr This! <https://flattr.com/submit/auto?uid=jedie&url=https%3A%2F%2Fgithub.com%2Fjedie%2Fdjango-reversion-compare%2F>`_
        
        * Send `Bitcoins <http://www.bitcoin.org/>`_ to `1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F <https://blockexplorer.com/address/1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F>`_
        
        -----
        links
        -----
        
        +--------+---------------------------------------------------+
        | GitHub | `https://github.com/jedie/django-processinfo`_    |
        +--------+---------------------------------------------------+
        | PyPi   | `http://pypi.python.org/pypi/django-processinfo`_ |
        +--------+---------------------------------------------------+
        
        .. _https://github.com/jedie/django-processinfo: https://github.com/jedie/django-processinfo
        .. _http://pypi.python.org/pypi/django-processinfo: http://pypi.python.org/pypi/django-processinfo
        
        contact
        =======
        
        Come into the conversation, besides the github communication features:
        
        +---------+--------------------------------------------------------+
        | Forum   | `http://www.pylucid.org/en/forum/10/`_                 |
        +---------+--------------------------------------------------------+
        | IRC     | #pylucid on freenode.net (Yes, the PyLucid channel...) |
        +---------+--------------------------------------------------------+
        | webchat | `http://webchat.freenode.net/?channels=pylucid`_       |
        +---------+--------------------------------------------------------+
        
        .. _http://www.pylucid.org/en/forum/10/: http://www.pylucid.org/en/forum/10/
        .. _http://webchat.freenode.net/?channels=pylucid: http://webchat.freenode.net/?channels=pylucid
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 1.8
Classifier: Topic :: Internet
Requires-Python: >=3.5
