Finden Sie mit Amazon CodeGuru Ihre teuersten Codezeilen.
Amazon CodeGuru ist ein Entwickler-Tool, das auf Basis von Machine Learning intelligente Empfehlungen für die Verbesserung der Codequalität liefert und die teuersten Codezeilen in einer Anwendung findet. Es führt automatisierte Code-Prüfungen durch und gibt Empfehlungen zur Anwendungsleistung.
Amazon CodeGuru Reviewer
Der Amazon CodeGuru Reviewer findet in Ihrem Code enthaltene Probleme und macht Vorschläge zu deren Behebung. CodeGuru Reviewer erkennt beispielsweise Abweichungen von den bewährten Verfahren zur Nutzung von AWS-APIs und -SDKs und identifiziert darüber hinaus Nebenläufigkeitsprobleme, Ressourcenlecks, Sicherheitsschwachstellen und inkorrekte Eingabevalidierungen. Sie können vorhandene Code-Repositorys in GitHub, GitHub Enterprise, Bitbucket oder AWS CodeCommit mit CodeGuru verknüpfen, um mit der Überprüfung des Codes zu beginnen.
CodeGuru Reviewer analysiert Codeanfrageanforderungen automatisch, um kritische Probleme zu finden und gibt intelligente Empfehlungen zur Auflösung von Codemängeln innerhalb der Anfrageanforderung. CodeGuru Reviewer identifiziert Code-Qualitätsprobleme in neun großen Kategorien:
• Bewährte AWS-Methoden: Korrekte Verwendung von AWS APIs (z. B. Polling, Paginierung)
• Bewährte Methoden für Java und Python (in der Vorschau verfügbar): Richtige Verwendung der gängigen Sprach- und Bibliotheksfunktionen von Java und Python
• Nebenläufigkeit: Erkennt fehlende Synchronisierung, die zu falscher Funktionalität oder übermäßiger Synchronisierung und damit zu Leistungsproblemen führt.
• Sackgassen: Überprüft die Koordination zwischen gleichzeitigen Threads
• Ressourcenlecks: Korrekte Handhabung von Ressourcen (z. B. Freigabe von Datenbankverbindungen)
• Lecks sensibler Informationen: Lecks von persönlich identifizierbaren Informationen (z. B. Protokollierung von Kreditkartendaten)
• Häufige Code-Fehler: Schwer zu findende Fehler, z. B. nicht für jeden Lambda-Aufruf einen Client zu erzeugen
• Code-Klonen: Identifiziert duplizierten Code, der für eine bessere Wartbarkeit des Codes konsolidiert werden könnte
• Eingabevalidierung: Überprüft auf fehlerhafte oder bösartige Daten aus nicht vertrauenswürdigen Quellen

Kurz gesagt, CodeGuru stattet Ihr Entwicklungsteam mit Tools aus, um im Softwareentwicklungsprozess ein hohes Maß an Codierungsstandards einzuhalten.
Sie können alle Codeüberprüfungen auch auf der Konsolenseite „Codeüberprüfungen“ (Rezensenten-Abschnitt) einsehen. Auf der Seite werden alle Code-Überprüfungsinformationen aufgeführt. Hierzu zählen unter anderem der Status der Codeüberprüfung, das Repository und die Anzahl von Empfehlungen. Sie können auf eine erfolgreich abgeschlossene Codeüberprüfung klicken, um sich Empfehlungsdetails anzusehen, nach Empfehlungen zu suchen und die Anzahl analysierter Zeilen anzuzeigen. Außerdem können Sie Feedback zu CodeGuru-Empfehlungen geben, indem Sie unterhalb der Empfehlung auf das Symbol mit dem Daumen nach oben oder auf das Symbol mit dem Daumen nach unten klicken.


Mit CodeGuru können Sie automatisierte Codeprüfungsempfehlungen für verknüpfte Repositorys und allen Code (nicht nur inkrementelle Änderungen über Anfrageanforderungen) unter einem bestimmten Codezweig erhalten. Zu den Anwendungsfällen gehören das Anbieten von Codeprüfungsempfehlungen bei der Codemigration, Code-Due-Diligence und regelmäßige Codewartbarkeitsinitiativen. Sie können zur Registerkarte „Repository-Analyse“ auf der Seite „Codeüberprüfungen“ navigieren, um eine neue Analyse für ein volles Repository auszulösen.

Mit der Anfrageanforderungs- und vollen Repository-Analyse können Sie bei Reviewer 1) Ihr Repository verknüpfen, 2) eine volle Repository-Analyse initiieren, 3) kontinuierlich Anfrageanforderungen mit inkrementellen Code-Änderungen analysieren und 4) regelmäßige Neuanalysen des vollen Repositorys durchführen, um die Codequalität zu gewährleisten.
Codeguru Reviewer hilft Ihnen bei der Verbesserung der Codesicherheit und gibt Empfehlungen für bewährte Verfahren. Mithilfe von Machine Learning wird der Datenfluss von der Quelle zur Senke und über mehrere Funktionen hinweg analysiert, um schwer zu findende Sicherheitsschwachstellen zu erkennen. Der Sicherheitsdetektor unterstützt Java über Java 11 und identifiziert verschiedene Kategorien von Themen wie:

