class AWS::CloudWatch::Metric
Represents a single metric.
# Metric
def alarms
-
(MetricAlarmCollection)
-
def alarms MetricAlarmCollection.new(self, :config => config) end
def exists?
-
(Boolean)
- Returns `true` if this metric exists.
def exists? !get_resource.data[:metrics].empty? end
def get_resource attr_name = nil
def get_resource attr_name = nil client.list_metrics(resource_options) end
def initialize namespace, metric_name, options = {}
(**options)
-
:dimensions
(Array
) -- An array of dimensions.
Parameters:
-
options
(Hash
) -- -
metric_name
(String
) -- The metric name. -
namespace
(String
) -- The metric namespace.
def initialize namespace, metric_name, options = {} @namespace = namespace @metric_name = metric_name @dimensions = options[:dimensions] || [] super end
def put_data *metric_data
-
(nil)
-
Parameters:
-
metric_data
(Array
) -- An array of hashes. Each hash
def put_data *metric_data metric_opts = {} metric_opts[:metric_name] = metric_name metric_opts[:dimensions] = dimensions unless dimensions.empty? options = {} options[:namespace] = namespace options[:metric_data] = metric_data.flatten.map do |data| data.merge(metric_opts) end client.put_metric_data(options) nil end
def resource_identifiers
def resource_identifiers [ [:namespace, namespace], [:metric_name, metric_name], [:dimensions, dimensions], ] end
def statistics options = {}
-
(MetricStatistics)
-
Options Hash:
(**options)
-
:period
(Integer
) -- -
:unit
(String
) -- -
:statistics
(Array
) --, required -
:end_time
(Time, required
) -- -
:start_time
(Time, required
) --
Parameters:
-
options
(Hash
) --
def statistics options = {} start = options.delete(:start_time) stop = options.delete(:end_time) options[:namespace] = namespace options[:metric_name] = metric_name options[:dimensions] = dimensions unless dimensions.empty? options[:start_time] = start.respond_to?(:iso8601) ? start.iso8601 : start options[:end_time] = stop.respond_to?(:iso8601) ? stop.iso8601 : stop options[:period] ||= 60 resp = client.get_metric_statistics(options) MetricStatistics.new(self, resp[:label], resp[:datapoints]) end