Skip to content

A database access profiler for Django-based applications that can be ran in production

Notifications You must be signed in to change notification settings

dulacp/django-live-profiler

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

django-live-profiler

Profile Django-based applications running in production with minimal performance overhead.

Rationale

Profiling web applications on a development environment often produces misleading results due to different patterns in the data, different patterns in user behavior and differences in infrastructure.

All existing DB access profiling solutions for Django seem to be focusing on a single request. However, in the real world certain queries might be negligible in a single request while still putting a considerable strain the database across all requests.

django-live-profiler aims to solve these issues by collecting database usage data from a live application.

Installation

  1. Run pip install django-live-profiler
  2. Add 'profiler' app to INSTALLED_APPS
  3. Add 'profiler.middleware.ProfilerMiddleware' to MIDDLEWARE_CLASSES
  4. Optionally add 'profiler.middleware.StatProfMiddleware' to MIDDLEWARE_CLASSES to enable Python code statistical profiling (using statprof). WARNING: this is an experimental feature, beware of possible incorrect output.
  5. Add url(r'^profiler/', include('profiler.urls')) to your urlconf

In order to start gathering data you need to start the aggregation server:

$ aggregated --host 127.0.0.1 --port 5556

Visit http://yoursite.com/profiler/ for results.

About

A database access profiler for Django-based applications that can be ran in production

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 65.5%
  • JavaScript 34.5%