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.

Automatisierte Empfehlungen für Anfrageanforderungen

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

Automatisierte Empfehlungen für Anfrageanforderungen
 Zum Vergrößern klicken

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.

Anfrageanforderung
 Zum Vergrößern klicken
Empfehlungen
 Zum Vergrößern klicken
Volle Repository-Analyse

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.

Volle Repository-Analyse
 Zum Vergrößern klicken

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.

Sicherheitserkennung

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:

1. Bewährte Verfahren für die AWS-API-Sicherheit: Sie können die API-Sicherheit für AWS EC2 und KMS überprüfen.
2. Bewährtes Verfahren für die Java Crypto-Bibliothek: Sie können überprüfen, ob Javax.Crypto.Cipher initialisiert und korrekt aufgerufen wurde.
3. Sichere Webanwendungen: Sie können Sicherheitsprobleme im Zusammenhang mit Webanwendungen überprüfen, z. B. LDAP-Injektionen.
4. Leck sensibler Informationen: Sie können überprüfen, ob persönliche oder sensible Informationen verloren gehen.
5. Bewährte Verfahren für die AWS-Sicherheit (z. B. AWS Crypto-Empfehlungen): Sie können überprüfen, ob Ihr Code den bewährten Verfahren für AWS entspricht.
 
Sie können zur CodeGuru-Konsole gehen und eine Sicherheitsanalyse für das gesamte Repository oder die Codebasis auslösen, indem Sie Ihre Quelle hochladen und Artefakte erstellen.
Sicherheitserkennung
 Zum Vergrößern klicken

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.

Always-On-Profilierung von Anwendungen in der Produktion

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.

Verstehen des Laufzeitverhaltens von Anwendungen

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.

Bildverarbeitungsanomalie
 Zum Vergrößern klicken

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.

Heap-Zusammenfassung

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.

Entdecken Sie Anomalien und häufige Probleme in Ihrer Anwendungsleistung.
 Zum Vergrößern klicken

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.

Intelligente Empfehlungen

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.

Intelligente Empfehlungen
 Zum Vergrößern klicken

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.

Anomalieerkennung

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.

Anomalieerkennung
 Zum Vergrößern klicken
Always-On-Profilierung von Anwendungen in der Produktion

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.

Standard Product Icons (Features) Squid Ink
Weitere Informationen zu den Preisen von Amazon CodeGuru

Besuchen Sie die Amazon-CodeGuru-Preisseite.

Weitere Informationen 
Standard Product Icons (Sign Up) Squid Ink
Registrieren Sie sich und erhalten Sie ein kostenloses Konto

Sie erhalten sofort Zugriff auf das kostenlose AWS-Kontingent. 

Registrieren 
Standard Product Icons (Start Building) Squid Ink
Beginnen Sie mit der Entwicklung in der Konsole

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

Anmelden