Class: Azure::Armrest::Insights::MetricsService
- Inherits:
-
ArmrestService
- Object
- ArmrestService
- Azure::Armrest::Insights::MetricsService
- Defined in:
- lib/azure/armrest/insights/metrics_service.rb
Instance Attribute Summary
Attributes inherited from ArmrestService
#api_version, #armrest_configuration, #base_url, #provider, #service_name
Instance Method Summary collapse
-
#initialize(armrest_configuration, options = {}) ⇒ MetricsService
constructor
Creates and returns a new MetricsService object.
-
#list(provider, resource_type, resource_name, resource_group = nil, options = {}) ⇒ Object
Return the metric definitions for the given
provider
,resource_type
, andresource_name
forresource_group
. -
#list_definitions(resource, filter = nil) ⇒ Object
Get a list of metrics definitions for
resource_id
, which can be either a resource object or a plain resource string. -
#list_metrics(resource, filter = nil) ⇒ Object
Returns a list metrics for
resource_id
, which can be either a resource object or a plain resource string.
Methods inherited from ArmrestService
configure, #get_provider, #get_subscription, #list_locations, #list_resource_groups, #list_resources, #list_subscriptions, #locations, #poll, #tags, #tenants, #wait
Constructor Details
#initialize(armrest_configuration, options = {}) ⇒ MetricsService
Creates and returns a new MetricsService object.
7 8 9 |
# File 'lib/azure/armrest/insights/metrics_service.rb', line 7 def initialize(armrest_configuration, = {}) super(armrest_configuration, 'metrics', 'Microsoft.Insights', ) end |
Instance Method Details
#list(provider, resource_type, resource_name, resource_group = nil, options = {}) ⇒ Object
Return the metric definitions for the given provider
, resource_type
, and resource_name
for resource_group
. You may pass a :filter option as well.
NOTE: This uses the older REST API. If you want the newer API, use the list_definitions method below.
Example:
metrics = Azure::Armrest::Insights::MetricsService.new(conf)
metrics.list('Microsoft.SQL', 'servers', 'myServer/databases/myDB', 'mygroup')
metrics.list('Microsoft.Compute', 'virtualMachines', 'myVm', 'mygroup')
24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/azure/armrest/insights/metrics_service.rb', line 24 def list(provider, resource_type, resource_name, resource_group = nil, = {}) resource_group ||= configuration.resource_group raise ArgumentError, "no resource group provided" unless resource_group url = build_url(provider, resource_type, resource_name, resource_group, ) response = rest_get(url) Azure::Armrest::ArmrestCollection.create_from_response( response, Azure::Armrest::Insights::MetricDefinition ) end |
#list_definitions(resource, filter = nil) ⇒ Object
Get a list of metrics definitions for resource_id
, which can be either a resource object or a plain resource string. You may also provide a filter
to limit the results.
Note that the output for this method is different than the list method, which uses an older api-version.
Example:
vms = Azure::Armrest::VirtualMachineService.new(conf)
mts = Azure::Armrest::Insights::MetricService.new(conf)
vm = vms.get('your_vm', 'your_resource_group')
# With or without filter
definitions = mts.list_definitions(vm.id)
definitions = mts.list_definitions(vm.id, "name.value eq 'Percentage CPU'")
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
# File 'lib/azure/armrest/insights/metrics_service.rb', line 92 def list_definitions(resource, filter = nil) resource_id = resource.respond_to?(:id) ? resource.id : resource version = configuration.provider_default_api_version(provider, 'metricDefinitions') url = File.join( configuration.environment.resource_url, resource_id, 'providers/microsoft.insights/metricdefinitions' ) url << "?api-version=#{version}" url << "&$filter=#{filter}" if filter response = rest_get(url) Azure::Armrest::ArmrestCollection.create_from_response( response, Azure::Armrest::Insights::MetricDefinition ) end |
#list_metrics(resource, filter = nil) ⇒ Object
Returns a list metrics for resource_id
, which can be either a resource object or a plain resource string. You may also provide a filter
to limit the results.
If no filter expression is defined, the first metric defined for that resource will be returned using the primary aggregation type in the metric defintion over a time period of the last hour.
vms = Azure::Armrest::VirtualMachineService.new(conf)
mts = Azure::Armrest::Insights::MetricService.new(conf)
vm = vms.get('your_vm', 'your_resource_group')
filter = "name.value eq 'Percentage CPU' and startTime "
filter << "eq 2017-01-03 and endTime eq 2017-01-04"
definitions = mts.list_metrics(vm.id)
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/azure/armrest/insights/metrics_service.rb', line 57 def list_metrics(resource, filter = nil) resource_id = resource.respond_to?(:id) ? resource.id : resource url = File.join( configuration.environment.resource_url, resource_id, 'providers/microsoft.insights/metrics' ) url << "?api-version=#{api_version}" url << "&$filter=#{filter}" if filter response = rest_get(url) Azure::Armrest::ArmrestCollection.create_from_response(response, Azure::Armrest::Insights::Metric) end |