Amazon CodeGuru is a machine learning service for automated code reviews and application performance recommendations.
Amazon CodeGuru Reviewer
Amazon CodeGuru Reviewer finds issues in your code and recommends how to remediate them. For example, CodeGuru Reviewer detects deviation from best practices for using AWS APIs and SDKs, and also identifies concurrency issues, resource leaks, and correct input validation. To begin reviewing code, you can associate existing code repositories on GitHub or AWS CodeCommit with CodeGuru.
CodeGuru Reviewer automatically analyzes source code pull requests to find critical issues and provides intelligent recommendations for resolving code defects directly within the pull request.
Amazon CodeGuru Reviewer scans your pull requests and gives you recommendations against your source code in Github or AWS CodeCommit, together with a description of what’s causing the issue and how you can remediate it.
CodeGuru Reviewer detects and flags wide-ranging issues in source code such as thread safety issues, use of un-sanitized inputs, inappropriate handling of sensitive data such as credentials, and resource leaks. It provides recommendations on how to fix these issues. These issues are usually difficult to detect through peer code reviews and unit testing. In addition, CodeGuru Reviewer reviews your code for AWS APIs and SDK usage and helps ensure you stay current with the latest AWS features and best practices.
Amazon CodeGuru Reviewer reviews your code for AWS APIs and SDK usage, detects deviation from best practices, and flags common issues that can lead to production issues, such as missing pagination.
Amazon CodeGuru Profiler
Amazon CodeGuru Profiler is always searching for application performance optimizations, identifying your most “expensive” lines of code and recommending ways to fix them to reduce CPU utilization, cut compute costs, and improve application performance. For example, CodeGuru Profiler can identify when your application is consuming excessive CPU capacity on a logging routine instead of executing core business logic.
CodeGuru Profiler analyzes application CPU utilization and latency characteristics to show you where you are spending the most cycles in your application. This analysis is presented in an interactive flame graph that helps you easily understand which paths consume the most resources, verify that your application is performing as expected, and uncover areas that can be optimized further.
Flame graphs visualize the performance of your application by aggregating all the stack traces running at a given moment in time. You can use a flame graph to understand which paths consume the most resources, verify that your application is performing as expected, and uncover areas that can be optimized further.
CodeGuru Profiler automatically identifies performance issues in your application and provides intelligent recommendations on how to remediate them. These recommendations help you identify and optimize the most expensive or resource intensive methods within your code without you needing to be a performance engineering expert. These optimizations help you reduce the cost of your infrastructure, reduce latency, and improve your overall end user experience.
When it sees opportunities to optimize your application performance, Amazon CodeGuru Profiler explains why it is recommending a change, what’s causing the issue, how to resolve it, and where in the code this issue is impacting your application.
CodeGuru Profiler is designed to continuously run in production with minimal CPU overhead, which means you can leave it on all the time with minimal impact on application performance. This allows you to profile and troubleshoot your application using real customer traffic patterns and easily discover performance issues that might not be detected in your test environment.