usereport
gathers system statistics on the localhost that may be used as the base information for an performance analysis following the USE methodology
created by Brendan Gregg. Please also see this blog post by Brendan for an introduction to USE and the statistics gathered by this tool.
This tool is part of my base server installation. I use it everywhere. It allows me to quickly assess performance characteristics in case of performance issues. The output format is Markdown or HTML for convenient reading. There's also JSON output possible for automatic processing or you can define you're own output format using Handlebars templates.
The main functionality is exposed as a Rust library to be used in your own projects at your convenience.
There are default configurations for Linux and macOS, respectively, that are built into the corresponding binary. Please see the contrib
directory. In case of Linux, several profiles have been defined that allow for statistic gathering depending on the context of your analysis, i.e., mem
for virtual memory and net
for network analyses.
```sh usereport 0.1.1 Lukas Pustina lukas@pustina.net Collect system information for the first 60 seconds of a performance analysis
USAGE: usereport [FLAGS] [OPTIONS] [+|-command]...
FLAGS: -d, --debug Activate debug mode -h, --help Prints help information --no-progress Force to hide progress bar while waiting for all commands to finish --progress Force to show progress bar while waiting for all commands to finish --show-commands Show available commands --show-config Show active config --show-output-template Show active template --show-profiles Show available profiles -V, --version Prints version information
OPTIONS:
-c, --config
ARGS: <+|-command>... Add or remove commands from selected profile by prefixing the command's name with '+' or '-', respectively, e.g., +uname -dmesg; you may need to use '--' to signify the end of the options ```
sh
usereport --profile mem --progress --output html
Please add my PackageCloud open source repository and install usereport via apt.
sh
curl -s https://packagecloud.io/install/repositories/lukaspustina/opensource/script.deb.sh | sudo bash
sudo apt-get install usereport
There are binaries available at the GitHub Release Page. The binaries get compiled on Ubuntu Bionic.
Please install Rust via rustup and then run
sh
cargo install usereport-rs
You're free to use usereport. If you find it useful, I would highly appreciate you sending me a postcard from your hometown mentioning how you use usereport. My work address is
Lukas Pustina
CenterDevice GmbH
Rheinwerkallee 3
53227 Bonn
Germany
I'll be happy about suggestions and pull requests.