Skip to main content

Makes use of strace

Project description

ttrace - strace as a tree

Uses strace to trace a program call and displays what's going on in a human friendly manner.

Project page

Usage

Currently you just run

ttrace.py <CMD>

as you would with strace but without any arguments to ttrace (strace will be called with a bunch of arguments automatically).

See next section to see what's coming.

Intended interface

The following commands and outputs reflect the current development plan:

ttrace <CMD|LOGFILE>

Prints annotated, pre-formatted and filtered output next to the process' original stdout and stderr.

ttrace --attach <PID|NAME>

Attaches to the given process and displays all but stdout and stderr of the process of course.

<CMD> | ttrace [<OTHER-ARGS>]

Same as with attach but using pipe semantics (limited due to the mixing of stderr and strace output.

ttrace --grep <PATTERN> <CMD>

Applies pattern to the original strace output and only outputs the matching content.

ttrace --tree <CMD>

Populates and displays a tree while the program is running.

ttrace --hybrid <CMD>

Not sure yet - plan is to have ncurses based split views for optionally any of the following elements:

  • tree output
  • combined stdout and stderr
  • alternatively split stdout and stderr
  • strace console
  • console with only warning character (whatever that means)
ttrace --timing <CMD>

Other ideas

  • trace changes environment
  • trace docker image usage
  • highlight failed processes

Installation

Development & Contribution

pip3 install -U poetry pre-commit
git clone --recurse-submodules https://projects.om-office.de/frans/ttrace.git
cd ttrace
pre-commit install
# if you need a specific version of Python inside your dev environment
poetry env use /home/frafue/.pyenv/versions/3.10.4/bin/python3
poetry install

License

For all code contained in this repository the rules of GPLv3 apply unless otherwise noted. That means that you can do what you want with the source code as long as you make the files with their original copyright notice and all modifications available.

See GNU / GPLv3 for details.

Read

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

ttrace-0.1.6.tar.gz (12.0 kB view hashes)

Uploaded Source

Built Distribution

ttrace-0.1.6-py3-none-any.whl (10.6 kB view hashes)

Uploaded Python 3

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