Skip to main content

WSGI Middleware version of the CherryPy memory leak debugger

Project description

Dozer

https://travis-ci.com/mgedmin/dozer.svg?branch=master https://ci.appveyor.com/api/projects/status/github/mgedmin/dozer?branch=master&svg=true https://coveralls.io/repos/mgedmin/dozer/badge.svg?branch=master

Dozer was originally a WSGI middleware version of Robert Brewer’s Dowser CherryPy tool that displays information as collected by the gc module to assist in tracking down memory leaks. It now also has middleware for profiling and for looking at logged messages.

Tracking down memory leaks

Usage:

from dozer import Dozer

# my_wsgi_app is a WSGI application
wsgi_app = Dozer(my_wsgi_app)

Assuming you’re serving your application on the localhost at port 5000, you can then load up http://localhost:5000/_dozer/index to view the gc info.

Profiling requests

Usage:

from dozer import Profiler

# my_wsgi_app is a WSGI application
wsgi_app = Profiler(my_wsgi_app)

Assuming you’re serving your application on the localhost at port 5000, you can then load up http://localhost:5000/_profiler to view the list of recorded request profiles.

Here’s a blog post by Marius Gedminas that contains a longer description of Dozer’s profiler.

Inspecting log messages

Usage:

from dozer import Logview

# my_wsgi_app is a WSGI application
wsgi_app = Logview(my_wsgi_app)

Every text/html page served by your application will get some HTML and Javascript injected into the response body listing all logging messages produced by the thread that generated this response.

Here’s a blog post by Marius Gedminas that contains a longer description of Dozer’s logview.

Dozer Changelog

0.8 (November 13, 2020)

  • Add support for Python 3.8 and 3.9.

  • Drop support for Python 3.5.

  • Add UI input for existing “floor” query string parameter (https://github.com/mgedmin/dozer/issues/2)

  • Add UI input to filter type charts by a regular expression

  • Add sorting option: monotonicity

  • Display traceback on 500 Internal Server Error

  • Dicts and sets with unsortable keys are no longer unrepresentable

  • Aggregate dynamically-created types with the same __name__ and __module__ (issue 9).

0.7 (April 23, 2019)

  • Add support for Python 3.7.

  • Drop support for Python 3.3 and 3.4.

  • Stop using cgi.escape on Python 3, which is especially important now that it’s been removed from Python 3.8.

0.6 (May 18, 2017)

  • Add support for Python 3.6.

  • Drop support for Python 2.6.

  • Fix rare TypeError when listing profiles, if two profiles happen to have the exact same timestamp (https://github.com/mgedmin/dozer/pull/4).

0.5 (December 2, 2015)

  • Make /_dozer show the index page (instead of an internal server error).

  • Add support for Python 3.4 and 3.5.

  • Drop support for Python 2.5.

  • Move to GitHub.

0.4 (March 21, 2013)

  • 100% test coverage.

  • Add support for Python 3.2 or newer.

  • Drop dependency on Paste.

0.3.2 (February 10, 2013)

0.3.1 (February 6, 2013)

0.3 (December 13, 2012)

  • Emit the “PIL is not installed” only if the Dozer middleware is actually used.

  • Give a name to the Dozer memleak thread.

  • You can now supply a function directly to Logview(stack_formatter=fn)

  • New configuration option for Logview middleware: tb_formatter, similar to stack_formatter, but for exception tracebacks.

0.2 (December 5, 2012)

  • Adding logview that appends log events for the current request to the bottom of the html output for html requests.

  • Adding profiler for request profiling and call tree viewing.

  • Refactored Dozer into its own leak package.

  • New maintainer: Marius Gedminas.

0.1 (June 14, 2008)

  • Initial public release, port from Dowser, a CherryPy tool.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Dozer-0.8.tar.gz (88.7 kB view details)

Uploaded Source

Built Distribution

Dozer-0.8-py2.py3-none-any.whl (91.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file Dozer-0.8.tar.gz.

File metadata

  • Download URL: Dozer-0.8.tar.gz
  • Upload date:
  • Size: 88.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.6

File hashes

Hashes for Dozer-0.8.tar.gz
Algorithm Hash digest
SHA256 aec6053ce5c8a2c795f5264fc19d2fce146c8840405f9aa8036c068c899b19e9
MD5 40f423c97ef30122cf0feea4598f948b
BLAKE2b-256 6564a81aa16eef84363442e9d3b7686b62c344abd0fb4838332c763c713f11e2

See more details on using hashes here.

File details

Details for the file Dozer-0.8-py2.py3-none-any.whl.

File metadata

  • Download URL: Dozer-0.8-py2.py3-none-any.whl
  • Upload date:
  • Size: 91.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.6

File hashes

Hashes for Dozer-0.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 ab01a622dfa9aba4f2965dded0b8533dba5ae497d6026a80c4f5b80b2c93dfa6
MD5 6ae06f5dea82f2cc44e2bc5aa34f513e
BLAKE2b-256 72dfc340f86d5c556d8df7ffeec17e6ab965d54fa9a3fabca897d3fb8c44a6e1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page