Skip to main content

Produce a process tree from an strace log

Project description

https://github.com/mgedmin/strace-process-tree/actions/workflows/build.yml/badge.svg?branch=master

Reads strace -f output and produces a process tree. Example

$ strace -f -e trace=process -s 1024 -o /tmp/trace.out make binary-package
...

$ strace-process-tree /tmp/trace.out
25510 make binary-package
  ├─25511 /bin/sh -c 'dpkg-parsechangelog | awk '\''$1 == "Source:" { print $2 }'\'''
  │   ├─25512 dpkg-parsechangelog
  │   │   └─25514 tail -n 40 debian/changelog
  │   └─25513 awk '$1 == "Source:" { print $2 }'
  ├─25515 /bin/sh -c 'dpkg-parsechangelog | awk '\''$1 == "Version:" { print $2 }'\'''
  │   ├─25516 dpkg-parsechangelog
  │   │   └─25518 tail -n 40 debian/changelog
  │   └─25517 awk '$1 == "Version:" { print $2 }'
  ├─25519 /bin/sh -c 'dpkg-parsechangelog | grep ^Date: | cut -d: -f 2- | date --date="$(cat)" +%Y-%m-%d'
  │   ├─25520 dpkg-parsechangelog
  │   │   └─25525 tail -n 40 debian/changelog
  │   ├─25521 grep ^Date:
  │   ├─25522 cut -d: -f 2-
  │   └─25523 date --date=" Thu, 18 Jan 2018 23:39:51 +0200" +%Y-%m-%d
  │       └─25524 cat
  └─25526 /bin/sh -c 'dpkg-parsechangelog | awk '\''$1 == "Distribution:" { print $2 }'\'''
      ├─25527 dpkg-parsechangelog
      │   └─25529 tail -n 40 debian/changelog
      └─25528 awk '$1 == "Distribution:" { print $2 }'

Installation

Use your favourite pip wrapper to install strace-process-tree, e.g.

pipx install strace-process-tree

Synopsis

Usage: strace-process-tree [-h] [–version] [-c] [-C] [-U] [-A] [-v] filename

Read strace -f output and produce a process tree. Recommended strace options for best results:

strace -f -ttt -e trace=process -s 1024 -o FILENAME COMMAND

positional arguments:

filename strace log to parse (use - to read stdin)

optional arguments:
-h, --help

show this help message and exit

--version

show program’s version number and exit

-c, --color

force color output

-C, --no-color

disable color output

-U, --unicode

force Unicode output

-A, --ascii

force ASCII output

-v, --verbose

more verbose output

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

strace_process_tree-1.5.2.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

strace_process_tree-1.5.2-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file strace_process_tree-1.5.2.tar.gz.

File metadata

  • Download URL: strace_process_tree-1.5.2.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for strace_process_tree-1.5.2.tar.gz
Algorithm Hash digest
SHA256 38cfc4b1b76f4aa4bd0e2c9283cbf7fc6a80b035dea00c0e7311d6e25f4364c4
MD5 a170853c6c4cdcc16356f8f8010b4b50
BLAKE2b-256 537a75e2737f50a7bce27e0c6b8829bc56c41eb192e353060407a59963506d65

See more details on using hashes here.

File details

Details for the file strace_process_tree-1.5.2-py3-none-any.whl.

File metadata

File hashes

Hashes for strace_process_tree-1.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3cc032e8b3fa85abbbbff6e2f4781a944cabcf892f33cf7cdfc742c9899759b8
MD5 e466b66b75d0c96878724093ff88d7d5
BLAKE2b-256 1216ead56edb1de38e6d10982797ce06af7e92b99a76d596d6920e8e329c514b

See more details on using hashes here.

Supported by

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