class Fog::Google::Monitoring::Mock
Public Class Methods
data()
click to toggle source
# File lib/fog/google/monitoring/mock.rb, line 11 def self.data @data ||= Hash.new do |hash, key| hash[key] = { :timeseries => {}, :timeseries_descriptors => {}, :metric_descriptors => {} } end end
new(options)
click to toggle source
# File lib/fog/google/monitoring/mock.rb, line 7 def initialize(options) shared_initialize(options[:google_project], GOOGLE_MONITORING_API_VERSION, GOOGLE_MONITORING_BASE_URL) end
reset()
click to toggle source
# File lib/fog/google/monitoring/mock.rb, line 21 def self.reset @data = nil end
Public Instance Methods
data()
click to toggle source
# File lib/fog/google/monitoring/mock.rb, line 25 def data self.class.data[project] end
list_metric_descriptors(_options = {})
click to toggle source
# File lib/fog/google/requests/monitoring/list_metric_descriptors.rb, line 25 def list_metric_descriptors(_options = {}) body = { "kind" => 'cloudmonitoring#listMetricDescriptorsResponse', "metrics" => [ { "name" => "compute.googleapis.com/instance/cpu/reserved_cores", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "gauge", "valueType" => "double" }, "description" => "Number of cores reserved on the host of the instance." }, { "name" => "compute.googleapis.com/instance/cpu/usage_time", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "double" }, "description" => "Delta CPU usage time. Units are seconds. You can get the per-core CPU utilization ratio by performing a rate operation on a point: doubleValue/(end-start), then divide by compute.googleapis.com/instance/cpu/reserved_cores at the corresponding end timestamp." }, { "name" => "compute.googleapis.com/instance/disk/read_bytes_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/device_name" }, { "key" => "compute.googleapis.com/device_type" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of bytes read from disk." }, { "name" => "compute.googleapis.com/instance/disk/read_ops_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/device_name" }, { "key" => "compute.googleapis.com/device_type" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of disk read IO operations." }, { "name" => "compute.googleapis.com/instance/disk/write_bytes_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/device_name" }, { "key" => "compute.googleapis.com/device_type" }, { "key" => "cloud.googleapis.com/location" }, { "key" => '"compute.googleapis.com/resource_id' }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of bytes written to disk." }, { "name" => "compute.googleapis.com/instance/disk/write_ops_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/device_name" }, { "key" => '"compute.googleapis.com/device_type' }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of disk write IO operations." }, { "name" => "compute.googleapis.com/instance/network/received_bytes_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/loadbalanced" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of bytes received from network." }, { "name" => "compute.googleapis.com/instance/network/received_packets_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/loadbalanced" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of packets received from network." }, { "name" => "compute.googleapis.com/instance/network/sent_bytes_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/loadbalanced" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of bytes sent over network." }, { "name" => "compute.googleapis.com/instance/network/sent_packets_count", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "compute.googleapis.com/loadbalanced" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "int64" }, "description" => "Delta count of packets sent over network." }, { "name" => "compute.googleapis.com/instance/uptime", "project" => @project, "labels" => [ { "key" => "compute.googleapis.com/instance_name" }, { "key" => "cloud.googleapis.com/location" }, { "key" => "compute.googleapis.com/resource_id" }, { "key" => "compute.googleapis.com/resource_type" }, { "key" => "cloud.googleapis.com/service" } ], "typeDescriptor" => { "metricType" => "delta", "valueType" => "double" }, "description" => "Indicates the VM running time in seconds." } ] } build_excon_response(body) end
list_timeseries(metric, youngest, _options = {})
click to toggle source
# File lib/fog/google/requests/monitoring/list_timeseries.rb, line 29 def list_timeseries(metric, youngest, _options = {}) body = { "kind" => 'cloudmonitoring#listTimeseriesResponse', "youngest" => youngest, "oldest" => youngest, "timeseries" => [ { "timeseriesDesc" => { "project" => @project, "metric" => metric, "labels" => { "cloud.googleapis.com/service" => "compute.googleapis.com", "compute.googleapis.com/resource_type" => "instance", "cloud.googleapis.com/location" => "us-central1-a", "compute.googleapis.com/resource_id" => Fog::Mock.random_numbers(20).to_s, "compute.googleapis.com/instance_name" => Fog::Mock.random_hex(40) } }, "points" => [ { "start" => "2014-07-17T20:06:58.000Z", "end" => "2014-07-17T20:07:58.000Z", "doubleValue" => 60.0 }, { "start" => "2014-07-17T20:05:58.000Z", "end" => "2014-07-17T20:06:58.000Z", "doubleValue" => 60.0 } ] } ] } build_excon_response(body) end
list_timeseries_descriptors(metric, youngest, _options = {})
click to toggle source
# File lib/fog/google/requests/monitoring/list_timeseries_descriptors.rb, line 29 def list_timeseries_descriptors(metric, youngest, _options = {}) body = { "kind" => 'cloudmonitoring#listTimeseriesDescriptorsResponse', "youngest" => youngest, "oldest" => youngest, "timeseries" => [ { "project" => @project, "metric" => metric, "labels" => { "cloud.googleapis.com/service" => "compute.googleapis.com", "compute.googleapis.com/resource_type" => "instance", "cloud.googleapis.com/location" => "us-central1-a", "compute.googleapis.com/resource_id" => Fog::Mock.random_numbers(20).to_s, "compute.googleapis.com/instance_name" => Fog::Mock.random_hex(40) } }, { "project" => @project, "metric" => metric, "labels" => { "cloud.googleapis.com/service" => "compute.googleapis.com", "compute.googleapis.com/resource_type" => "instance", "cloud.googleapis.com/location" => "us-central1-a", "compute.googleapis.com/resource_id" => Fog::Mock.random_numbers(20).to_s, "compute.googleapis.com/instance_name" => Fog::Mock.random_hex(40) } }, { "project" => @project, "metric" => metric, "labels" => { "cloud.googleapis.com/service" => "compute.googleapis.com", "compute.googleapis.com/resource_type" => "instance", "cloud.googleapis.com/location" => "us-central1-a", "compute.googleapis.com/resource_id" => Fog::Mock.random_numbers(20).to_s, "compute.googleapis.com/instance_name" => Fog::Mock.random_hex(40) } }, { "project" => @project, "metric" => metric, "labels" => { "cloud.googleapis.com/service" => "compute.googleapis.com", "compute.googleapis.com/resource_type" => "instance", "cloud.googleapis.com/location" => "us-central1-a", "compute.googleapis.com/resource_id" => Fog::Mock.random_numbers(20).to_s, "compute.googleapis.com/instance_name" => Fog::Mock.random_hex(40) } } ] } build_excon_response(body) end
reset_data()
click to toggle source
# File lib/fog/google/monitoring/mock.rb, line 29 def reset_data self.class.data.delete(project) end