Repolode
LinShunKang

LinShunKang/MyPerf4J

Ferramenta de APM de alto desempenho para Java que coleta métricas de métodos e da JVM por meio de um Java agent, sem exigir alterações no código da aplicação.

Estrelas
3,570
Forks
551
Issues abertas
6
Último commit
há 3 meses

O que é?

MyPerf4J é uma ferramenta de monitoramento de desempenho e estatísticas de aplicações Java, voltada a serviços de alta concorrência e baixa latência. Ela se conecta à JVM por meio de um JavaAgent baseado em instrumentação de bytecode com ASM, permitindo registrar os tempos de resposta dos métodos sem alterações no código da aplicação. As métricas incluem RPS, contagem, média, mínimo, máximo, desvio padrão e percentis TP (de TP50 a TP100) por método, além de métricas de threads, memória, GC, classes, compilação e descritores de arquivo da JVM.

As estatísticas são agregadas em intervalos de um segundo, e o projeto afirma que todas as chamadas são contabilizadas, sem amostragem. Os resultados são gravados em arquivos de log, e o projeto oferece configuração para enviá-los ao InfluxDB, com dashboards do Grafana. A configuração usa um arquivo properties e dois argumentos da JVM; no JDK 9 ou posterior, também é necessário passar uma flag --add-opens.

O projeto é licenciado sob BSD-3-Clause e também pode ser compilado a partir do código-fonte com Maven.

Recursos principais

  • 01Conecta-se por meio de JavaAgent, sem alterações no código da aplicação
  • 02Métricas por método, incluindo RPS, média, máximo e percentis de TP50 a TP100
  • 03Métricas da JVM sobre threads, memória, GC, classes, compilação e descritores de arquivo
  • 04Estatísticas em intervalos de um segundo, com registro de todas as chamadas
  • 05Saída em arquivos de log, com integração com InfluxDB e Grafana

Casos de uso

  • Encontrar métodos lentos em um microsserviço Java sob carga de produção
  • Monitorar ao longo do tempo o comportamento da memória, do GC e das threads da JVM
  • Criar dashboards do Grafana para acompanhar o desempenho de serviços Java

Início rápido

  1. 1

    Baixe e descompacte MyPerf4J-ASM.zip e, em seguida, edite MyPerf4J.properties

  2. 2

    Adicione o Java agent e o arquivo properties aos argumentos de inicialização da JVM

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

    Inicie o app e verifique se há saída em /path/to/log/method_metrics.log

Antes de usar

  • A configuração exige a edição de um arquivo properties e das opções de inicialização da JVM.
  • No JDK 9 ou posterior, é necessária a opção adicional --add-opens java.base/java.lang=ALL-UNNAMED.

Em coleções

Tópicos

Perguntas frequentes

O que é MyPerf4J?
Ferramenta de APM de alto desempenho para Java que coleta métricas de métodos e da JVM por meio de um Java agent, sem exigir alterações no código da aplicação. MyPerf4J é uma ferramenta de monitoramento de desempenho e estatísticas de aplicações Java, voltada a serviços de alta concorrência e baixa latência. Ela se conecta à JVM por meio de um JavaAgent baseado em instrumentação de bytecode com ASM, permitindo registrar os tempos de resposta dos métodos sem alterações no código da aplicação. As métricas incluem RPS, contagem, média, mínimo, máximo, desvio padrão e percentis TP (de TP50 a TP100) por método, além de métricas de threads, memória, GC, classes, compilação e descritores de arquivo da JVM.
MyPerf4J é gratuito? Qual é a licença?
MyPerf4J é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
MyPerf4J ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de MyPerf4J foi em 31 de jul. de 2026.
Para que posso usar MyPerf4J?
Encontrar métodos lentos em um microsserviço Java sob carga de produção Monitorar ao longo do tempo o comportamento da memória, do GC e das threads da JVM Criar dashboards do Grafana para acompanhar o desempenho de serviços Java
Como instalar MyPerf4J?
Baixe e descompacte MyPerf4J-ASM.zip e, em seguida, edite MyPerf4J.properties Adicione o Java agent e o arquivo properties aos argumentos de inicialização da JVM: java -javaagent:/path/to/MyPerf4J-ASM.jar -DMyPerf4JPropFile=/path/to/MyPerf4J.properties -jar yourApp.jar Inicie o app e verifique se há saída em /path/to/log/method_metrics.log
Onde consigo MyPerf4J?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/LinShunKang/MyPerf4J

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Um contêiner de sandbox para JVM que adiciona AOP não invasivo em tempo de execução a aplicações Java em execução, sem reiniciá-las.

DevOps e nuvem#java#jvm#aop
7 mil+2 esta semana1,6 milJavaLGPL-3.0Atualizado há 2 meses