-
Notifications
You must be signed in to change notification settings - Fork 7
Home
StraceAnalyser is a python-based tool that parse the output of Linux strace and do some analysis and statistics by various plugins. The primary objectives is for Linux system support, who get the strace output file from client, to analysis the strace output for information.
For quick demo just checkout the code and run:
./strace_analyser -e StatProcessTree test/stardict.out
For usage please run
./strace_analyser -h
Since this project is still in preliminary stage the structure can change quickly. Here are some basic information:
StraceAnalyser is based mainly on two parts: the strace parser and the plugins
It is a parser for Linux strace output. Our target is a general strace output parser that can parse different format of strace (i.e. strace run with different options).
Currently it supports:
- with/without -t/-tt (with time)
- with/without -T (with time spent in syscall)
- with/without -f (with pid)
It doesn't support with "-ff" option (multiple file for multiple child process) yet.
The parser will parses the strace output file and pass the syscall result to plugins (see below).
They are some plugins that process the parsed output of strace. Every single plugin can "register" the syscall they are "interested" in. And then when parser parses a line of syscall it will involve the registered plugins to process it.
Currently it supports:
- StatProcessTree : Summarize the process fork tree from the strace file
- StatFileIO : Summarize file IO (file name, read/write bytes, etc) from the strace output
If you are interested, feel free to send email to me: johnlcf_At_gmail_dot_com
StraceAnalyser is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.