Amazon CodeGuru Profiler
CodeGuru Profiler ist stets auf der Suche nach Optimierungen der Anwendungsleistung, der Identifizierung der "teuersten" Codezeilen und der Empfehlung von Möglichkeiten zur Behebung, um die CPU-Auslastung zu verringern, die Rechenkosten zu senken und die Anwendungsleistung zu verbessern. Beispielsweise kann CodeGuru Profiler erkennen, wann Ihre Anwendung übermäßige CPU-Kapazität in einer Protokollierungsroutine beansprucht, anstatt die Kerngeschäftslogik umzusetzen.
CodeGuru Profiler ist so konzipiert, dass er kontinuierlich in der Produktion mit minimalem Overhead ausgeführt wird, sodass Sie ihn eingeschaltet lassen können. Sie können Ihre Anwendung anhand realer Kundendatenverkehrsmuster profilieren, Fehler beheben und Leistungsprobleme leicht erkennen. Wenn in Ihrer Produktionsanwendung Probleme auftreten, können Sie das jeweilige Problem mit den Profilerdaten und -Empfehlungen schnell beheben. CodeGuru Profiler bietet auch eine Heap-Zusammenfassung, mit der Sie ermitteln können, welche Objekte zu einem bestimmten Zeitpunkt Speicherplatz beanspruchen.
CodeGuru Profiler analysiert kontinuierlich die CPU-Auslastung, Heap-Nutzung und Latenzmerkmale der Anwendung, um Ihnen zu zeigen, wo Sie die meisten Zyklen oder die meiste Zeit in Ihrer Anwendung verbringen. Die CPU- und Latenzanalyse wird in einem interaktiven Flammendiagramm angezeigt, das leicht verständlich darstellt, welche Codepfade die meisten Ressourcen verbrauchen, prüft, ob die Anwendung wie erwartet läuft und weitere Optimierungspotenziale sichtbar macht.

Flammendiagramme visualisieren die Leistung Ihrer Anwendung, indem sie Stapelverfolgungsbeispiele über einen bestimmten Zeitraum aggregieren, um ein genaues Bild des Anwendungsverhaltens während dieser Zeit zu erhalten. Mithilfe eines Flammendiagramms können Sie besser verstehen, welche Pfade die meisten Ressourcen verbrauchen, prüfen, ob die Anwendung wie erwartet läuft und weitere Optimierungspotenziale auffinden. Zum Beispiel werden für die Methode UploadGreyImage 134.868 USD pro Jahr ausgegeben, und dieser Vorgang verbraucht dabei 10,22 % der Zeit. Wenn Sie also nicht erwartet haben, dass sie so viel Zeit in Anspruch nimmt, sollten Sie nachforschen.
Die Heap-Verwendungsanalyse wird in einer Heap-Zusammenfassungsvisualisierung dargestellt, die Ihnen zeigt, welche Objekte auf Ihrem Heap zugeordnet sind - ob Ihre eigenen Domainklassen oder die von Bibliotheken oder dem JDK.

Die Heap-Zusammenfassung visualisiert alle Objekte, die für einen bestimmten Zeitraum auf dem Heap zugewiesen wurden, sowie deren Größe, Anzahl und Zeitreihen. Im Zeitreihendiagramm sehen Sie beispielsweise, dass um 16:20 Uhr zwei Objekte deutlich wachsen (java.util.LinkedHashMap$Entry und java.land.UUID), was ein Hinweis auf einen möglichen Speicherverlust ist. Wenn sich dieser Aufwärtstrend fortsetzt, kann dies unkontrolliert zu einer Situation führen, in der nicht genügend Speicher vorhanden ist.
CodeGuru Profiler identifiziert Leistungsdefizite Ihrer Anwendung automatisch und gibt intelligente Empfehlungen ab, wie diese zu beheben sind. Dank dieser Empfehlungen können Sie die kosten- bzw. ressourcenintensivsten in Ihrem Code enthaltenen Methoden ermitteln und optimieren – auch wenn Sie kein Experte im Bereich Performance Engineering sind. Mithilfe dieser Optimierungen reduzieren Sie Infrastrukturkosten, reduzieren die Latenz und verbessern das Endnutzererlebnis im Allgemeinen.

Wenn Amazon CodeGuru Profiler Möglichkeiten zur Optimierung der Anwendungsleistung erkennt, wird erläutert, warum eine Änderung empfohlen wird, was das Problem verursacht, wie es behoben werden kann und wo sich dieses Problem im Code auf Ihre Anwendung auswirkt. Diese Empfehlung zeigt Ihnen, dass diese teure Codezeile Sie 182,160 USD pro Jahr kostet und 2,97 % Ihrer aktiven CPU-Auslastung ausmacht. Wenn Sie die vorgeschlagenen Lösungsschritte befolgen, können Sie bis zu 182,160 USD sparen.
Amazon CodeGuru Profiler analysiert kontinuierlich Ihre Anwendungsprofile in Echtzeit und erkennt Anomalien im Verhalten Ihrer Anwendung und ihrer Methoden. Jede Anomalie wird im Empfehlungsbericht verfolgt, und Sie können Zeitreihen darüber sehen, wie sich die Latenz der Methode im Laufe der Zeit verhält, wobei Anomalien deutlich hervorgehoben werden. Falls konfiguriert, wird bei Entdeckung einer neuen Anomalie auch eine Amazon-SNS-Benachrichtigung gesendet.

CodeGuru Profiler wurde entwickelt, um mit minimalem Aufwand fortwährend in der Produktion zu laufen, d. h. Sie können ihn unter minimaler Leistungsbeeinträchtigung konstant laufen lassen. So können Sie Ihre Anwendung mittels realer Kundenverkehrsmuster profilieren und Problembehebungen durchführen und so mit Leichtigkeit etwaige Leistungsdefizite entdecken, die in Ihrer Testumgebung ggf. verborgen geblieben wären.

Besuchen Sie die Amazon-CodeGuru-Preisseite.

Sie erhalten sofort Zugriff auf das kostenlose AWS-Kontingent.

Beginnen Sie mit dem Erstellen mit Amazon CodeGuru in der AWS-Managementkonsole.