Script recolector de métricas
Al probar una aplicación debemos contar con herramientas que recaben información por nosotros y las resguarden para su posterior consulta.
Instalación (Fedora 22)
# dnf install -y sysstat
Manos a la obra
Normalmente, cuando se tiene el JAVA_HOME establecido como debe ser, tendremos disponible el comando jps, el cual nos ayuda a indentificar los procesos Java que están siendo ejecutados al momento. Si solo existe un proceso Java, podemos evitarnos la tarea de estar buscándolo a cada reinicio. Con la siguiente cadena de comandos, podemos realizar de manera automática el guardado de las métricas.
while(true) do date +'%Y-%m-%d,%T,'| tr -d '\n'; ps -p `jps | grep Main | awk '{print $1}'` -o etime,%cpu,%mem,rss,cmd; sleep 1; done > metricas.log
A continuación le damos un poco de tratamiento para que se vea claro lo que buscamos.
head -n1 metricas.log | awk '{print $1,$2,$3,$4}' > tmp.log; cat metricas.log | awk '{print $1,$2,$3,$4}' | sed '/CPU/d' >> tmp.log
Tendremos una salida como la siguiente:
Con tal definición de datos, casi con cualquier cosa podemos graficarlo e integrarlo a un reporte de alto nivel. Incluso es posible abrirse con la hoja de cálculo de OpenOffice y graficarse de una manera bonita.
Comentarios
Publicar un comentario