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) {