Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Quer monitorar sua aplicação Java com Open Source? Com Fligth Recorder e Mission Control você pode!

APM (Application Performance Management) é uma ferramenta essencial para ajudar a otimizar e monitorar o desempenho de seus aplicativos. Mais do que monitorar o desempenho de sua aplicação a APM trata de entender o “porquê”, que ajudará o time de desenvolvimento identificar a causa raiz de forma mais eficiente.

A ideia é mostrar a combinação de Java Fligth Recorder e Java Mission Control para monitorar e ajudar otimizar o desempenho de aplicações Java.

Palestra apresentada no evento: Open Source Roadshow 2020 - Campinas-SP

  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Quer monitorar sua aplicação Java com Open Source? Com Fligth Recorder e Mission Control você pode!

  1. 1. Ariane Izac Matera Systems
  2. 2. ● Application Performance Management ○ Ferramentas que ajudam monitorar o desempenho das aplicações ○ Métricas ○ Desempenho a nível de código ● A APM trata de entender o “porquê” o mais rápido possível ○ Gaps ○ Gargalos ○ Causa raiz
  3. 3. link: https://www.linkedin.com/posts/ariane-izac-b9a6531b_apm-application-performance-management-activity-662698271 1850475520-AboM
  4. 4. ● Performance ○ Monitoramento de aplicações Java ■ Tempo de Desenvolvimento / Teste ■ Produção é uma outra licença - comercial ● Problemas intermitentes
  5. 5. ● Armazena Informações do processamento JVM ● Gravação por amostragem ● Baixo impacto no desempenho - de 1% a 2% ● Está embutida no JDK ( Java Development Kit) ● Disponível à partir da versão Oracle JDK 7u40+, 8+ OpenJDK11
  6. 6. ● Java Virtual Machine ○ Máquina virtual ● Java Virtual Machine é mais que um interpretador de código ● Responsável pela execução das pilhas ● Gerência memória, threads e etc. ● É um “computador virtual”. ● Trabalha com Garbage Collector,é uma thread responsável pela “limpeza” da memória virtual (quando existe muito “lixo”)
  7. 7. ● Interface gráfica para análise dos dados ● Também já vem embutido no JDK ( Java Development Kit) ● Permite habilitarcontrolar o Java Fligth Recorder através de uma interface ● Utiliza JMX para obter as informações da execução na JVM ● Disponível à partir da versão Oracle JDK 7u40+, 8+ Java Mission Control 5.x Para OpenJDK11 o Java Mission Control 7.x
  8. 8. jcmd Lista todos os processos java, com isso pode-se obter o pid java -XX:+UnlockComercialFeatures -XX:+FligthRecorder MyApp Flags para habilitar na execução da aplicação jcmd pid VM.unlock_commercial_features Liberar para gravação jcmd pid JFR.start inicia gravação jcmd pid JFR.check Lista as gravações correntes jcmd pid JFR.stop Para uma gravação jcmd pid JFR.dump Grava arquivo enquanto continua com a gravação. ○ https://docs.oracle.com/javacomponents/jmc-5-5/jfr-command-reference/diagnostic-command-reference.htm
  9. 9. jcmd $pid JFR.start name=testeJFR maxage=10m maxsize=200M settings=profile filename=/tmp/JFR/testeJFR.jfr dumponexit=true Irá iniciar uma gravação contínua que terá no máximo 200 MB e 10 minutos. Caso algum imprevisto aconteça e a JVM seja finalizada o arquivo também será gravado. Pela documentação 2% de overhead na opção settings=profile e 1% para default jcmd $pid JFR.dump name=testeJFR filename=/tmp/JFR/testeJFR.jfr Quando ocorrer o problema faça o dump para poder analisar o problema jcmd $pid JFR.stop name=testeJFR filename=/tmp/JFR/testeJFR.jfr Quando quiser parar com a gravação
  10. 10. General Overview: Heap e CPU JVM Information System Properties Recording Memory Overview: Uso de memória e GC* Garbage Collection GC Times GC Configuration Allocations Object Statics
  11. 11. Code Overview: Packages que gastaram mais tempo de execução Hot Methods Call tree Exceptions Compilations Class Loading Threads Overview: Uso de CPU e quantidade de Threads Hot Threads Contention Latencies Thread Dumps Lock Instances
  12. 12. IO Overview: Total de arquivossockets lidos e escritos File Read File Write Socket Read Socket Write Systems Overview: Informações do sistema - Verificar uso de CPU interna e externa Processes Environment Variables Events Overview: Resumo das atividades por evento Log Graph Threads Stack Traces Histogram
  13. 13. ● APM: https://guilhermeteles.com.br/o-que-e-application-performance-management/ ● Webinar: Open Source Fligt Recorder and Mission Control: Managing and Measuring JDK 8 Performance https://www.azul.com/presentation/azul-webinar-open-source-flight-recorder-and-mission-control-managi ng-and-measuring-openjdk-8-performance/ ● Webinar PROFILE DE APLICAÇÕES JAVA COM ORACLE MISSION CONTROL E FLIGHT RECORDER: https://www.youtube.com/watch?v=ZfIg_lyhw38 ● Junior Predes - Arquiteto na Matera Systems: https://www.linkedin.com/in/juniorpredes/
  14. 14. ● Explicação de todas as abas do Java Mission Control: https://www.oracle.com/webfolder/technetwork/tutorials/obe/java/mc-jfr/index.html ● Guia do Java Mission Control: https://docs.oracle.com/javacomponents/jmc-5-5/jmc-user-guide/preface_jmcci.htm#JMCCI140 ● Guia do Java Flight Recorder: https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm#JFRUH170 ● ASH Viwer: https://timurakhmadeev.wordpress.com/2010/02/18/ash-viewer/
  15. 15. Analista de Testes Há 12 anos Ariane Izac Matera Systems Há 7 anos Blogueira Grupo no LinkedIN Diário de uma Paixão: Teste de Software CONTATOS Ariane Izac afizac@gmail.com @arianizac

×