Creates a new implementation of the service.
@param connection [Connection] The connection to be used by this service.
@param path [String] The relative path of this service, for example `vms/123/disks`.
@api private
# File lib/ovirtsdk4/services.rb, line 21636 def initialize(connection, path) @connection = connection @path = path end
Retrieves a list of statistics.
For example, to retrieve the statistics for virtual machine `123` send a request like this:
GET /ovirt-engine/api/vms/123/statistics
The result will be like this:
<statistics>
<statistic href="/ovirt-engine/api/vms/123/statistics/456" id="456"> <name>memory.installed</name> <description>Total memory configured</description> <kind>gauge</kind> <type>integer</type> <unit>bytes</unit> <values> <value> <datum>1073741824</datum> </value> </values> <vm href="/ovirt-engine/api/vms/123" id="123"/> </statistic> ...
</statistics>
Just a single part of the statistics can be retrieved by specifying its id at the end of the URI. That means:
GET /ovirt-engine/api/vms/123/statistics/456
Outputs:
<statistic href=“/ovirt-engine/api/vms/123/statistics/456” id=“456”>
<name>memory.installed</name> <description>Total memory configured</description> <kind>gauge</kind> <type>integer</type> <unit>bytes</unit> <values> <value> <datum>1073741824</datum> </value> </values> <vm href="/ovirt-engine/api/vms/123" id="123"/>
</statistic>
@param opts [Hash] Additional options.
@option opts [Integer] :max Sets the maximum number of statistics to return. If not specified all the statistics are returned.
@return [Array<Statistic>]
# File lib/ovirtsdk4/services.rb, line 21706 def list(opts = {}) query = {} value = opts[:max] unless value.nil? value = Writer.render_integer(value) query['max'] = value end request = HttpRequest.new(method: :GET, url: @path, query: query) response = @connection.send(request) case response.code when 200 begin reader = XmlReader.new(response.body) return StatisticReader.read_many(reader) ensure reader.close end else check_fault(response) end end
Locates the service corresponding to the given path.
@param path [String] The path of the service.
@return [Service] A reference to the service.
# File lib/ovirtsdk4/services.rb, line 21746 def service(path) if path.nil? || path == '' return self end index = path.index('/') if index.nil? return statistic_service(path) end return statistic_service(path[0..(index - 1)]).service(path[(index +1)..-1]) end
Locates the `statistic` service.
@param id [String] The identifier of the `statistic`.
@return [StatisticService] A reference to the `statistic` service.
# File lib/ovirtsdk4/services.rb, line 21735 def statistic_service(id) StatisticService.new(@connection, "#{@path}/#{id}") end
Returns an string representation of this service.
@return [String]
# File lib/ovirtsdk4/services.rb, line 21762 def to_s "#<#{StatisticsService}:#{@path}>" end