A Microsoft lançou o código-fonte do GCToolkit

Microsoft lançou há poucos dias a notícia de que lançou o código-fonte de sua ferramenta «GCToolkit», que é um conjunto de bibliotecas para analisar os arquivos de log do Java Garbage Collection, com o qual todo o código GCToolkit está disponível no GitHub sob a licença do MIT.

GCToolkit consiste em três módulos Java cobrindo APIs, analisadores de arquivo de log de GC e uma placa traseira de mensagem baseada em kit de ferramentas Vert.x para construir aplicativos responsivos na JVM. Com esse utilitário, os usuários podem criar varreduras arbitrárias e complexas do estado da memória gerenciada na JVM.

Como o nome sugere, este é um conjunto de bibliotecas para analisar arquivos de log de coleta de lixo Java (GC) e analisá-los em eventos separados. Exponha uma API para melhorar o engajamento com o kit de ferramentas e agregação de dados, este permite ao usuário criar análises arbitrárias complexas do estado da memória gerenciada da JVM.

De acordo com a equipe, esse é o ponto de entrada do usuário no GCToolkit que esconde os detalhes dos módulos internos em algumas chamadas de método. Além da API, existem dois outros módulos: o módulo de análise e Vert.x. O Módulo Parser é baseado em uma coleção de expressões regulares e código escrito para ser considerado o analisador de log de GC mais robusto disponível.

O back-end de mensagens baseado em Vert.x usa dois barramentos de mensagem: o primeiro transmite dados de uma fonte de dados. A implementação atual passa as linhas de registro do arquivo de registro do GC. Os consumidores desse barramento são os analisadores que convertem os dados da fonte de dados em eventos que representam um ciclo de GC ou ponto seguro. Esses eventos são publicados no segundo barramento de mensagem: o barramento de evento. Os assinantes do barramento de eventos podem ser notificados e processar os eventos de seu interesse.

Parser emite eventos JVM discretos, permitindo que você escreva código para capturar e analisar dados desses eventos. Para facilitar a captura de dados e a análise dos arquivos de log do GC, o GCToolkit fornece uma estrutura de agregação simples. O tipo de dados que os usuários desejam capturar ou o tipo de análise que desejam realizar fica a critério do usuário. Por exemplo, para capturar eventos de pausa para analisar a ocupação do heap, o agregador captura o evento, extrai os dados relevantes e os passa para a agregação.

Isso reúne os dados em uma análise significativa, por exemplo, a ocupação total do heap após a coleta de lixo. Os dados resultantes podem ser apresentados na forma de um gráfico, tabela ou outro formato mais amigável. Mais importante, de acordo com a equipe, uma configuração de coletor subótima resultará em um aplicativo que requer mais CPU e memória, ao mesmo tempo que prejudica a experiência do usuário final. Em outras palavras, um coletor mal ajustado geralmente significa tempo de execução mais caro e usuários insatisfeitos.

Com o crescente interesse da Microsoft na plataforma Java, foco no código aberto, também está aumentando os benefícios para a comunidade Java. Depois de fazer contribuições significativas para portar o macOS M1 e o Windows para o Arm, a Microsoft reafirmou seu compromisso com o OpenJDK apresentando sua própria versão do OpenJDK e juntando-se ao grupo de trabalho Eclipse Adoptium (anteriormente conhecido como AdoptOpenJDK).

Ao tornar o GCToolkit de código aberto, A Microsoft está tentando fornecer uma maneira melhor de ver os aspectos internos da JVM sobre como ela lida com o GC e alocação de memória. Uma melhor visibilidade permite uma melhor configuração, o que beneficia tanto os usuários finais da aplicação quanto o pessoal técnico responsável por seu gerenciamento.

A API simples e os mecanismos de saída fáceis de usar prometem melhorar a tarefa de leitura de logs de GC, fornecendo vários mecanismos para analisar, extrair e visualizar dados.

fonte: https://devblogs.microsoft.com


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.