A PostgreSQL profiler for Django that uses pg_stat_statements extension
Project description
django_pg_stat_statements
A PostgreSQL query profiler for Django that uses pg_stat_statements
extension.
Changelog
v0.1.0
- Forked from django-pg-trunk
Requirements
- Python >= 3.7
- PostgreSQL >= 9.2
- Django >= 2.2
Installation
Install using pip:
pip install django-pg-stat-statements
Then add django_pg_stat_statements
to your INSTALLED_APPS
.
INSTALLED_APPS = [
...
'django_pg_stat_statements',
]
django-pg-stat-statements
will automatically install pg_stat_statements
extension for PostgreSQL if it doesn't exist, however pg_stat_statements
should be added to shared_preload_libraries
in the PostgreSQL config.
Usage
After installing the package, database queries can be examined under PostgreSQL Stat Statements > Query Statistics
in Django admin.
Change view have more detailed statistics. All of the columns of pg_stat_statements
can be found here.
A possible usecase of QueryStatistic
model can be running a cron job that checks if there is a query that takes more time than a specific thershold, and send related alerts (emails, Slack notifications, etc.).
Contribution
As a first step, please open an issue about the feature/bug.
-
Build and run tests with docker-compose:
docker-compose build test_app && docker-compose run --rm test_app
-
Tests can be run using
pytest
command. Tests for different environments will be run on CircleCI. -
Changes on Django Admin can be tested using
python manage.py runserver 0:8000
in development Docker container and navigating to http://127.0.0.1/admin.
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
File details
Details for the file django_pg_stat_statements-0.1.0.tar.gz
.
File metadata
- Download URL: django_pg_stat_statements-0.1.0.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab6c3123b21d4b07548c80ab12f6b7c103b24db0f5e07b1cf6a60713d7482f99 |
|
MD5 | d4f813c8ef71c2569e05c28f1eb69993 |
|
BLAKE2b-256 | a00e0c8003bb4feb5dcb2e8a4a21215fe3e816d0548be00a4ef27563170ba4d6 |
File details
Details for the file django_pg_stat_statements-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: django_pg_stat_statements-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 723015da8433faa524478330922bc831dc4abcb5d1878c6dbed8f8405b5dec27 |
|
MD5 | 98490d5224b58ef75824a9d399f3267a |
|
BLAKE2b-256 | 33ce8c43f98fcf44550deb9178ae03bf877c174ac5298512ffe1616105f487f0 |