Sha256: 68aed14ef68a8e0685fe2b23801cd0b5219b2d471088b37d0367fc9a9853f0f0

Contents?: true

Size: 1.71 KB

Versions: 18

Compression:

Stored size: 1.71 KB

Contents

#coding=utf-8

require "aio/core"

class Aio::Module::Cmd::Cisco::ShowProcessMemory < Aio::Module::Cmd::Cisco
	include Aio::Module

	def initialize
		super({
			:cmd_full 	=> "show process memory",
			:cmd_short	=> "sh pro m",
			:author			=> "Elin",
			:description	=> "This is Cisco Command# show process memory",
			:ranking		=> Ranking_1,
			:platform		=> "all",
			:benchmark	=> {
				:proc_ratio	=> ["<", 70.0],
				:io_ratio		=> ["<", 70.0]
				}
		})
	end

	def parse
		cont = self.context.dup
		useful[:memory] = {}

		case device_template
		when Template_1
			parse_def(cont)
		when Template_2
			if device_version =~ /12.2\(33\)/ # 当是Cisco7606 的时候,即使是12.2(17r)S4,Memory的模板也是默认模板
				parse_def(cont)
			else
				parse_tmp_2(cont)
			end
		end
	end

	def parse_tmp_2(cont)
		cont.readline_match_block(/System Memory : (?<proc_total>\d+)K total, (?<proc_used>\d+)K used/) do |block|
			proc_ratio = ratio(block[:proc_used], block[:proc_total])
			block.warning_serious(useful[:memory], :proc_ratio, self, {:string => proc_ratio})
		end
	end

	def parse_def(cont)
		cont.readline_match_block(/Processor Pool Total: (?<proc_total>\d+) Used: (?<proc_used>\d+)/) do |block|
			proc_ratio = ratio(block[:proc_used], block[:proc_total])
			block.warning_serious(useful[:memory], :proc_ratio, self, {:string => proc_ratio})
		end
		cont.readline_match_block(/I\/O Pool Total: (?<io_total>\d+) Used: (?<io_used>\d+)/) do |block|
			io_ratio = ratio(block[:io_used], block[:io_total])
			#block.warning_serious(useful[:memory], :io_ratio, self, io_ratio)
			block.update(useful[:memory], :io_ratio, io_ratio)
		end
	end

	# 返回为String
	def ratio(fir, sec)
		format("%.2f", ((fir.to_f / sec.to_f) * 100))
	end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
aio_elin-1.1.8 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.1.7 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.1.4 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.1.3 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.1.2 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.1.1 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.1.0 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.9 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.8 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.7 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.6 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.5 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.4 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.3 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.2 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.1 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-1.0.0 lib/modules/cmd/cisco/show_process_memory.rb
aio_elin-0.0.1 lib/modules/cmd/cisco/show_process_memory.rb