Rechercher vos lignes de code les plus onéreuses avec Amazon CodeGuru

Amazon CodeGuru est un outil de développement optimisé par le machine learning qui fournit des recommandations intelligentes pour améliorer la qualité du code et identifier les lignes de code les plus coûteuses d'une application. Il effectue des examens de code automatisés et fournit des recommandations sur les performances des applications.

Amazon CodeGuru Profiler

Amazon CodeGuru Profiler recherche constamment à optimiser les performances de l'application, en identifiant vos lignes de code les plus « onéreuses » et en recommandant des manières de les corriger en vue de réduire l'utilisation de la CPU, de diminuer les coûts de calcul et d'améliorer les performances de l'application. Par exemple, CodeGuru Profiler est capable d'identifier les situations dans lesquelles votre application consomme une capacité de CPU excessive sur une routine de journalisation, au lieu d'exécuter une logique applicative de base.

Comprendre le comportement d'exécution des applications

CodeGuru Profiler analyse en permanence l'utilisation de la CPU par l'application et les caractéristiques de latence pour vous montrer où vous passez le plus de cycles ou de temps dans votre application. Cette analyse est présentée dans un graphique de type flamme interactif qui vous aide à comprendre facilement graphiquement quels chemins de code consomment le plus de ressources, à vérifier que votre application fonctionne normalement et à découvrir les domaines qui peuvent être optimisés davantage.

CodeGuru_Profiler
CodeGuru_Profiler
 Cliquer pour agrandir

Les graphiques type flamme permettent de visualiser les performances de votre application en regroupant toutes les traces de pile qui s'exécutent à un moment donné. Vous pouvez utiliser un graphique de type flamme pour comprendre les chemins qui consomment le plus de ressources, vérifier que votre application fonctionne normalement et détecter les sections qui peuvent être optimisés davantage. Par exemple, la méthode UploadGreyImage coûte 134 868 USD par an et cela consomme 10,22 % de temps d’horloge murale, donc si vous ne vous attendiez pas à ce qu'elle passe autant de temps, vous devez enquêter.

Recommandations intelligentes

CodeGuru Profiler identifie automatiquement les problèmes de performance dans votre application et adresse des recommandations intelligentes concernant la façon d'y remédier. Ces recommandations vous aident à identifier et à optimiser les méthodes les plus onéreuses ou les plus gourmandes en ressources au sein du code sans devoir être un expert de l'ingénierie de performance. Ces optimisations vous aident à réduire le coût de votre infrastructure, à réduire la latence et à améliorer votre expérience globale d'utilisateur final.

CodeGuru_Profiler-1
CodeGuru_Profiler-1
 Cliquer pour agrandir

Lorsqu'il détecte des possibilités d'optimiser les performances de votre application, Amazon CodeGuru Profiler explique pourquoi il recommande une modification, la raison du problème, la manière de le résoudre et à quel endroit du code ce problème affecte votre application. Cette recommandation vous montre que cette coûteuse ligne de code vous coûte 182 160 USD par an et représente 2,97 % du coût de votre CPU active. Si vous suivez les étapes de résolution proposées, vous pourrez économiser jusqu'à 182 160 USD

Détection des anomalies

Amazon CodeGuru Profiler analyse en permanence les profils de votre application en temps réel et détecte les anomalies dans son comportement et de ses méthodes. Chaque anomalie est suivie dans le rapport de recommandation, et vous pouvez voir les séries chronologiques du comportement de la latence de la méthode au fil du temps, les anomalies étant clairement mises en évidence. Si cela est configuré, une notification Amazon SNS est également envoyée lorsqu'une nouvelle anomalie est détectée.

CodeGuru_AD
CodeGuru_AD
 Cliquer pour agrandir
Profilage permanent d'applications en production

CodeGuru Profiler est conçu pour s'exécuter de manière continue en production avec des frais d'UC minimes, ce qui signifie que vous pouvez le maintenir activé en n'ayant qu'un impact minime sur les performances. Cela vous permet d'établir le profil et de dépanner votre application à l'aide de véritables modèles de trafic client et de facilement détecter les problèmes de performance qui ne seraient pas détectés dans votre environnement de test.

Amazon CodeGuru Reviewer

Amazon CodeGuru Reviewer recherche des problèmes dans votre code et vous recommande des solutions pour les résoudre. Par exemple, CodeGuru Reviewer détecte les écarts par rapport aux bonnes pratiques d'utilisation des API et SDK AWS, et identifie également les problèmes de concurrence, les fuites de ressources et la validation incorrecte des entrées. Pour commencer à réviser le code, vous pouvez associer les référentiels de code existants sur GitHub, GitHub Enterprise, Bitbucket ou AWS CodeCommit avec CodeGuru.

Recommandations automatisées

CodeGuru Reviewer analyse automatiquement les demandes d'extraction de code source afin de détecter les problèmes critiques et émet des recommandations intelligentes en vue de résoudre les problèmes de code au sein de la demande d'extraction. CodeGuru Reviewer identifie les problèmes de qualité du code dans neuf grandes catégories :

  • Bonnes pratiques AWS : utilisation correcte des API AWS (par exemple, sondage, pagination)
  • Bonnes pratiques Java : utilisation correcte du langage Java et des fonctionnalités des bibliothèques
  • Concurrence : détecte une synchronisation manquante qui entraîne une fonctionnalité incorrecte ou une synchronisation excessive, ce qui entraîne des problèmes de performance
  • Blocages : contrôle de la coordination entre les threads concurrentes
  • Fuites de ressources : manipulation correcte des ressources (par exemple, libération des connexions aux bases de données)
  • Fuites d'informations sensibles : fuite d'informations personnelles identifiables (par exemple, enregistrement de données de carte de crédit)
  • Bogues de code communs : des erreurs difficiles à trouver, comme le fait de ne pas créer un client pour chaque invocation lambda
  • Clonage de code : identifie le code dupliqué qui pourrait être consolidé pour une meilleure maintenance du code
  • Validation des entrées : vérifications des données mal formées ou malveillantes provenant de sources non fiables
CodeGuru-Reviewer1
CodeGuru-Reviewer1
 Cliquer pour agrandir

En bref, Amazon CodeGuru fournit à votre équipe de développement les outils nécessaires pour maintenir un niveau élevé de normes de codage dans le processus de développement de logiciels.

Les clients peuvent également consulter tous les avis sur les codes dans la page de console « Révision de code » (section Reviewer). La page répertorie toutes les informations relatives à la révision du code, telles que le statut de la révision du code, le référentiel, le nombre de recommandations, etc. Les utilisateurs doivent cliquer sur une évaluation de code terminée pour consulter les détails associés, parcourir les recommandations et déterminer le nombre de lignes analysées. Les utilisateurs peuvent également donner leur avis sur les recommandations de CodeGuru en cliquant sur l'icône de pouce levé ou pouce baissé sous la recommandation.

CodeGuru-Feature-1
CodeGuru-Feature-1
 Cliquer pour agrandir
CodeGuru-Feature-2
CodeGuru-Feature-2
 Cliquer pour agrandir
Product-Page_Standard-Icons_01_Product-Features_SqInk
En savoir plus sur la tarification du produit

Consultez la page de tarification d'Amazon CodeGuru.

En savoir plus 
Product-Page_Standard-Icons_02_Sign-Up_SqInk
Créer gratuitement un compte

Obtenez un accès instantané à l'offre gratuite d'AWS. 

S'inscrire 
Product-Page_Standard-Icons_03_Start-Building_SqInk
Commencer à créer sur la console

Commencez à créer avec Amazon CodeGuru dans AWS Management Console.

Se connecter