Finden Sie mit Amazon CodeGuru Ihre teuersten Codezeilen

Amazon CodeGuru ist ein Entwickler-Tool, das die Macht von Machine Learning nutzt, um Ihnen zu helfen, die Wartbarkeit Ihres Codes zu verbessern und Ihre teuersten Codezeilen zu finden. Es führt automatisierte Code-Prüfungen durch und gibt Empfehlungen zur Anwendungsleistung.

Amazon CodeGuru Reviewer

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 Ihre vorhandenen 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 identifiziert Probleme mit der Wartbarkeit des Codes und Sicherheitsrisiken (einschließlich der 10 wichtigsten OWASP-Kategorien) durch automatische Analyse von Quellcode-Anfrageanforderungen, um kritische Probleme zu finden. Es liefert dann intelligente Empfehlungen zur Behebung von Code-Fehlern direkt in der Anfrageanforderung. CodeGuru Reviewer identifiziert Probleme mit der Wartbarkeit von Code in neun weit gefassten Kategorien und rüstet Ihr Entwicklungsteam für die Einhaltung hoher Codierungsstandards im Softwareentwicklungsprozess:

• Bewährte AWS-Methoden: Korrekte Verwendung von AWS APIs (z. B. Polling, Paginierung)
• Bewährte Methoden für Java und Python: 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.
• Wartbarkeit des Codes: Identifiziert Codekomplexitäten oder jedes Merkmal im Quellcode, das die Wartung des Codes über die Zeit erschwert.
• Ressourcenlecks: Korrekte Handhabung von Ressourcen (z. B. Freigabe von Datenbankverbindungen)
• Lecks sensibler Informationen: Lecks von persönlich identifizierbaren Informationen (z. B. Protokollierung von Kreditkartendaten)
• Bewährte Codierungspraktiken: Prüft auf Parameter und sucht nach Codezeilen, die Fehler verursachen könnten (z. B. Vergessen zu prüfen, ob ein Objekt null ist, bevor es gesetzt wird, ein synchronisiertes Objekt neu zuzuweisen oder vergessen, eine Variable entlang eines Ausnahmepfads zu initialisieren).
• 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

Sicherheitserkennung
Codeguru Reviewer hilft Ihnen bei der Verbesserung der Codesicherheit und gibt Empfehlungen für bewährte Verfahren. Mithilfe automatisierter Logik 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 Ihr gesamtes Repository oder Ihre Codebasis auslösen, indem Sie Ihre Quelle hochladen und Artefakte erstellen.

Empfehlungen

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
Volle Repository-Analyse

Mit CodeGuru können Sie ML-gestützte Codeprüfungsempfehlungen für alle Codezeilen in den zugehörigen Repositorys (nicht nur für inkrementelle Änderungen durch Anfrageanforderungen) unter einem bestimmten Codezweig erhalten. Sie können vollständige Repository-Scans durchführen, um Empfehlungen für Code-Reviews während der Codemigration, der Code-Due-Diligence und regelmäßiger Codewartbarkeitsinitiativen zu erhalten. In der CodeGuru-Konsole können Sie zur Registerkarte "Repository-Analyse" auf der Seite "Codeüberprüfungen" navigieren, um eine neue Analyse für ein volles Repository auszulösen. Zwei vollständige Repository-Scans sind im neuen, auf der Repository-Größe basierenden Preismodell enthalten. Weitere Informationen finden Sie auf der Seite mit den CodeGuru-Preisangaben.

Volle Repository-Analyse
 Zum Vergrößern klicken

Mit der Anfrageanforderungs- und vollen Repository-Analyse können Sie bei CodeGuru Reviewer 1) Ihr Repository verknüpfen, 2) eine volle Repository-Analyse initiieren, 3) kontinuierlich Anfrageanforderungen nach inkrementellen Code-Änderungen analysieren und 4) regelmäßige Neuanalysen des vollen Repositorys durchführen, um die Wartbarkeit des Codes zu gewährleisten.

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 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. Sie können Ihre Anwendung anhand realer Kundendatenverkehrsmuster profilieren, Fehler beheben und Leistungsprobleme leicht erkennen. Mit den Profiler-Daten und ML-gestützten Empfehlungen können Sie Leistungsprobleme für Ihre Anwendungen in der Produktion identifizieren und 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 ML-gestützte 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 der CodeGuru-Profiler-Konsole 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
Standard Product Icons (Features) Squid Ink
Weitere Informationen zu den Preisen von Amazon CodeGuru

Besuchen Sie die Amazon-CodeGuru-Preisseite.

Weitere Informationen 
Sign up for a free account
Für ein kostenloses Konto registrieren

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