strace-process-tree
===================
.. image:: https://github.com/mgedmin/strace-process-tree/workflows/build/badge.svg?branch=master
:target: https://github.com/mgedmin/strace-process-tree/actions
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
Raw data
{
"_id": null,
"home_page": "https://github.com/mgedmin/strace-process-tree",
"name": "strace-process-tree",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "strace log process tree",
"author": "Marius Gedminas",
"author_email": "marius@gedmin.as",
"download_url": "https://files.pythonhosted.org/packages/69/f7/9698d9442827eed068d8cd0b4470632bb340389fdc47ba3265fb77013946/strace_process_tree-1.5.1.tar.gz",
"platform": null,
"description": "strace-process-tree\n===================\n\n.. image:: https://github.com/mgedmin/strace-process-tree/workflows/build/badge.svg?branch=master\n :target: https://github.com/mgedmin/strace-process-tree/actions\n\n\nReads strace -f output and produces a process tree. Example ::\n\n $ strace -f -e trace=process -s 1024 -o /tmp/trace.out make binary-package\n ...\n\n $ strace-process-tree /tmp/trace.out\n 25510 make binary-package\n \u251c\u250025511 /bin/sh -c 'dpkg-parsechangelog | awk '\\''$1 == \"Source:\" { print $2 }'\\'''\n \u2502 \u251c\u250025512 dpkg-parsechangelog\n \u2502 \u2502 \u2514\u250025514 tail -n 40 debian/changelog\n \u2502 \u2514\u250025513 awk '$1 == \"Source:\" { print $2 }'\n \u251c\u250025515 /bin/sh -c 'dpkg-parsechangelog | awk '\\''$1 == \"Version:\" { print $2 }'\\'''\n \u2502 \u251c\u250025516 dpkg-parsechangelog\n \u2502 \u2502 \u2514\u250025518 tail -n 40 debian/changelog\n \u2502 \u2514\u250025517 awk '$1 == \"Version:\" { print $2 }'\n \u251c\u250025519 /bin/sh -c 'dpkg-parsechangelog | grep ^Date: | cut -d: -f 2- | date --date=\"$(cat)\" +%Y-%m-%d'\n \u2502 \u251c\u250025520 dpkg-parsechangelog\n \u2502 \u2502 \u2514\u250025525 tail -n 40 debian/changelog\n \u2502 \u251c\u250025521 grep ^Date:\n \u2502 \u251c\u250025522 cut -d: -f 2-\n \u2502 \u2514\u250025523 date --date=\" Thu, 18 Jan 2018 23:39:51 +0200\" +%Y-%m-%d\n \u2502 \u2514\u250025524 cat\n \u2514\u250025526 /bin/sh -c 'dpkg-parsechangelog | awk '\\''$1 == \"Distribution:\" { print $2 }'\\'''\n \u251c\u250025527 dpkg-parsechangelog\n \u2502 \u2514\u250025529 tail -n 40 debian/changelog\n \u2514\u250025528 awk '$1 == \"Distribution:\" { print $2 }'\n\n\nInstallation\n------------\n\nUse your favourite pip wrapper to install strace-process-tree, e.g.\n\n pipx install strace-process-tree\n\n\nSynopsis\n--------\n\nUsage: strace-process-tree [-h] [--version] [-c] [-C] [-U] [-A] [-v] filename\n\nRead strace -f output and produce a process tree. Recommended strace options\nfor best results:\n\n strace -f -ttt -e trace=process -s 1024 -o FILENAME COMMAND\n\npositional arguments:\n filename strace log to parse (use - to read stdin)\n\noptional arguments:\n -h, --help show this help message and exit\n --version show program's version number and exit\n -c, --color force color output\n -C, --no-color disable color output\n -U, --unicode force Unicode output\n -A, --ascii force ASCII output\n -v, --verbose more verbose output\n\n",
"bugtrack_url": null,
"license": "GPL v2 or v3",
"summary": "Produce a process tree from an strace log",
"version": "1.5.1",
"project_urls": {
"Homepage": "https://github.com/mgedmin/strace-process-tree"
},
"split_keywords": [
"strace",
"log",
"process",
"tree"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "77220d3820ab0584db9a72dc3982c08e0aa9dbdb35ab8fbd56ac1fb839a94e7f",
"md5": "9722d8cbd6a3cdb70d2e2423d229b9cb",
"sha256": "ccc8139d28d29f159ac99779007b847bf7ba1697b915d76da5cbc3d9448ca3ec"
},
"downloads": -1,
"filename": "strace_process_tree-1.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9722d8cbd6a3cdb70d2e2423d229b9cb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 14478,
"upload_time": "2024-10-09T11:16:00",
"upload_time_iso_8601": "2024-10-09T11:16:00.575465Z",
"url": "https://files.pythonhosted.org/packages/77/22/0d3820ab0584db9a72dc3982c08e0aa9dbdb35ab8fbd56ac1fb839a94e7f/strace_process_tree-1.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "69f79698d9442827eed068d8cd0b4470632bb340389fdc47ba3265fb77013946",
"md5": "26360700ef1674fc3707eed32a05acc0",
"sha256": "efc7d6ac8992c68633d71ec4fd7b51653a16cd693bef80f7160239059dad805a"
},
"downloads": -1,
"filename": "strace_process_tree-1.5.1.tar.gz",
"has_sig": false,
"md5_digest": "26360700ef1674fc3707eed32a05acc0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 23774,
"upload_time": "2024-10-09T11:16:02",
"upload_time_iso_8601": "2024-10-09T11:16:02.391588Z",
"url": "https://files.pythonhosted.org/packages/69/f7/9698d9442827eed068d8cd0b4470632bb340389fdc47ba3265fb77013946/strace_process_tree-1.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-09 11:16:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mgedmin",
"github_project": "strace-process-tree",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"appveyor": true,
"tox": true,
"lcname": "strace-process-tree"
}