class Aio::Module::Cmd::H3C::DisplayMemory

Public Class Methods

new() click to toggle source
Calls superclass method Aio::Module::Cmd::new
# File lib/modules/cmd/h3c/display_memory.rb, line 8
def initialize
  super({
    :cmd_full                 => "display memory",
    :cmd_short                => "dis mem",
    :author                           => "Elin",
    :description  => "This is H3C Command# display memory",
    :ranking                  => Ranking_1,
    :platform                 => "all",
    :benchmark                => {}
  })
end

Public Instance Methods

parse() click to toggle source
# File lib/modules/cmd/h3c/display_memory.rb, line 20
def parse
  cont = self.context.dup
  #memory = {}
  #useful[:memory] = memory

  case device_template
  when Template_3
    parse_template_3(cont)
  else
    parse_default(cont)
  end
end
parse_default(cont) click to toggle source
# File lib/modules/cmd/h3c/display_memory.rb, line 33
def parse_default(cont)
  useful[:memory] = {}
  cont.readline_match_block(/System Total Memory\(bytes\): (?<total_memory>\d+)/) do |block|
    #block.update(memory, :total_memory)
  end
  cont.readline_match_block(/Total Used Memory\(bytes\): (?<used_memory>\d+)/) do |block|
    #block.update(memory, :used_memory)
  end
  cont.readline_match_block(/Used Rate: (?<used_rate>\d+)%/) do |block|
    block.update(useful[:memory], :used_rate)
  end
end
parse_template_3(cont) click to toggle source

MSR56-60 模板

# File lib/modules/cmd/h3c/display_memory.rb, line 47
def parse_template_3(cont)
  useful[:memory] = {}
  cont.readline_match_block(/Total Used Free Shared Buffers Cached FreeRatio/) {|b|b}
  cont.readline_match_block(/Mem: .* (?<used_free>\d+\.\d)%$/) do |block|
    used = 100 - block[:used_free].to_f
    block.update(useful[:memory], :used_rate, used.to_s[0,4])
  end
end