Skip to main content

The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/response and when clicked, display more details about the panel’s content.

This package provides a panel that incorporates output from line_profiler

The stock line_profiler is only compatible with the 2.x branch of python but a patched version for Python 3 can be installed with:

pip install cython
pip install -e hg+https://bitbucket.org/kmike/line_profiler@7999f21#egg=line_profiler

(cf. http://stackoverflow.com/questions/6273139/profiling-by-line-with-python-3)

This panel will only function with django_debug_toolbar>=1.0, before that it’s functionality was contained in the debug_toolbar.panels.profiling.ProfilingPanel.

This Django Debug Toolbar panel is released under the BSD license, like Django and the Django Debug Toolbar. If you like it, please consider contributing!

The Django Debug Toolbar was originally created by Rob Hudson in August 2008 and was further developed by many contributors.

Installation

To install the line_profiler panel, first install this package with pip install django-debug-toolbar-line-profiler, then add debug_toolbar_line_profiler to the INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'debug_toolbar_line_profiler',
)

and add the panel to DEBUG_TOOLBAR_PANELS:

DEBUG_TOOLBAR_PANELS = (
    ...
    'debug_toolbar_line_profiler.panel.ProfilingPanel',
)

Configuration

By default, the panel will profile your view function. If you use class based views the panel will profile all functions on the class that don’t start with _. If you want additional code to be profiled, add the @profile_additional decorator like so:

from debug_toolbar_line_profiler import profile_additional
from boto.s3.connection import S3Connection

...

@profile_additional(S3Connection.make_request)
def your_view_code(*args, **kwargs):
    ...

Signals

There is also a signal (debug_toolbar_line_profiler.signals.profiler_setup) that you can attach to for integrating class based views like django rest framework.

Here is an example:

from rest_framework.viewsets import ViewSet
from rest_framework.response import Response
from debug_toolbar_line_profiler import signals


class AViewSet(ViewSet):
    def list(self, request):
        return Response([])

    def retrieve(self, request, pk=None):
        return Response({})


def register_profile_views(sender, profiler, **kwargs):
    profiler.add_function(AViewSet.list)
    profiler.add_function(AViewSet.retrieve)


signals.profiler_setup.connect(register_profile_views,
                               dispatch_uid='register_profile_views')

Release files for django-debug-toolbar-line-profiler 0.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-debug-toolbar-line-profiler 0.6.1
File Size Uploaded
django-debug-toolbar-line-profiler-0.6.1.tar.gz 7.9 kB Details

Release files / django-debug-toolbar-line-profiler-0.6.1.tar.gz

Download URL django-debug-toolbar-line-profiler-0.6.1.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
30dcf8850e833d34d271f010c60779afad2ab71b7428bf48dbf6322ce7bf6bfe
BLAKE2b-256 checksum
How to use checksums
0da32bbde1c1a9bfac3be34723d2c8d79fe8de37701b7ecab75261f7fa283d16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.6.1 This release

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page