-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
bcb781e
commit 1d8e4f6
Showing
1 changed file
with
94 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,99 @@ | ||
# USE Report | ||
# USE-Report | ||
|
||
[![Build Status](https://dev.azure.com/lukaspustina/usereport-rs/_apis/build/status/lukaspustina.usereport-rs?branchName=master)](https://dev.azure.com/lukaspustina/usereport-rs/_build/latest?definitionId=3&branchName=master) | ||
[![Linux & OS X Build Status](https://dev.azure.com/lukaspustina/usereport-rs/_apis/build/status/lukaspustina.usereport-rs?branchName=master)](https://dev.azure.com/lukaspustina/usereport-rs/_build/latest?definitionId=3&branchName=master) [![](https://img.shields.io/crates/v/usereport-rs.svg)](https://crates.io/crates/usereport-rs) [![](https://docs.rs/usereport-rs/badge.svg)](https://docs.rs/crate/usereport-rs/) [![MIT licensed](https://img.shields.io/badge/license-MIT-blue.svg?label=License)](./LICENSE) | ||
|
||
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 for convenient reading. | ||
`usereport` gathers system statistics on the localhost that may be used as the base information for an performance analysis following the [USE methodology](http://www.brendangregg.com/usemethod.html) | ||
created by Brendan Gregg. Please also see [this blog post](http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html) by Brendan for an introduction to USE and the statistics gathered by this tool. | ||
|
||
The script gathers system statistics on the localhost that may be used as the base information for an performance analysis following the [USE methodology](http://www.brendangregg.com/usemethod.html) | ||
created by Brendan Gregg. | ||
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](https://handlebarsjs.com). | ||
|
||
Please also see [this blog post](http://techblog.netflix.com/2015/11/linux-performance-analysis-in-60s.html) by Brendan for an introduction to USE and the statistics gathered by this tool | ||
The main functionality is exposed as a Rust library to be used in your own projects at your convenience. | ||
|
||
|
||
## Command Line Tool | ||
|
||
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. | ||
|
||
### Help | ||
|
||
```bash | ||
usereport 0.1.0 | ||
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 <config> Configuration from file, or default if not present | ||
-o, --output <output> Output format [default: markdown] [possible values: hbs, | ||
html, json, markdown] | ||
--output-template <output-template> Set output template if output is set to "hbs" | ||
--parallel <parallel> Set number of commands to run in parallel; overrides setting from config | ||
file | ||
-p, --profile <profile> Set profile to use | ||
--repetitions <repetitions> Set number of how many times to run commands in row; overrides setting | ||
from config file | ||
|
||
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 | ||
``` | ||
### Example on Linux | ||
```bash | ||
usereport --profile mem --progress --output html | ||
``` | ||
## Installation | ||
### Ubuntu Bionic [x86_64] | ||
Please add my [PackageCloud](https://packagecloud.io/lukaspustina/opensource) open source repository and install _usereport_ via apt. | ||
```bash | ||
curl -s https://packagecloud.io/install/repositories/lukaspustina/opensource/script.deb.sh | sudo bash | ||
sudo apt-get install usereport | ||
``` | ||
### Linux Binaries [x86_64] | ||
There are binaries available at the GitHub [Release Page](https://github.com/lukaspustina/usereport-rs/releases). The binaries get compiled on Ubuntu Bionic. | ||
### Sources | ||
Please install Rust via [rustup](https://www.rustup.rs) and then run | ||
```bash | ||
cargo install usereport-rs | ||
``` | ||
## Postcardware | ||
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 | ||
``` | ||
|
||
## Contributing | ||
|
||
I'll be happy about suggestions and pull requests. | ||