diff --git a/glances/outputs/static/html/plugins/diskio.html b/glances/outputs/static/html/plugins/diskio.html
index 2cd9de34..c638eb8a 100644
--- a/glances/outputs/static/html/plugins/diskio.html
+++ b/glances/outputs/static/html/plugins/diskio.html
@@ -1,10 +1,16 @@
+
{{disk.name | min_size}}
-
{{disk.readBytes | bytes}}
-
{{disk.writeBytes | bytes}}
+
{{disk.bitrate.txps }}
+
{{disk.bitrate.rxps }}
+
+
{{disk.count.txps }}
+
{{disk.count.rxps }}
diff --git a/glances/outputs/static/js/services/plugins/glances_diskio.js b/glances/outputs/static/js/services/plugins/glances_diskio.js
index 2ba1a396..42306e5a 100644
--- a/glances/outputs/static/js/services/plugins/glances_diskio.js
+++ b/glances/outputs/static/js/services/plugins/glances_diskio.js
@@ -1,18 +1,26 @@
-glancesApp.service('GlancesPluginDiskio', function() {
+glancesApp.service('GlancesPluginDiskio', function($filter) {
var _pluginName = "diskio";
this.disks = [];
this.setData = function(data, views) {
data = data[_pluginName];
+ data = $filter('orderBy')(data,'disk_name');
this.disks = [];
for (var i = 0; i < data.length; i++) {
var diskioData = data[i];
+ var timeSinceUpdate = diskioData['time_since_update'];
var diskio = {
'name': diskioData['disk_name'],
- 'readBytes': diskioData['read_bytes'],
- 'writeBytes': diskioData['write_bytes']
+ 'bitrate': {
+ 'txps': $filter('bytes')(diskioData['read_bytes'] / timeSinceUpdate),
+ 'rxps': $filter('bytes')(diskioData['write_bytes'] / timeSinceUpdate)
+ },
+ 'count': {
+ 'txps': $filter('bytes')(diskioData['read_count'] / timeSinceUpdate),
+ 'rxps': $filter('bytes')(diskioData['write_count'] / timeSinceUpdate)
+ }
};
this.disks.push(diskio);
diff --git a/glances/outputs/static/js/stats_controller.js b/glances/outputs/static/js/stats_controller.js
index 6198a476..741f942e 100644
--- a/glances/outputs/static/js/stats_controller.js
+++ b/glances/outputs/static/js/stats_controller.js
@@ -34,7 +34,8 @@ glancesApp.controller('statsController', function ($scope, $rootScope, $interval
'network_io_cumulative': false,
'filesystem_freespace': false,
'network_by_bytes': false,
- 'filesystem_free_space': false
+ 'filesystem_free_space': false,
+ 'diskio_iops': false
};
$scope.init_refresh_time = function () {
@@ -196,6 +197,10 @@ glancesApp.controller('statsController', function ($scope, $rootScope, $interval
// b => Bytes or bits for network I/O
$scope.show_hide('network_by_bytes');
break;
+ case $event.shiftKey && $event.keyCode == keycodes.b:
+ // 'B' => Switch between bit/s and IO/s for Disk IO
+ $scope.show_hide('diskio_iops');
+ break;
case !$event.shiftKey && $event.keyCode == keycodes.l:
// l => Show/hide alert logs
$scope.show_hide('alert');