skip to navigation
skip to content

Not Logged In

tipper 0.1

A utility for dumping stack traces of running Python processes

Tipper is a small utility for dumping stack tracebacks of running Python processes.

Included is a module that, when imported, installs a signal handler for SIGUSR1. Running kill -SIGUSR1 [pid] will cause the process to dump the current stack trace of each thread to $TMPDIR/tipper-[unix timestamp]-[parent pid]-[pid].log.

Tipper can also be used as Django application, though it has no dependencies on Django itself.

Python 2.5 or newer is required. Python 3.x is also supported.

Download

Usage

To take Tipper for a test drive, first install Tipper:

$ pip install tipper

Set up a Python process to inspect:

$ cat > test.py <<EOF
> import os, sys, time, tipper
> sys.stdout.write('%s\n' % os.getpid())
> while True:
>     time.sleep(1)
> EOF
$ python test.py
945

And send SIGUSR1 to it:

$ kill -SIGUSR1 945

You should end up with a file in $TMPDIR that looks like the following:

$ cat "$TMPDIR/tipper-1292830152.19-681-945.log"
Date: 2010-12-20 18:29:12.192733
Parent process ID: 681
Process ID: 945

Traceback (thread 140048470763264):

  File "test.py", line 4, in <module>
    time.sleep(1)

      Arguments: <module>()
      Local variables:

      {'__builtins__': <module '__builtin__' (built-in)>,
       '__doc__': None,
       '__file__': 'test.py',
       '__name__': '__main__',
       '__package__': None,
       'os': <module 'os' from '/usr/lib/python2.6/os.pyc'>,
       'sys': <module 'sys' (built-in)>,
       'time': <module 'time' (built-in)>,
       'tipper': <module 'tipper' from '/usr/local/lib/python2.6/dist-packages/tipper/__init__.py'>}

To get a briefer overview of the log, you can use grep:

$ grep -v '^      \|^$' "$TMPDIR/tipper-1292830152.19-681-945.log"
Date: 2010-12-20 18:29:12.192733
Parent process ID: 681
Process ID: 945
Traceback (thread 140048470763264):
  File "test.py", line 4, in <module>
    time.sleep(1)

News

Version 0.1 (Dec. 20, 2010)

  • Initial release.

Development

Download the official development repository using Mercurial:

hg clone https://bitbucket.org/brodie/tipper

Visit Bitbucket if you'd like to fork the project, watch for new changes, or report issues.

 
File Type Py Version Uploaded on Size
tipper-0.1.tar.gz (md5, pgp) Source 2013-03-31 3KB
  • Downloads (All Versions):
  • 2 downloads in the last day
  • 24 downloads in the last week
  • 155 downloads in the last month