Encontre as suas linhas de código mais caras com o Amazon CodeGuru

O Amazon CodeGuru é uma ferramenta de desenvolvedor com tecnologia de machine learning que fornece recomendações inteligentes para melhorar a qualidade do código e identificar as linhas de códigos mais caras de um aplicativo. Ele realiza revisões automatizadas de código e fornece recomendações para desempenho do aplicativo.

Amazon CodeGuru Profiler

O Amazon CodeGuru Profiler está sempre buscando otimizações de desempenho de aplicativos, identificando suas linhas de código mais "caras" e recomendando maneiras de corrigi-las para reduzir a utilização de CPU, cortar custos de computação e melhorar o desempenho dos aplicativos. Por exemplo, o CodeGuru Profiler pode identificar quando seu aplicativo está consumindo capacidade excessiva da CPU em uma rotina de registro em vez de executar na lógica empresarial principal.

Compreenda o comportamento de execução dos aplicativos

O CodeGuru Profiler analisa constantemente as características de utilização e latência da CPU do aplicativo para mostrar onde você gasta mais ciclos ou tempo em seu aplicativo. Essa análise é apresentada em um gráfico de chama interativo que ajuda a entender visualmente com facilidade quais os caminhos de códigos consomem mais recursos, verificar se o aplicativo está com o desempenho esperado e descobrir áreas que podem ser ainda mais otimizadas.

CodeGuru_Profiler
CodeGuru_Profiler
 Clique para aumentar

Os gráficos de chama permitem a visualização do desempenho do seu aplicativo agregando todos os rastreamentos de pilha em execução em um determinado momento. Você pode usar um gráfico de chama para entender quais caminhos consomem mais recursos, verificar se o aplicativo está com o desempenho esperado e descobrir áreas que podem ser ainda mais otimizadas. Por exemplo, o método UploadGreyImage está gastando 134.868 USD por ano e está consumindo 10,22% do tempo do relógio de parede. Se você não esperava gastar tanto tempo assim, deveria investigar.

Recomendações inteligentes

O CodeGuru Profiler identifica automaticamente problemas de desempenho em seu aplicativo e fornece recomendações inteligentes sobre como corrigi-los. Essas recomendações ajudam a identificar e otimizar os métodos mais caros ou com uso mais intensivo de recursos em seu código, sem a necessidade de ser um especialista em engenharia de desempenho. Essas otimizações ajudam a reduzir o custo de sua infraestrutura, latência e melhorar a sua experiência geral do usuário final.

CodeGuru_Profiler-1
CodeGuru_Profiler-1
 Clique para aumentar

Quando ele vê oportunidades de otimizar o desempenho do aplicativo, o Amazon CodeGuru Profiler explica por que recomenda uma alteração, qual é a causa do problema, como resolvê-lo e onde no código esse problema afeta o seu aplicativo. Essa recomendação mostra que essa linha cara do código custa 182.160.000 USD por ano e gasta 2,97 USD do seu custo de CPU ativo. Se você seguir as etapas de resolução sugeridas, poderá economizar até 182.160.000 USD.

Detecção de anomalias

O Amazon CodeGuru Profiler analisa constantemente seus perfis de aplicativo em tempo real e detecta anomalias no comportamento de seu aplicativo e de seus métodos. Cada anomalia é acompanhada no relatório de Recomendações, e você pode ver séries temporais de como a latência do método se comporta ao longo do tempo, com anomalias claramente destacadas. Se configurada, uma notificação do Amazon SNS também será enviada quando uma nova anomalia for detectada.

CodeGuru_AD
CodeGuru_AD
 Clique para aumentar
Perfil permanente de aplicativos em produção

O CodeGuru Profiler foi desenvolvido para ser executado continuamente em produção com o mínimo de sobrecarga da CPU, o que significa que você pode deixá-lo ligado o tempo todo com impacto mínimo no desempenho do aplicativo. Isso permite que você crie um perfil e resolva problemas de seu aplicativo usando padrões reais de tráfego de clientes e descubra facilmente problemas de desempenho que podem não ser detectados em seu ambiente de teste.

