[Ovirt-devel] More graphing fun
Hugh O. Brock
hbrock at redhat.com
Sat Jun 7 20:08:54 UTC 2008
Fix graph scale so it really works; try to make graph outlines a bit more obvious.
-------------- next part --------------
>From 930d827014503bb937bdf96b8d34cdb89135acca Mon Sep 17 00:00:00 2001
>From: Hugh O. Brock <hbrock at harpcolumn.com>
Date: Sat, 7 Jun 2008 15:57:17 -0400
Subject: [PATCH] Fix graph scaling numbers, so horizontal bar graphs are the right length (some errant averaging code was averaging the max, which isn't right at all). Try to tweak line graph style a bit to make it more obvious where the graph starts and ends.
Signed-off-by: Hugh O. Brock <hbrock at harpcolumn.com>
---
wui/src/app/controllers/graph_controller.rb | 69 ++++++++++++++-------------
wui/src/app/helpers/graph_helper.rb | 4 +-
2 files changed, 38 insertions(+), 35 deletions(-)
diff --git a/wui/src/app/controllers/graph_controller.rb b/wui/src/app/controllers/graph_controller.rb
index 6561d13..fea3f4d 100644
--- a/wui/src/app/controllers/graph_controller.rb
+++ b/wui/src/app/controllers/graph_controller.rb
@@ -227,14 +227,18 @@ class GraphController < ApplicationController
:peak => { 'load' => 0, 'cpu' => 0, 'netin' => 0, 'netout' => 0, 'memory' => 0 }}
+ # XXX DIRTYHACK hard-code nic bandwidth to 1000 to make graphs look decent
+ # until we have real hardware discovery
requestList = []
if @target == 'host'
host = Host.find(@id)
requestList += _create_host_snapshot_requests(host.hostname)
@snapshots[:scale]['memory'] = host.memory_in_mb
host.nics.each{ |nic|
- @snapshots[:scale]['netin'] += nic.bandwidth
- @snapshots[:scale]['netout'] += nic.bandwidth
+ @snapshots[:scale]['netin'] += 1000
+ @snapshots[:scale]['netout'] += 1000
+ # @snapshots[:scale]['netin'] += nic.bandwidth
+ # @snapshots[:scale]['netout'] += nic.bandwidth
}
elsif @poolType == 'vm'
Pool.find(@id).vms.each{ |vm|
@@ -242,8 +246,10 @@ class GraphController < ApplicationController
requestList += _create_host_snapshot_requests(vm.host.hostname)
@snapshots[:scale]['memory'] = vm.host.memory_in_mb
vm.host.nics.each{ |nic|
- @snapshots[:scale]['netin'] += nic.bandwidth
- @snapshots[:scale]['netout'] += nic.bandwidth
+ @snapshots[:scale]['netin'] += 1000
+ @snapshots[:scale]['netout'] += 1000
+ # @snapshots[:scale]['netin'] += nic.bandwidth
+ # @snapshots[:scale]['netout'] += nic.bandwidth
}
end
}
@@ -252,8 +258,10 @@ class GraphController < ApplicationController
requestList += _create_host_snapshot_requests(host.hostname)
@snapshots[:scale]['memory'] = host.memory_in_mb
host.nics.each{ |nic|
- @snapshots[:scale]['netin'] += nic.bandwidth
- @snapshots[:scale]['netout'] += nic.bandwidth
+ @snapshots[:scale]['netin'] += 1000
+ @snapshots[:scale]['netout'] += 1000
+ # @snapshots[:scale]['netin'] += nic.bandwidth
+ # @snapshots[:scale]['netout'] += nic.bandwidth
}
}
end
@@ -270,39 +278,39 @@ class GraphController < ApplicationController
if counter == DEV_KEY_AVGCOUNTERS["load"]
@snapshots[:avg]["load"] += value.to_i
@data_points[:avg]["load"] += 1
- elsif counter == DEV_KEY_PEAKCOUNTERS["load"]
- @snapshots[:peak]["load"] += value.to_i
- @data_points[:peak]["load"] += 1
+ # elsif counter == DEV_KEY_PEAKCOUNTERS["load"]
+ # @snapshots[:peak]["load"] += value.to_i
+ # @data_points[:peak]["load"] += 1
end
elsif devClass == DEV_KEY_CLASSES["cpu"]
if counter == DEV_KEY_AVGCOUNTERS["cpu"]
@snapshots[:avg]["cpu"] += 100 - value.to_i
@data_points[:avg]["cpu"] += 1
- elsif counter == DEV_KEY_PEAKCOUNTERS["cpu"]
- @snapshots[:peak]["cpu"] = 100 - value.to_i
- @data_points[:peak]["cpu"] += 1
+ #elsif counter == DEV_KEY_PEAKCOUNTERS["cpu"]
+ # @snapshots[:peak]["cpu"] = 100 - value.to_i
+ # @data_points[:peak]["cpu"] += 1
end
elsif devClass == DEV_KEY_CLASSES["netout"]
if counter == DEV_KEY_AVGCOUNTERS["netout"]
- @snapshots[:avg]["netout"] += value.to_i
+ @snapshots[:avg]["netout"] += (value.to_i * 8 / 1024 / 1024).to_i # mbits
@data_points[:avg]["netout"] += 1
- elsif counter == DEV_KEY_PEAKCOUNTERS["netout"]
- @snapshots[:peak]["netout"] += value.to_i
- @data_points[:peak]["netout"] += 1
+ #elsif counter == DEV_KEY_PEAKCOUNTERS["netout"]
+ # @snapshots[:peak]["netout"] += (value.to_i * 8 / 1024 / 1024).to_i #mbits
+ # @data_points[:peak]["netout"] += 1
elsif counter == DEV_KEY_AVGCOUNTERS["netin"]
- @snapshots[:avg]["netin"] += value.to_i
+ @snapshots[:avg]["netin"] += (value.to_i * 8 / 1024 / 1024).to_i # mbits
@data_points[:avg]["netin"] += 1
- elsif counter == DEV_KEY_PEAKCOUNTERS["netin"]
- @snapshots[:peak]["netin"] += value.to_i
- @data_points[:peak]["netin"] += 1
+ #elsif counter == DEV_KEY_PEAKCOUNTERS["netin"]
+ # @snapshots[:peak]["netin"] += (value.to_i * 8 / 1024 / 1024).to_i # mbits
+ # @data_points[:peak]["netin"] += 1
end
elsif devClass == DEV_KEY_CLASSES["memory"]
if counter == DEV_KEY_AVGCOUNTERS["memory"]
@snapshots[:avg]["memory"] += (value.to_i / 1000000).to_i
@data_points[:avg]["memory"] += 1
- elsif counter == DEV_KEY_PEAKCOUNTERS["memory"]
- @snapshots[:peak]["memory"] += (value.to_i / 1000000).to_i
- @data_points[:peak]["memory"] += 1
+ #elsif counter == DEV_KEY_PEAKCOUNTERS["memory"]
+ # @snapshots[:peak]["memory"] += (value.to_i / 1000000).to_i
+ # @data_points[:peak]["memory"] += 1
end
end
end
@@ -311,16 +319,11 @@ class GraphController < ApplicationController
RAILS_DEFAULT_LOGGER.warn("unable to find collectd/rrd stats for " + stat.get_node?.to_s)
end
}
- @snapshots.each_key { |k|
- @snapshots[k]['load'] /= @data_points[k]['load'] if @data_points[k]['load'] != 0
- @snapshots[k]['cpu'] /= @data_points[k]['cpu'] if @data_points[k]['cpu'] != 0
- @snapshots[k]['memory'] /= @data_points[k]['memory'] if @data_points[k]['memory'] != 0
- @snapshots[k]['netin'] /= @data_points[k]['netin'] if @data_points[k]['netin'] != 0
- @snapshots[k]['netout'] /= @data_points[k]['netout'] if @data_points[k]['netout'] != 0
- }
- #@snapshots = { :avg => { :overall_load => 500, :cpu => 10, :in => 100, :out => 1024, :io => 200 },
- # :peak => { :overall_load => 100, :cpu => 50, :in => 12, :out => 72, :io => 100 } }
-
+ @snapshots[:avg]['load'] /= @data_points[:avg]['load'] if @data_points[:avg]['load'] != 0
+ @snapshots[:avg]['cpu'] /= @data_points[:avg]['cpu'] if @data_points[:avg]['cpu'] != 0
+ @snapshots[:avg]['memory'] /= @data_points[:avg]['memory'] if @data_points[:avg]['memory'] != 0
+ @snapshots[:avg]['netin'] /= @data_points[:avg]['netin'] if @data_points[:avg]['netin'] != 0
+ @snapshots[:avg]['netout'] /= @data_points[:avg]['netout'] if @data_points[:avg]['netout'] != 0
end
private
diff --git a/wui/src/app/helpers/graph_helper.rb b/wui/src/app/helpers/graph_helper.rb
index 1a4597b..f83a7bb 100644
--- a/wui/src/app/helpers/graph_helper.rb
+++ b/wui/src/app/helpers/graph_helper.rb
@@ -16,14 +16,14 @@ module GraphHelper
:values => [data],
:fill => data.to_f / total.to_f > 0.75 ? 'red' : 'blue',
:stroke => 'lightgray',
- :strokeWidth => 1
+ :strokeWidth => 2
},
{
:name => target + 'remaining',
:values => [remaining],
:fill => 'white',
:stroke => 'lightgray',
- :strokeWidth => 1
+ :strokeWidth => 2
}
]
}
--
1.5.5.1
More information about the ovirt-devel
mailing list