class MMS::Resource::Metric

Attributes

data_points[RW]
granularity[RW]
name[RW]
units[RW]

Public Class Methods

_find(client, group_id, host_id, metric_name) click to toggle source

@param [MMS::Client] client @param [String] group_id @param [String] host_id @param [String] metric_name @return [Hash]

# File lib/mms/resource/metric.rb, line 33
def self._find(client, group_id, host_id, metric_name)
  client.get('/groups/' + group_id + '/hosts/' + host_id + '/metrics/' + metric_name)
end

Public Instance Methods

host() click to toggle source
# File lib/mms/resource/metric.rb, line 8
def host
  MMS::Resource::Host.find(@client, @data['groupId'], @data['hostId'])
end

Private Instance Methods

_from_hash(data) click to toggle source
# File lib/mms/resource/metric.rb, line 49
def _from_hash(data)
  @name = data['metricName']
  @units = data['units']
  @granularity = data['granularity']
  @data_points = data['dataPoints']
  data.delete('links')
end
_to_hash() click to toggle source
# File lib/mms/resource/metric.rb, line 57
def _to_hash
  @data
end
get_metric_data(options = {}, d_name = '') click to toggle source

@param [Hash] options @param [String] d_name @return [Hash]

# File lib/mms/resource/metric.rb, line 42
def get_metric_data(options = {}, d_name = '')
  params = options.map { |k, v| "#{k}=#{v}" }.join('&')
  ret = client.get("/groups/#{@data['groupId']}/hosts/#{@data['hostId']}/metrics/#{@data['metricName']}/#{d_name}?#{params}")
  ret.delete('links')
  ret
end