¿Por qué no se utiliza el puerto 47653 de Emma en Linux?
Usa emma 2.1 (emma-stable-2.1.5320-lib) 1. Crea un nuevo directorio /home/q/java/emmalib y coloca emma.jar y emma_ant.jar 2. Copia /server/ bin/mobileserver/runServer.sh a runServer_emma.sh para modificar la declaración de inicio.
Utilice emma 2.1 (emma-stable-2.1.5320-lib)
1. Cree un nuevo directorio /home/q/java/emmalib y coloque emma.jar y emma_ant. jar Enter
2. Copie /server/bin/mobileserver/runServer.sh a runServer_emma.sh
Modifique la declaración de inicio
nohup java -Xmx1800M -Xms800m -Xbootclasspath /p:/home/q/java/emmalib/emma.jar -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider -XX:+AggressiveOpts -XX:+UseParallelGC -server -classpath " $jarFile " com.qunar.common.mobileArc.MobileServer conf/TaLog.property conf/TripServer.property >> $LOG_HOME/error.log 2>&1 &
Copiar /server/bin/mobileserver/stopServer .sh Vaya a stopServer_emma.sh
Agregar comando de exportación de cobertura
Insertar código de estadísticas de emma
Usar cuenta raíz
1. Haga una copia de seguridad mobileserver.jar
cp /server/TripAssistant/mobile-server.jar $MOB_JAR_BAK/mobile-server.jar.{$timestamp}
2. Ejecute el comando de inserción
java -cp /home/q/java/emmalib/emma.jar emma instr -m overwrite -cp mobile-server.jar -out cover.em
El resultado es el siguiente:
EMMA: ruta de instrumentación de procesamiento...
EMMA: ruta de instrumentación procesada en 3117 ms
EMMA: [1000 clase(s) instrumentada(s), 126 recurso(s) ) copiado]
EMMA: metadatos fusionados en [/server/TripAssistant/coverage.em]
3. Ejecute mobileserver runServer_emma.sh
sudo sh /server. /bin/mobileserver/stopServer sh && sudo sh /server/bin/mobileserver/runServer_emma.sh
Visible en /server/mobileserverlog/error.log:
EMMA: recopilación de tiempo de ejecución. datos de cobertura...
EMMA: controlador de tiempo de ejecución iniciado
en el puerto [47653]
se ha iniciado el proceso de control de emma
[root@l-wap4.beta.cn1.qunar.com /server/mobileserverlog]# netstat -na | 47653
tcp 0 0 0.0.0.0:47653 0.0.0.0:* LISTEN 20926/java
4 Ejecute el comando de exportación del archivo de cobertura
java -cp / home/q/java/emmalib/emma.jar emma ctl -connect localhost:47653 -comando cobertura.get,coverage.ec
Salida visible:
EMMA: comando de control de procesamiento secuencia...
EMMA: ejecutando [cobertura.get (cobertura.ec,true,true)]...
EMMA: cobertura.get: copia local de los datos de cobertura fusionados en [/server/TripAssistant/coverage.ec]
EMMA: cobertura.get: comando completado en 79 ms
EMMA: secuencia de comando de control completa
Y actualmente el directorio genera el archivo cobertura.ec
5. Generar informe
java -cp /home/q/java/emmalib/emma.jar emma report -r html -in cobertura.em , cobertura.ec
Especifique el informe de cobertura de producción del código fuente (el código fuente debe cargarse primero)
java -cp /home/q/java/emmalib/emma.jar emma report -r html -in /server/TripAssistant/coverage.em,/server/TripAssistant/coverage.ec -Dreport.html.out.file=mycoverage/coverage.html -sp /home/liang.zhou/mob_code_dir/mobs_trunk/src /main/ java
Iniciar mobserver en modo emma
============================ ==== ===
1. Determine el tamaño de mobserver.jar. Si es mayor a 5 M, se ha insertado. Si es menor a 5 M, no se ha insertado (es necesario insertar). a realizar)
2. Ejecutar la inserción
3. Iniciar
4. Verificar el estado de inicio
El puerto 47653 está abierto.
El proceso de mobileserver está abierto
Detener mobserver en modo emma
==================== ===============
1. Verifique que el puerto 47653 esté abierto, verifique si existe cobertura.em
2. Exporte la cobertura del archivo de cobertura. ec, cobertura de respaldo.em (con marca de tiempo)
3. Exportar informe HTML de cobertura (más la marca de tiempo correspondiente)<
/p>
4. eliminar el proceso mobserver
ls -lt mobile-server.jar
Juez $ == 0
Juzgar servidor móvil ¿El tamaño del archivo .jar es mayor que 5 M?
#!/bin/bash
function stop_mob_server(){
#!/bin/bash
Función stop_mob_server(){
pid=`ps aux | grep MobileServer | grep -v grep | p> '`
` kill -9 $
Macro desconocida: {pid}
`
dormir 1
echo "Detener el éxito del servidor móvil."
}
#Determinar si emma ctl está iniciado
port_check_result=`netstat -na grep 47653 | ' p>
Macro desconocida: {print $1}
'`
if [ -z $
Macro desconocida: {port_check_result}
]; luego
echo "Emma ctl port 47653 no está ESCUCHADO. Operación de exportación de Coverage.ec abortada."
else
# emma ctl está en estado de inicio, exporte cover.ec y haga una copia de seguridad en /home/q/mobsrv_cov
if []
fi