dj-tracker
is an app that tracks your queries to help detecting some possible performance optimisations listed in Database access optimization.
- Detailed field usage of model instances
- Report unused fields in a model instance and provides hints on when to use
.defer
and.only
- Report model instance attributes access and provides hints on when to use
.values
or.values_list
- Report cache hits and provides hints on when to use
iterator
- Provides hints on when to use
.count
,.contains
,.exists
- Detect N+1 queries
- Detect when a deferred field is loaded
- and many more insights into your queries with minimized overhead....
You can try dj-tracker
with the bakerydemo on the demo app.
- Python:
>=3.8
- Django:
>=3.2
- django-filter
Check out the installation steps if you want to get started quickly or the tutorial to see a concrete example of dj-tracker
usage.
All documentation is in the "docs" directory and online at https://tijani-dia.github.io/dj-tracker/
dj-tracker
is in alpha phase.
You can help a lot by reporting bugs you'll encounter. Feature requests, PRs or/and any feedback are also welcome.