blob: 11962f9eaf19d8ac04891efd0308dfcb165feac6 [file] [log] [blame]
#!/bin/bash
# -----------------------------------------------------------------------------
# Monitors selected set of ONOS commands using the system watch command.
# -----------------------------------------------------------------------------
function _usage () {
cat << _EOF_
usage:
$(basename $0) [node] <commands> [watchflags]
options:
- [node] <commands> : the node to run the commands against
- [watchflags] : flags to be passed to the watch command.
summary:
Monitors selected set of ONOS commands using the system watch command.
<commands> is a comma-sepatarted list of ONOS CLI commands. If no commands
are supplied, the commands run are 'summary', 'intents', 'flows', and
'hosts' against \$OCI.
Note that [watchflags] only applies to platforms with the Linux-like watch
command. For other platforms, the default behavior of watch (refresh every 2
s) is emulated.
_EOF_
}
[ "$1" = "-h" ] && _usage && exit 0
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. $ONOS_ROOT/tools/build/envDefaults
node=${1:-$OCI}
commands="${2:-summary,intents,flows,hosts}"
aux=/tmp/onos-watch.$$
trap "rm -f $aux" EXIT
echo "$commands" | tr ',' '\n' > $aux
# emulate watch if not Linux.
if [ "$(uname)" != "Linux" ]; then
while clear; "onos $node -b <$aux 2>/dev/null" ; do sleep 2; done
else
watch $3 "onos $node -b <$aux 2>/dev/null"
fi