add --update option. minor fixes
This commit is contained in:
parent
b508c27b64
commit
c4246b9ab0
|
@ -7,7 +7,7 @@ metrics.sh is a lightweight metrics collection and fowarding utility implemented
|
||||||
```
|
```
|
||||||
$ ./metrics.sh --help
|
$ ./metrics.sh --help
|
||||||
|
|
||||||
Usage: ./metrics.sh [-d] [-h] [-v] [-c] [-m] [-r] [-i]
|
Usage: ./metrics.sh [-d] [-h] [-v] [-c] [-m] [-r] [-i] [-C] [-u]
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
|
@ -16,6 +16,8 @@ $ ./metrics.sh --help
|
||||||
-r, --reporter <reporter> use specified reporter (default: stdout)
|
-r, --reporter <reporter> use specified reporter (default: stdout)
|
||||||
-i, --interval <seconds> collect metrics every n seconds (default: 2)
|
-i, --interval <seconds> collect metrics every n seconds (default: 2)
|
||||||
-v, --verbose enable verbose mode
|
-v, --verbose enable verbose mode
|
||||||
|
-C, --print-config print output to be used in a config file
|
||||||
|
-u, --update pull the latest version (requires git)
|
||||||
-d, --docs show documentation
|
-d, --docs show documentation
|
||||||
-h, --help show this text
|
-h, --help show this text
|
||||||
```
|
```
|
||||||
|
@ -28,7 +30,7 @@ $ git clone git@github.com:pstadler/metrics.sh.git
|
||||||
|
|
||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
metrics.sh has been tested on Ubuntu 14.04 and Mac OS X but is supposed to run on most Unix-like operating systems. Some of the provided metrics require [procfs](http://en.wikipedia.org/wiki/Procfs) to be available when running on *nix. POSIX compliancy means that metrics.sh works with minimalistic command interpreters such as [dash](http://manpages.ubuntu.com/manpages/trusty/en/man1/dash.1.html). Built-in metrics do **not** require root privileges.
|
metrics.sh has been tested on Ubuntu 14.04 and Mac OS X but is supposed to run on most Unix-like operating systems. Some of the provided metrics require [procfs](http://en.wikipedia.org/wiki/Procfs) to be available when running on *nix. POSIX compliancy means that metrics.sh works with minimalistic command interpreters such as [dash](http://manpages.ubuntu.com/manpages/trusty/en/man1/dash.1.html). Built-in metrics do __not__ require root privileges.
|
||||||
|
|
||||||
## Metrics
|
## Metrics
|
||||||
|
|
||||||
|
|
|
@ -4,3 +4,7 @@
|
||||||
is_function () {
|
is_function () {
|
||||||
type $1 2> /dev/null | grep -q 'function$'
|
type $1 2> /dev/null | grep -q 'function$'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
command_exists () {
|
||||||
|
type $1 > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
32
metrics.sh
32
metrics.sh
|
@ -6,7 +6,7 @@ LANG=en_US.UTF-8
|
||||||
LANGUAGE=en_US.UTF-8
|
LANGUAGE=en_US.UTF-8
|
||||||
|
|
||||||
usage () {
|
usage () {
|
||||||
echo " Usage: $0 [-d] [-h] [-v] [-c] [-m] [-r] [-i] [-C]"
|
echo " Usage: $0 [-d] [-h] [-v] [-c] [-m] [-r] [-i] [-C] [-u]"
|
||||||
}
|
}
|
||||||
|
|
||||||
help () {
|
help () {
|
||||||
|
@ -20,8 +20,9 @@ help () {
|
||||||
echo " -r, --reporter <reporter> use specified reporter (default: stdout)"
|
echo " -r, --reporter <reporter> use specified reporter (default: stdout)"
|
||||||
echo " -i, --interval <seconds> collect metrics every n seconds (default: 2)"
|
echo " -i, --interval <seconds> collect metrics every n seconds (default: 2)"
|
||||||
echo " -v, --verbose enable verbose mode"
|
echo " -v, --verbose enable verbose mode"
|
||||||
echo " -d, --docs show documentation"
|
|
||||||
echo " -C, --print-config print output to be used in a config file"
|
echo " -C, --print-config print output to be used in a config file"
|
||||||
|
echo " -u, --update pull the latest version (requires git)"
|
||||||
|
echo " -d, --docs show documentation"
|
||||||
echo " -h, --help show this text"
|
echo " -h, --help show this text"
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
@ -31,9 +32,10 @@ opt_config_file=
|
||||||
opt_metrics=
|
opt_metrics=
|
||||||
opt_reporter=
|
opt_reporter=
|
||||||
opt_interval=
|
opt_interval=
|
||||||
opt_docs=false
|
|
||||||
opt_verbose=false
|
opt_verbose=false
|
||||||
opt_print_config=false
|
opt_print_config=false
|
||||||
|
opt_do_update=false
|
||||||
|
opt_docs=false
|
||||||
|
|
||||||
while [ $# -gt 0 ]; do
|
while [ $# -gt 0 ]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
|
@ -57,18 +59,22 @@ while [ $# -gt 0 ]; do
|
||||||
opt_interval=$1
|
opt_interval=$1
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-v|-verbose)
|
-v|--verbose)
|
||||||
opt_verbose=true
|
opt_verbose=true
|
||||||
;;
|
;;
|
||||||
|
|
||||||
-d|--docs)
|
|
||||||
opt_docs=true
|
|
||||||
;;
|
|
||||||
|
|
||||||
-C|--print-config)
|
-C|--print-config)
|
||||||
opt_print_config=true
|
opt_print_config=true
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
-u|--update)
|
||||||
|
opt_do_update=true
|
||||||
|
;;
|
||||||
|
|
||||||
|
-d|--docs)
|
||||||
|
opt_docs=true
|
||||||
|
;;
|
||||||
|
|
||||||
-h|--help)
|
-h|--help)
|
||||||
help
|
help
|
||||||
exit
|
exit
|
||||||
|
@ -86,6 +92,16 @@ done
|
||||||
# run
|
# run
|
||||||
. ./lib/main.sh
|
. ./lib/main.sh
|
||||||
|
|
||||||
|
if [ $opt_do_update = true ]; then
|
||||||
|
if ! command_exists git; then
|
||||||
|
echo "Error: --update requires `git` to be in the PATH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Fetching latest version..."
|
||||||
|
git pull https://github.com/pstadler/metrics.sh.git master
|
||||||
|
exit $?
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $opt_verbose = true ]; then
|
if [ $opt_verbose = true ]; then
|
||||||
verbose_on
|
verbose_on
|
||||||
verbose "Started in verbose mode"
|
verbose "Started in verbose mode"
|
||||||
|
|
Loading…
Reference in New Issue