class Appdynamics::Metric
Attributes
controller[R]
name[RW]
parent[R]
type[RW]
Public Class Methods
from_hash(hsh, controller, parent)
click to toggle source
# File lib/appdynamics/metric.rb, line 24 def self.from_hash hsh, controller, parent Metric.new controller, parent, hsh end
new(controller, parent, attrs)
click to toggle source
# File lib/appdynamics/metric.rb, line 6 def initialize controller, parent, attrs @controller = controller @parent = parent attrs.keys.each do |key| self.send "#{key}=", attrs[key] end end
Public Instance Methods
build_metrics_tree!(tab_level = 0)
click to toggle source
# File lib/appdynamics/metric.rb, line 69 def build_metrics_tree! tab_level = 0 return if leaf? puts "#{' ' * tab_level}Building tree for #{name} (#{type})" metrics.each do |m| m.build_metrics_tree!(tab_level + 1) end end
child_by_name(nam)
click to toggle source
# File lib/appdynamics/metric.rb, line 59 def child_by_name nam metrics.select{|metric| metric.name == nam }.first end
data(start_time, end_time, rollup = false)
click to toggle source
# File lib/appdynamics/metric.rb, line 93 def data start_time, end_time, rollup = false raw_data = controller.metric_data_for(self, start_time, end_time, rollup).first raw_data["metricValues"] end
find_by_name(nam)
click to toggle source
# File lib/appdynamics/metric.rb, line 49 def find_by_name nam return self if name == nam metric = nil metrics.each do |m| metric = m.find_by_name nam break unless metric.nil? end metric end
metrics()
click to toggle source
# File lib/appdynamics/metric.rb, line 65 def metrics @metrics ||= controller.metrics_for self end
metrics=(metrics)
click to toggle source
# File lib/appdynamics/metric.rb, line 43 def metrics= metrics @metrics = metrics.map {|metric| Metric.new @controller, self, metric } end
path()
click to toggle source
# File lib/appdynamics/metric.rb, line 28 def path return @path unless @path.nil? ar = [self.name] node = self while node.parent.class == Appdynamics::Metric && node = node.parent ar.unshift node.name end @path = ar @path end
path=(pat)
click to toggle source
# File lib/appdynamics/metric.rb, line 39 def path= pat @path = pat end
relative_route(data_requested = false)
click to toggle source
# File lib/appdynamics/metric.rb, line 77 def relative_route data_requested = false rel_path = "#{parent.relative_route(data_requested)}" case parent when Appdynamics::Metric rel_path += "|#{name}" when Appdynamics::Application if data_requested rel_path += "/metric-data" else rel_path += "/metrics/" end rel_path += "?metric-path=#{name}" end rel_path end
to_hash()
click to toggle source
# File lib/appdynamics/metric.rb, line 14 def to_hash hsh = { name: @name, type: @type } hsh.merge!({path: path}) hsh.merge!({metrics: @metrics.map{|metric| metric.to_hash}}) if @metrics hsh end
Protected Instance Methods
leaf?()
click to toggle source
# File lib/appdynamics/metric.rb, line 99 def leaf? type == 'leaf' end