Repolode
LinShunKang

LinShunKang/MyPerf4J

Herramienta APM de alto rendimiento para Java que recopila métricas de métodos y de la JVM mediante un Java agent, sin modificar el código de la aplicación.

Estrellas
3,570
Forks
551
Issues abiertos
6
Último commit
hace 3 meses

¿Qué es?

MyPerf4J es una herramienta de estadísticas y monitorización del rendimiento de aplicaciones Java, pensada para servicios con alta concurrencia y baja latencia. Se conecta a la JVM mediante un JavaAgent basado en instrumentación de bytecode con ASM, por lo que puede registrar los tiempos de respuesta de los métodos sin modificar el código de la aplicación. Las métricas incluyen RPS, cantidad de llamadas, promedio, mínimo, máximo, desviación estándar y percentiles TP (de TP50 a TP100) por método, además de métricas de la JVM sobre hilos, memoria, GC, clases, compilación y descriptores de archivo.

Las estadísticas se agregan con una granularidad de un segundo y, según el proyecto, se cuenta cada llamada en lugar de tomar muestras. Los resultados se escriben en archivos de registro, y el proyecto ofrece configuración para enviarlos a InfluxDB y usar dashboards de Grafana. La configuración requiere un archivo properties y dos argumentos de la JVM; en JDK 9 y versiones posteriores, también se necesita el flag --add-opens.

El proyecto cuenta con licencia BSD-3-Clause y también se puede compilar desde el código fuente con Maven.

Funciones clave

  • 01Se conecta mediante JavaAgent sin modificar el código de la aplicación
  • 02Métricas por método, como RPS, promedio, máximo y percentiles de TP50 a TP100
  • 03Métricas de la JVM sobre hilos, memoria, GC, clases, compilación y descriptores de archivo
  • 04Estadísticas con granularidad de un segundo y registro de cada llamada
  • 05Salida en archivos de registro e integración con InfluxDB y Grafana

Casos de uso

  • Encontrar métodos lentos en un microservicio Java bajo carga de producción
  • Supervisar a lo largo del tiempo el comportamiento de la memoria, el GC y los hilos de la JVM
  • Crear dashboards de Grafana para el rendimiento de servicios Java

Inicio rápido

  1. 1

    Descarga y descomprime MyPerf4J-ASM.zip; después, edita MyPerf4J.properties

  2. 2

    Añade el Java agent y el archivo properties a los argumentos de inicio de la JVM

    java -javaagent:/path/to/MyPerf4J-ASM.jar -DMyPerf4JPropFile=/path/to/MyPerf4J.properties -jar yourApp.jar
  3. 3

    Inicia la aplicación y comprueba si hay resultados en /path/to/log/method_metrics.log

Antes de usarlo

  • La configuración requiere editar un archivo properties y las opciones de inicio de la JVM.
  • En JDK 9 y versiones posteriores, se requiere la opción adicional --add-opens java.base/java.lang=ALL-UNNAMED.

En colecciones

Temas

Preguntas frecuentes

¿Qué es MyPerf4J?
Herramienta APM de alto rendimiento para Java que recopila métricas de métodos y de la JVM mediante un Java agent, sin modificar el código de la aplicación. MyPerf4J es una herramienta de estadísticas y monitorización del rendimiento de aplicaciones Java, pensada para servicios con alta concurrencia y baja latencia. Se conecta a la JVM mediante un JavaAgent basado en instrumentación de bytecode con ASM, por lo que puede registrar los tiempos de respuesta de los métodos sin modificar el código de la aplicación. Las métricas incluyen RPS, cantidad de llamadas, promedio, mínimo, máximo, desviación estándar y percentiles TP (de TP50 a TP100) por método, además de métricas de la JVM sobre hilos, memoria, GC, clases, compilación y descriptores de archivo.
¿MyPerf4J es gratuito? ¿Qué licencia tiene?
MyPerf4J es open source bajo la licencia BSD-3-Clause. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿MyPerf4J sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de MyPerf4J fue el 31 jul 2026.
¿Para qué puedo usar MyPerf4J?
Encontrar métodos lentos en un microservicio Java bajo carga de producción Supervisar a lo largo del tiempo el comportamiento de la memoria, el GC y los hilos de la JVM Crear dashboards de Grafana para el rendimiento de servicios Java
¿Cómo se instala MyPerf4J?
Descarga y descomprime MyPerf4J-ASM.zip; después, edita MyPerf4J.properties Añade el Java agent y el archivo properties a los argumentos de inicio de la JVM: java -javaagent:/path/to/MyPerf4J-ASM.jar -DMyPerf4JPropFile=/path/to/MyPerf4J.properties -jar yourApp.jar Inicia la aplicación y comprueba si hay resultados en /path/to/log/method_metrics.log
¿Dónde consigo MyPerf4J?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/LinShunKang/MyPerf4J

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados

Un contenedor sandbox para JVM que añade AOP no invasivo en tiempo de ejecución a aplicaciones Java activas, sin reiniciarlas.

DevOps y nube#java#jvm#aop
7 mil+2 esta semana1,6 milJavaLGPL-3.0Actualizado hace 2 meses