Skip to content

DiegoCarnero/pycrunch-trace

 
 

Repository files navigation

UI Overview

PyTrace UI

Quick start

Interactive Demo

Documentation

pip install pycrunch-trace

Then, Add attribute @trace to the method you want to record

from pycrunch_trace.client.api import trace

@trace
def run():
    some_code()

Or, alternatively, without decorator:

from pycrunch_trace.client.api import Trace

tracer = Trace()
tracer.start('recording_name')

some_code()

tracer.stop()

Optional session_name can be also passed to decorator:

@trace('my_custom_recording_name')

Specifying custom folders/files to exclude

this will greatly speed-up profiler, however calls to the ignored directories will be ignored.

Exclusion will be considered if absolute file path either starts_with or ends_with with given stop-list.

from pycrunch_trace.client.api import Trace
 
t = Trace()
t.start(additional_excludes=[
             '/Users/gleb/.venvs/pycrunch_trace'
             '/Users/gleb/.pyenv/versions/3.6.15/',
             'unwanted_file.py',
        ])

some_code()

t.stop()

This is also possible via decorator:

from pycrunch_trace.client.api import trace

@trace(additional_excludes=['/Users/gleb/.venvs/pycrunch_trace'])
def run():
    some_code()

Use web app for replaying recording:

http://app.pytrace.com/

In case if you want to run UI locally, instead of using hosted version: Link for web app source code

(Replays are not sent anywhere and processed entirely in-memory)

About

Time Travel Debugging for Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.3%
  • Cython 9.7%