Amazon CodeGuru Reviewer

O Amazon CodeGuru Reviewer encontra os problemas no seu código e recomenda como corrigi-los. Por exemplo, o CodeGuru Reviewer detecta o desvio das práticas recomendadas para o uso de APIs e SDKs da AWS e também identifica problemas de simultaneidade, vazamentos de recursos e validação incorreta de entrada. Para começar a analisar o código, você pode associar repositórios de código existentes no GitHub, no GitHub Enterprise, no Bitbucket ou no AWS CodeCommit ao CodeGuru.

Recomendações automatizadas

O CodeGuru Reviewer analisa automaticamente solicitações pull de código-fonte para encontrar problemas críticos e fornece recomendações inteligentes para resolver defeitos de código diretamente dentro da solicitação pull. O CodeGuru Reviewer identifica problemas de qualidade do código em nove categorias principais:

  • Práticas recomendadas da AWS: uso correto das APIs da AWS (por ex., sondagem, paginação).
  • Práticas recomendadas do Java: uso correto dos recursos populares de linguagem e biblioteca Java.
  • Simultaneidade: detecta a sincronização ausente, resultando em funcionalidade incorreta ou sincronização excessiva que leva a problemas de desempenho.
  • Bloqueios: verifica a coordenação entre threads simultâneos.
  • Vazamento de recursos: manuseio correto de recursos (por ex., liberando conexões com o banco de dados).
  • Vazamento de informações confidenciais: vazamento de informações de identificação pessoal, como detalhes de registro em log do cartão de crédito.
  • Erros comuns de código: defeitos difíceis de encontrar, como não criar um cliente para cada chamada lambda.
  • Clonagem de código: identifica o código duplicado que pode ser consolidado para melhor manutenção do código
  • Validação de entrada: verifica dados malformados ou mal-intencionados de fontes não confiáveis
CodeGuru-Reviewer1
CodeGuru-Reviewer1
 Clique para aumentar

Em resumo, com o Amazon CodeGuru, sua equipe de desenvolvimento terá as ferramentas para manter um alto nível de padrões de codificação no processo de desenvolvimento de software.

Os clientes também podem ver todas as revisões de código na página de console “Revisões de código” (seção Reviewer). Essa página lista todas as informações de revisão de código, como o status da revisão de código, o repositório, o número de recomendações e muito mais. Os usuários clicam em uma revisão de código concluída com êxito para exibir detalhes de recomendações, procurar recomendações e ver o número de linhas analisadas. Os usuários também podem dar opiniões sobre recomendações do CodeGuru, clicando no ícone de polegar para cima ou para baixo abaixo da recomendação.

CodeGuru-Feature-1
CodeGuru-Feature-1
 Clique para aumentar
CodeGuru-Feature-2
CodeGuru-Feature-2
 Clique para aumentar
Análise do repositório completo

Os clientes podem obter recomendações de revisão de código automatizadas para repositórios associados para todo o código (não apenas mudanças incrementais por meio de solicitações pull) em uma ramificação de código especificada. Os casos de uso do cliente incluem o fornecimento de recomendações de revisão de código durante a migração de código, a devida diligência de código e as iniciativas de manutenção de código periódicas. Os clientes podem navegar até a guia “Repository Analysis” na página “Code Reviews” para acionar uma nova análise em um repositório completo.

RepostoryAnalysis
RepostoryAnalysis

Com a solicitação pull e a análise completa do repositório disponíveis, os clientes integrados ao Reviewer podem 1) associar seu repositório, 2) iniciar uma análise do repositório completo, 3) analisar continuamente as solicitações pull com alterações incrementais de código e 4) fazer uma nova varredura periódica do repositório completo para garantir a qualidade do código.

Product-Page_Standard-Icons_01_Product-Features_SqInk
Saiba mais sobre a definição de preço de produtos

Visite a página de definição de preço do Amazon CodeGuru.

Saiba mais 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS. 

Cadastre-se 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Comece a criar no console

Comece a criar com o Amazon CodeGuru no Console de Gerenciamento da AWS.

Fazer login