Hola, tengo que sacar estadísticas de unos logs generados con dmstool(oas). Son generados con dmstool -t JVM (cada 5 minutos). Para que os hagais una idea, los logs son de este formato: http://pastebin.com/VeMdVSHA
Necesito sacar el consumo de la memoria java de la que tiene asignada Xmx Xms. En algunos logs tengo 2 procesos java, por ello podéis comprobar que al final hago un if, para ver si tengo que hacer el map de 2 elementos o de 3 (fecha;resultado_proceso_java1;resultado_proceso_java2)
#!/usr/bin/env ruby
# encoding: UTF-8
#
#=======================================================================================
#
# FILE: heap_parser.rb
#
#
# DESCRIPTION: Parseo de logs generados con dmstool -t JVM a .csv
#
# OPTIONS: [nombre-fichero-metricas-dmstool]
# REQUIREMENTS: time
# AUTHOR: Koldo Oteo (), koldo.oteo1@gmail.com
# WEB: http://koteo.lacoctelera.net
# VERSION: 1.0.1
# CREATED: 16/03/2010
#=======================================================================================
#
require 'rubygems'
require 'time'
@freemem = /^freeMemory.value:\s(\d+)/
@totmem = /^totalMemory.value:\s(\d+)/
@date = /\w+\s\w+\s\d+\s\d+\:\d+\:\d+\s\w+\s\d+/
def dat_parse(line)
Time.parse(@line).strftime("%d-%m-%Y %H:%M:%S")
end
@results = Array.new
@logfile = File.open(ARGV[0])
@logfile.each_line do |x|
@line = x
case @line
when @date then @results << dat_parse(@line).strip
when @freemem then @fr = $1
when @totmem then @tot = $1
@results << @tot.to_i - @fr.to_i
end
end
# unimos fecha + resultado(totalMemory - freeMemory)
#
if @results[2].to_s.match(/\D/)
puts @results.each_slice(2).map { |e| e.join ';' }
else
puts @results.each_slice(3).map { |e| e.join ';' }
end

women rolex watches,rolex oyster perpetual day-date,cartier santos watch,rolex daytona cosmograph,dior saddlegucci g watch,omega moon watch,fake prada,omega geneve,tiffany toggle heartfake hermes,chanel handbags sale,gucci gucci,chanel wholesale ,purse louis vuitton