Class: AWS::CloudWatch::MetricCollection
- Inherits:
-
Object
- Object
- AWS::CloudWatch::MetricCollection
- Includes:
- AWS::Core::Collection::WithNextToken
- Defined in:
- lib/aws/cloud_watch/metric_collection.rb
Instance Method Summary collapse
-
#filter(name, value) ⇒ MetricCollection
Returns a new collection that will filter results when enumerated.
-
#with_dimension(name, value) ⇒ MetricCollection
Returns a collection filtered by the given dimension:.
-
#with_dimensions(*dimensions) ⇒ MetricCollection
Returns a collection filtered by the given dimensions.
- #with_metric_name(name) ⇒ MetricCollection
- #with_namespace(namespace) ⇒ MetricCollection
Methods included from AWS::Core::Collection
#each, #each_batch, #enum, #first, #in_groups_of, #page
Instance Method Details
#filter(name, value) ⇒ MetricCollection
Returns a new collection that will filter results when enumerated.
47 48 49 50 |
# File 'lib/aws/cloud_watch/metric_collection.rb', line 47 def filter name, value filters = @filters.merge(name.to_s.to_sym => value) MetricCollection.new(:filters => filters, :config => config) end |
#with_dimension(name, value) ⇒ MetricCollection
Returns a collection filtered by the given dimension:
metric = metrics.with_dimension('name', 'value').first
You can chain calls to #with_dimension. Additional dimensions are added.
metrics = metrics.
with_dimension('d1', 'v1').
with_dimension('d2', 'v2').
with_dimension('d3', 'v3')
metrics.each{|metric|} # filtered by all three dimensions
81 82 83 |
# File 'lib/aws/cloud_watch/metric_collection.rb', line 81 def with_dimension name, value with_dimensions([{ :name => name, :value => value }]) end |
#with_dimensions(*dimensions) ⇒ MetricCollection
Returns a collection filtered by the given dimensions.
metrics.with_dimensions([
{ :name => 'd1', :value => 'v1' },
{ :name => 'd2', :value => 'v2' },
{ :name => 'd3', :value => 'v3' },
]).each do |metric|
# ...
end
Multiple calls to #with_dimensions will add to previous dimensions.
99 100 101 102 103 |
# File 'lib/aws/cloud_watch/metric_collection.rb', line 99 def with_dimensions *dimensions dimensions = @filters[:dimensions] || [] dimensions += dimensions.flatten filter(:dimensions, dimensions) end |
#with_metric_name(name) ⇒ MetricCollection
60 61 62 |
# File 'lib/aws/cloud_watch/metric_collection.rb', line 60 def with_metric_name name filter(:metric_name, name) end |
#with_namespace(namespace) ⇒ MetricCollection
54 55 56 |
# File 'lib/aws/cloud_watch/metric_collection.rb', line 54 def with_namespace namespace filter(:namespace, namespace) end |