lib/ec2/right_mon_interface.rb in aws-1.11.38 vs lib/ec2/right_mon_interface.rb in aws-2.1.0

- old
+ new

@@ -1,9 +1,9 @@ -module RightAws +module Aws - class Mon < RightAws::RightAwsBase - include RightAws::RightAwsBaseInterface + class Mon < Aws::AwsBase + include Aws::AwsBaseInterface #Amazon EC2 API version being used API_VERSION = "2009-05-15" DEFAULT_HOST = "monitoring.amazonaws.com" @@ -13,11 +13,11 @@ # Available measures for EC2 instances: # NetworkIn NetworkOut DiskReadOps DiskWriteOps DiskReadBytes DiskWriteBytes CPUUtilization measures=%w(NetworkIn NetworkOut DiskReadOps DiskWriteOps DiskReadBytes DiskWriteBytes CPUUtilization) - @@bench = RightAws::AwsBenchmarkingBlock.new + @@bench = Aws::AwsBenchmarkingBlock.new def self.bench_xml @@bench.xml end @@ -78,21 +78,24 @@ # Sends request to Amazon and parses the response # Raises AwsError if any banana happened def request_info(request, parser) thread = @params[:multi_thread] ? Thread.current : Thread.main - thread[:elb_connection] ||= Rightscale::HttpConnection.new(:exception => RightAws::AwsError, :logger => @logger) + thread[:elb_connection] ||= Rightscale::HttpConnection.new(:exception => Aws::AwsError, :logger => @logger) request_info_impl(thread[:elb_connection], @@bench, request, parser) end #----------------------------------------------------------------- # REQUESTS #----------------------------------------------------------------- - def list_metrics + def list_metrics(options={}) + next_token = options[:next_token] || nil + params = { } + params['NextToken'] = next_token unless next_token.nil? @logger.info("list Metrics ") link = generate_request("ListMetrics", params) resp = request_info(link, QMonListMetrics.new(:logger => @logger)) @@ -103,20 +106,27 @@ # measureName: CPUUtilization (Units: Percent), NetworkIn (Units: Bytes), NetworkOut (Units: Bytes), DiskWriteOps (Units: Count) # DiskReadBytes (Units: Bytes), DiskReadOps (Units: Count), DiskWriteBytes (Units: Bytes) # stats: array containing one or more of Minimum, Maximum, Sum, Average, Samples - # startTime : Timestamp to start - # endtime: Timestamp to end + # start_time : Timestamp to start + # end_time: Timestamp to end # unit: Either Seconds, Percent, Bytes, Bits, Count, Bytes, Bits/Second, Count/Second, and None - # period: Integer 60 or multiple of 60 - # dimension: Hash containing keys ImageId, AutoScalingGroupName, InstanceId, InstanceType - # customUnit: nil. not supported currently. - # namespace: AWS/EC2 + # + # Optional parameters: + # period: Integer 60 or multiple of 60 + # dimension: Hash containing keys ImageId, AutoScalingGroupName, InstanceId, InstanceType + # customUnit: nil. not supported currently. + # namespace: AWS/EC2 - def get_metric_statistics ( measure_name, stats, start_time, end_time, unit, period=60, dimensions=nil, custom_unit=nil, namespace="AWS/EC2" ) + def get_metric_statistics ( measure_name, stats, start_time, end_time, unit, options={}) + period = options[:period] || 60 + dimensions = options[:dimensions] || nil + custom_unit = options[:custom_unit] || nil + namespace = options[:namespace] || "AWS/EC2" + params = {} params['MeasureName'] = measure_name i=1 stats.each do |s| params['Statistics.member.'+i.to_s] = s @@ -150,11 +160,11 @@ #----------------------------------------------------------------- # PARSERS: Instances #----------------------------------------------------------------- - class QMonGetMetricStatistics < RightAws::RightAWSParser + class QMonGetMetricStatistics < Aws::AwsParser def reset @result = [] end @@ -184,10 +194,10 @@ @result << @metric end end end - class QMonListMetrics < RightAws::RightAWSParser + class QMonListMetrics < Aws::AwsParser def reset @result = [] @namespace = "" @measure_name = ""