diff --git a/.gitignore b/.gitignore index eb79bfdc..2bd5b7be 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules *.log */linuxDash.min.js.map temp +package-lock.json diff --git a/app/server/linux_json_api.sh b/app/server/linux_json_api.sh index 16f573e5..9d9fa4e3 100755 --- a/app/server/linux_json_api.sh +++ b/app/server/linux_json_api.sh @@ -9,6 +9,9 @@ CAT=$(type -P cat) HEAD=$(type -P head) CUT=$(type -P cut) PS=$(type -P ps) +IOSTAT=$(type -p iostat) +WC=$(type -p wc) +TAIL=$(type -p tail) _parseAndPrint() { while read data; do @@ -16,6 +19,33 @@ _parseAndPrint() { done; } +rt_iostat() { + num=$($CAT /proc/diskstats | $GREP -E "vd. |sd. |dm|hd. " | $WC -l) + data=$($IOSTAT -dxm 1 2 | $GREP -E "sd. |dm|hd. |vd. " | $TAIL -n ${num} | $AWK '{printf $0"\n"}') + IFSOLD=$IFS + IFS=$'\n' + + result=$( + for line in ${data} + do + $ECHO $line | $AWK '{print \ + "{ \ +\"Device\": \""$1"\", \ +\"r/s\": "$4", \ +\"w/s\": "$5", \ +\"rMB/s\": "$6", \ +\"wMB/s\": "$7", \ +\"await\": "$10", \ +\"%util\": "$14" \ + },"}' + done +) + +IFS=$IFSOLD + +$ECHO -e "[\n""${result}""\n]" | $SED 'N;$s/,\n/\n/;P;D' | _parseAndPrint +} + arp_cache() { local arpCommand=$(type -P arp) diff --git a/src/js/core/routes.js b/src/js/core/routes.js index 10bbb8db..291ec174 100644 --- a/src/js/core/routes.js +++ b/src/js/core/routes.js @@ -32,6 +32,7 @@ function routesFn($routeProvider) { ' ', ' ', ' ', + ' ', ].join(''), }) diff --git a/src/js/plugins/simple-table-data-plugins.directive.js b/src/js/plugins/simple-table-data-plugins.directive.js index d4fc26f5..57a6ae15 100644 --- a/src/js/plugins/simple-table-data-plugins.directive.js +++ b/src/js/plugins/simple-table-data-plugins.directive.js @@ -90,7 +90,12 @@ var simpleTableModules = [ { name: 'cronHistory', template: '' - } + }, + { + name: 'rtIostat', + template: '' + }, + ] simpleTableModules.forEach(function(module, key) {