Skip to main content

A django application that displays the load and other statistics about your memcached instances in the admin.

Project description

https://img.shields.io/pypi/v/django-memcache-status.svg https://travis-ci.org/bartTC/django-memcache-status.svg?branch=master https://api.codacy.com/project/badge/Coverage/1d7d0306c4d14fb9817017d7d23237fe https://api.codacy.com/project/badge/Grade/1d7d0306c4d14fb9817017d7d23237fe

django-memcache-status

This app displays the current load and some statistics for your memcached instances in the index view of your Django admin section.

Currently these memcached bindings are tested:

Backend

Support

python-memcached with vanilla Django

✅ Works fine with >= v1.57

pylibmc with django-pylibmc

✅ Works fine

pymemcache with django-pymemcache

❎ Does not provide stats

Other bindings may provide statistics too.

Installation

First add memcache_status to your INSTALLED_APPS list.

INSTALLED_APPS = [
    # ...
    'memcache_status',
]

Then you have two options:

  1. The quickest way is to replace your Django Admin index page with the one provided by django-memcache-status. This will show the memcache stats in the top left column. This was the regular behavior of django-memcache-status prior to version 2.0.

    Place this in any admin.py file of your project:

    from django.contrib import admin
    admin.site.index_template = 'memcache_status/admin_index.html'
  2. If you need to manually place the stats, simply add the CSS file and include the memcache-status template anywhere you like:

    <link rel="stylesheet" href="{% static "memcache_status.css" %}"/>
    {% include "memcache_status/memcache_status.html" %}

Local Development

Install the package using Pipenv and run the tests:

$ pipenv install --dev
$ pipenv run test

You can test against a matrix of Python and Django versions using tox:

$ tox

Once run you will see a coverage report in /tmp/coverage_report/django-memcache-status.

You can run a local runserver with the test application to see the admin:

$ pipenv run django-admin.py migrate
$ pipenv run django-admin.py createsuperuser
$ pipenv run django-admin.py runserver

To test a specific cache backend define it in the env variable:

$ TEST_CACHE_BACKEND=django-pylibmc pipenv run django-admin.py runserver

Changelog

v2.2 (2020-02-05):

  • Compatibility and tests for Django 2.2 and 3.0, and Python 3.8.

  • Use pytest for testing.

v2.1 (2019-03-21):

  • Removed some deprecated django-debug-toolbar and pre-Django 1.11 related workarounds.

  • More comprehensive unittests across all backends and it’s relation with django-debug-toolbar.

v2.0 (2019-03-16):

  • Compatibility and tests for Django 1.11 → 2.1 and Python 2.7 → 3.7.

  • Full code cleanup and update to latest standards.

  • Tested against a variety of memcache bindings.

  • Pipenv support for local development and testing.

  • [Backwards Incompatible] memcache-status no longer automatically overwrites the admin index template to add the stats. Instead you have the option to either manually display the stats anywhere you like using a template include, or use the contributed memcache-status admin index page that overwrites the vanilla Django template and adds statistics to the top left admin index page. This was the regular behavior of django-memcache-status prior to version 2.0.

v1.3 (2016-10-13):

  • Django 1.10 compatibility and test integration. Python 3 compatibility.

v1.2 (2009-11-06):

  • Unittests, General code cleanup to support Django 1.8+ features such as

  • AppConfig, Django-Debugtoolbar support, Python3 Support, Compatibility tests

  • with latest supported Django versions (currently Django 1.8 and 1.9) but the

  • package is likely working with Django 1.4+.

v1.1 (2009-06-29):

  • Added support for Django’s multiple cache backend setting. Kudos to Luke Granger-Brown for the implementation.

  • This version is compatible with Django v1.3 and up.

v1.0 (2009-04-30):

  • Initial Release.

  • This version is compatible up to Django v1.2.


Screenshots

https://user-images.githubusercontent.com/1896/54476030-f0dd3080-47f8-11e9-8399-b11f3bf15ebc.png https://user-images.githubusercontent.com/1896/54476031-f470b780-47f8-11e9-842f-95d880563a53.png

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-memcache-status-2.2.tar.gz (21.3 kB view hashes)

Uploaded Source

Built Distribution

django_memcache_status-2.2-py2.py3-none-any.whl (13.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page