class KalibroClient::Entities::Processor::MetricCollectorDetails

Attributes

description[RW]
name[RW]
supported_metrics[RW]

Public Class Methods

all_names() click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 67
def self.all_names
  request(:names, {}, :get)['metric_collector_names'].to_a
end
find_by_name(metric_collector_name) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 55
def self.find_by_name(metric_collector_name)
  begin
    self.find_by_name!(metric_collector_name)
  rescue Likeno::Errors::RecordNotFound
    nil
  end
end
find_by_name!(metric_collector_name) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 63
def self.find_by_name!(metric_collector_name)
  new request(:find, {name: metric_collector_name})["metric_collector_details"]
end

Public Instance Methods

find_metric_by_code(metric_code) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 45
def find_metric_by_code(metric_code)
  @supported_metrics[metric_code]
end
find_metric_by_code!(metric_code) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 49
def find_metric_by_code!(metric_code)
  metric = self.find_metric_by_code(metric_code)
  raise Likeno::Errors::RecordNotFound if metric.nil?
  metric
end
find_metric_by_name(name) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 34
def find_metric_by_name(name)
  metric = self.supported_metrics.find {|code, metric| metric.name == name}
  metric.nil? ? nil : metric.last
end
find_metric_by_name!(name) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 39
def find_metric_by_name!(name)
  metric = self.find_metric_by_name(name)
  raise Likeno::Errors::RecordNotFound if metric.nil?
  metric
end
supported_metrics=(value) click to toggle source
# File lib/kalibro_client/entities/processor/metric_collector_details.rb, line 23
def supported_metrics=(value)
  @supported_metrics = {}
  value.each do |code, metric|
    if metric['type'] == 'HotspotMetricSnapshot'
      @supported_metrics[code] = KalibroClient::Entities::Miscellaneous::HotspotMetric.new(metric["name"], metric["code"], metric["languages"], metric["metric_collector_name"])
    else
      @supported_metrics[code] = KalibroClient::Entities::Miscellaneous::NativeMetric.new(metric["name"], metric["code"], metric["scope"], metric["languages"], metric["metric_collector_name"])
    end
  end
end