![](https://seccdn.libravatar.org/avatar/92e7d8dd5af8ca9b991a125d13cfe6d9.jpg?s=120&d=mm&r=g)
ref: refs/heads/master commit 768b13f3f3308c2f154b8abec5fcc0e5c2f1a395 Author: Bjoern Geuken <bgeuken@suse.de> Date: Tue Jul 7 13:22:01 2009 +0200 status module: enables selection of metrics --- .../status/app/controllers/status_controller.rb | 2 +- plugins/status/app/models/status.rb | 29 ++++++++++++++----- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/plugins/status/app/controllers/status_controller.rb b/plugins/status/app/controllers/status_controller.rb index c47ad9a..9293cbe 100644 --- a/plugins/status/app/controllers/status_controller.rb +++ b/plugins/status/app/controllers/status_controller.rb @@ -33,7 +33,7 @@ class StatusController < ApplicationController else @status = Status.new # @status.collect_data(params[:start], params[:stop]) - @status.collect_data("11:13,07/03/2009", "11:14,07/03/2009", %w{cpu memory disk}) + @status.collect_data("11:13,07/03/2009", "11:14,07/03/2009", %w{cpu disk}) end end diff --git a/plugins/status/app/models/status.rb b/plugins/status/app/models/status.rb index fda9291..4769773 100644 --- a/plugins/status/app/models/status.rb +++ b/plugins/status/app/models/status.rb @@ -7,8 +7,6 @@ class Status < ActiveRecord::Base @scr = Scr.instance @health_status = nil @data = Hash.new - @cpu="" - @memory="" start_collectd # @collectd_base_dir = "/var/lib/collectd/" @datapath = set_datapath @@ -70,15 +68,30 @@ class Status < ActiveRecord::Base end # creates several metrics for a defined period - def collect_data(start=Time.now, stop=Time.now, data = %w{cpu memory disk}) + def collect_data(start=Time.now, stop=Time.now, data = nil) result = Hash.new unless @timestamp.nil? # collectd not started - @metrics.each_pair do |m, n| - @metrics["#{m}"][:rrds].each do |rrdb| - result["#{rrdb}".chomp(".rrd")] = fetch_metric("#{m}/#{rrdb}", start, stop) + case data + when nil # all metrics + @metrics.each_pair do |m, n| + @metrics["#{m}"][:rrds].each do |rrdb| + result["#{rrdb}".chomp(".rrd")] = fetch_metric("#{m}/#{rrdb}", start, stop) + end + @data["#{m}"] = result + result = Hash.new + end + else + data.each do |d| + @metrics.each_pair do |m, n| + if m.include?(d) + @metrics["#{m}"][:rrds].each do |rrdb| + result["#{rrdb}".chomp(".rrd")] = fetch_metric("#{m}/#{rrdb}", start, stop) + end + @data["#{m}"] = result + result = Hash.new + end + end end - @data["#{m}"] = result - result = Hash.new end end return @data -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org