Provide hints to optimize database usage by deferring unused fields
WARNING use this package only in dev environment!
- Django 1.9+
- Python 2.7, 3.4+
Install Django Eraserhead:
pip install django-eraserhead
Add it to your INSTALLED_APPS:
INSTALLED_APPS = (
...
'eraserhead.apps.EraserheadConfig',
...
)
ERASERHEAD_ENABLED = True
ERASERHEAD_TRACEBACK_BASE_PATH = BASE_DIR
Settings:
- ERASERHEAD_ENABLED - enable/disable Django Eraserhead
- ERASERHEAD_TRACEBACK_BASE_PATH - set base path to filter tracebacks. Set to None to display full traceback.
Django Eraserhead monitors:
- querysets/models fields usage (used and unused fields) with considering deferred fields
- count of instances created for each queryset
- corresponding model of each queryset
- traceback for each queryset to easily find corresponding code
- calculate memory consumption of unused fields
Based on fields usage Django Eraserhead suggests optimizations for each queryset.
- decorator and/or context processor for partial stats collecting
- detect deferred fields loading
- auto deferring fields based on usage
- display deferred fields
source <YOURVIRTUALENV>/bin/activate (myenv) $ pip install tox (myenv) $ tox
Tools used in rendering this package: