def fetch(services)
      unless [String, Array].include?(services.class)
        raise ArgumentError, "Service(s) argument required"
      end
      
      results = {}
      names   = [services].flatten
      
      if names.empty?
        raise ArgumentError, "Service(s) argument required"
      end
      
      names.each do |service|
        begin
          connection.send_data("fetch #{service}")
          lines = connection.read_packet
          results[service] =  parse_fetch(lines)
        rescue UnknownService, BadExit
          # TODO
        end
      end
      results
    end
def fetch(services)
      unless [String, Array].include?(services.class)
        raise ArgumentError, "Service(s) argument required"
      end
      
      results = {}
      names   = [services].flatten
      
      if names.empty?
        raise ArgumentError, "Service(s) argument required"
      end
      
      names.each do |service|
        begin
          connection.send_data("fetch #{service}")
          lines = connection.read_packet
          results[service] =  parse_fetch(lines)
        rescue UnknownService, BadExit
          # TODO
        end
      end
      results
    end
Get all service metrics values

 services - Name of the service, or list of service names