https://github.com/darrenldl/stramon
Process behavior monitoring utility and library based on strace
https://github.com/darrenldl/stramon
process-monitoring strace
Last synced: 12 months ago
JSON representation
Process behavior monitoring utility and library based on strace
- Host: GitHub
- URL: https://github.com/darrenldl/stramon
- Owner: darrenldl
- License: mit
- Created: 2022-09-05T07:23:58.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-05-09T04:10:46.000Z (about 3 years ago)
- Last Synced: 2025-06-04T22:45:43.771Z (about 1 year ago)
- Topics: process-monitoring, strace
- Language: OCaml
- Homepage:
- Size: 315 KB
- Stars: 28
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Stramon
Process behavior monitoring utility and library based on strace
## Installation
Stramon is primarily distributed as a statically linked binary
in releases right now.
#### Building from source
Easiest way is to first build a container image using the Dockerfile under `containers/statically-linked`
```
$ cd containers/statically-linked
$ podman build . -t stramon
```
Then run `start-container.sh` to start and enter the container, navigate to the
mounted repo location within the container and use the release static make command
```
$ ./start-container.sh
# cd /root/stramon # now we are inside the container
# make release-static
```
The statically linked binary should now be available as `statically-linked/stramon`
## Usage
To trace a command:
```
$ stramon CMD
```
`stramon-latest.json` symlink is updated to point
to the newest JSON file
```
$ cat stramon-latest.json | jq "."
```
## Help message
```
$ straamon --help
stramon [-o JSON_OUTPUT] -- prog arg ...
-o JSON file output path, defaults to: stramon_DATE-TIME.json.
If provided path PATH is a directory, then output path is PATH/stramon_DATE-TIME.json
-f Force overwrite of output file
--no-link Disable adding/updating symlink stramon-latest.json
--version Print version and exit
--debug Enable debugging output to OUTPUT_PATH.debug
--raw Copy received strace output to OUTPUT_PATH.raw
-help Display this list of options
--help Display this list of options
```
## Example JSON files
- Firefox: `examples/firefox.json`