Amazon CodeGuru Profiler vs Google Cloud Profiler
Amazon CodeGuru Profiler
aws.amazon.comGoogle Cloud Profiler
cloud.google.comSide by side
| Figure | Amazon CodeGuru Profiler | Google Cloud Profiler |
|---|---|---|
| Price from | $0.01/mo | Free |
| Free plan | Yes | Yes |
| Free trial | Yes | — |
| Open source | — | — |
| Web | Yes | Yes |
| Linux | Yes | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 3 | 1 |
| Spec score · Profiling Software | 8.6 (#2) | 7.8 (#13) |
| Spec score · Continuous Profiling Tools | 8.6 (#6) | 7.6 (#15) |
| Purpose | Amazon CodeGuru Profiler collects runtime performance data from live applications and provides recommendations to improve performance and find CPU bottlenecks. | Cloud Profiler continuously gathers CPU usage and memory allocation information from production applications and attributes it to source code to help identify resource-intensive code. |
Plans
Amazon CodeGuru Profiler
- Amazon CodeGuru Profiler Free TierFree
- Amazon CodeGuru Profiler on AWS Lambda$0.01 a month
- Amazon CodeGuru Profiler on EC2, ECS, EKS, and AWS Fargate$0.01 a month
In their own words
Amazon CodeGuru Profiler
Amazon CodeGuru Profiler collects runtime performance data from live applications and recommends ways to improve performance and find CPU bottlenecks. It is designed for continuous profiling of production applications with minimal overhead. Interactive flame graphs show CPU and latency analysis, including which code paths use the most resources. Machine learning recommendations identify expensive methods and explain their cause, impact, and possible resolution.
The service can detect anomalies in application profiles and, when configured, send an Amazon SNS notification for a new anomaly. It supports Java, JVM languages such as Scala and Kotlin, and Python 3.6 or later. Java and other JVM languages can be profiled for CPU and heap summary; Python profiling covers CPU wall-clock time. Applications may run on EC2, ECS, EKS, Fargate, Lambda, or on premises. The agent can be enabled in JVM applications from the command line or application code and is also used for Lambda applications. An AWS account is required, with IAM permissions controlling access. The agent collects stack traces, not parameter names or values, variable values, or application data.
Google Cloud Profiler
Google Cloud Profiler is a free sampling profiler for examining resource use in production applications. Its profiling agent gathers CPU usage and memory allocation data and attributes that information to source code. A Google Cloud console displays and analyzes the collected profiles. Supported languages are Go, Java, Node.js, and Python, with profile types varying by language. Available types include CPU time, heap, allocated heap, contention, threads, and wall time. Deployment options include Compute Engine, Google Kubernetes Engine, App Engine, Managed Service for Apache Spark, Dataflow, and some environments outside Google Cloud, depending on language. The listed operating systems are Linux with glibc and, for some configurations, Linux with musl. Google states that CPU and heap collection overhead is under 5%, commonly under 0.5% when averaged across execution time and service replicas. Profiles are retained for 30 days and can be downloaded for longer storage. Cloud Profiler supports VPC Service Controls; quotas and limits apply.