django-postgres-metrics
Project description
=======================
A Django application that exposes a bunch of PostgreSQL database metrics.
Background
----------
At `PyCon Canada 2017 <https://2017.pycon.ca/>`__ `Craig Kerstiens
<http://www.craigkerstiens.com/>`__ gave a talk "`Postgres at any scale
<https://2017.pycon.ca/schedule/56/>`__". In his talk Craig pointed out a bunch
of metrics one should look at to understand why a PostgreSQL database could be
"slow" or not perform as expected.
This project adds a Django Admin view exposing these metrics to Django users
with the ``is_superusers`` flag turned on.
Installation
------------
Start by installing ``django-postgres-metrics`` from PyPI::
$ pip install django-postgres-metrics
You will also need to make sure to have ``psycopg2`` or ``psycopg2-binary``
installed which is already a requirement by Django for PostgreSQL support
anyway.
Then you need to add ``postgres_metrics`` to your ``INSTALLED_APPS`` list. Due
to the wait postgres_metrics works, you need to include it *before* the
``admin`` app::
INSTALLED_APPS = [
'postgres_metrics.apps.PostgresMetrics',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Lastly, you need to add a URL path to your global ``urls.py`` *before* the
``admin`` URL patterns.
For Django 2.0 and up::
from django.urls import include, path
urlpatterns = [
path('admin/postgres-metrics/', include('postgres_metrics.urls')),
path('admin/', admin.site.urls),
]
For Django 1.11 and before::
from django.conf.urls import include, url
urlpatterns = [
url(r'^admin/postgres-metrics/', include('postgres_metrics.urls')),
url(r'^admin/', admin.site.urls),
]
Security
--------
If you found or if you think you found a security issue please get in touch via
``info+django-postgres-stats *AT* markusholtermann *DOT* eu``.
I'm working about this in my free time. I don't have time to monitor the email
24/7. But you should normally receive a response within a week. If I haven't
got back to you within 2 weeks, please reach out again.
TESTING
-------
To run the unit tests::
$ pip install tox
$ tox
Home-page: https://github.com/django-postgres-metrics/django-postgres-metrics
Author: Markus Holtermann
Author-email: info+django-postgres-stats@markusholtermann.eu
License: BSD
Description-Content-Type: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
A Django application that exposes a bunch of PostgreSQL database metrics.
Background
----------
At `PyCon Canada 2017 <https://2017.pycon.ca/>`__ `Craig Kerstiens
<http://www.craigkerstiens.com/>`__ gave a talk "`Postgres at any scale
<https://2017.pycon.ca/schedule/56/>`__". In his talk Craig pointed out a bunch
of metrics one should look at to understand why a PostgreSQL database could be
"slow" or not perform as expected.
This project adds a Django Admin view exposing these metrics to Django users
with the ``is_superusers`` flag turned on.
Installation
------------
Start by installing ``django-postgres-metrics`` from PyPI::
$ pip install django-postgres-metrics
You will also need to make sure to have ``psycopg2`` or ``psycopg2-binary``
installed which is already a requirement by Django for PostgreSQL support
anyway.
Then you need to add ``postgres_metrics`` to your ``INSTALLED_APPS`` list. Due
to the wait postgres_metrics works, you need to include it *before* the
``admin`` app::
INSTALLED_APPS = [
'postgres_metrics.apps.PostgresMetrics',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
Lastly, you need to add a URL path to your global ``urls.py`` *before* the
``admin`` URL patterns.
For Django 2.0 and up::
from django.urls import include, path
urlpatterns = [
path('admin/postgres-metrics/', include('postgres_metrics.urls')),
path('admin/', admin.site.urls),
]
For Django 1.11 and before::
from django.conf.urls import include, url
urlpatterns = [
url(r'^admin/postgres-metrics/', include('postgres_metrics.urls')),
url(r'^admin/', admin.site.urls),
]
Security
--------
If you found or if you think you found a security issue please get in touch via
``info+django-postgres-stats *AT* markusholtermann *DOT* eu``.
I'm working about this in my free time. I don't have time to monitor the email
24/7. But you should normally receive a response within a week. If I haven't
got back to you within 2 weeks, please reach out again.
TESTING
-------
To run the unit tests::
$ pip install tox
$ tox
Home-page: https://github.com/django-postgres-metrics/django-postgres-metrics
Author: Markus Holtermann
Author-email: info+django-postgres-stats@markusholtermann.eu
License: BSD
Description-Content-Type: UNKNOWN
Description: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django-postgres-metrics-0.6.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 200ca09bf130eebc5feb3856b003cd7e4dd211555a9af669c26c9650ad111179 |
|
MD5 | 1e9c68be7afc5c4820001697a7e2734a |
|
BLAKE2b-256 | 7236b6ea1e83edf9cc2f0ed11b1ce6d83d39f455b3204c6bade96bba595e75aa |
Close
Hashes for django_postgres_metrics-0.6.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | edbe5fa538ee9dd5d60976d9e97f6b1a0b1b15ab8bf8d7ca9168733bffb8b387 |
|
MD5 | 499cf4dcad982e5d1b70f73464d2a825 |
|
BLAKE2b-256 | 746494dcd5866e6d2874f12e12541c6ab84400470ed9c13e0de82e17fc1a12f5 |