Amazon CodeGuru Profiler vs Parca
Amazon CodeGuru Profiler
aws.amazon.comParca
parca.devSide by side
| Figure | Amazon CodeGuru Profiler | Parca |
|---|---|---|
| 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) | 8.2 (#6) |
| Spec score · Continuous Profiling Tools | 8.6 (#6) | 8.1 (#12) |
| Integration | The profiling agent can be enabled in JVM applications from the command line or application code and is also used to profile Lambda applications. | A Grafana plugin can visualize profiles stored in Parca. |
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.
Parca
Parca is a self-hosted profiling system that collects and stores CPU, memory, I/O, and other profiles for queries over time. Its eBPF-based Parca Agent captures user-space and kernel-space stack traces, while the system also accepts valid pprof-formatted profiles pushed through gRPC or pulled from targets over HTTP. Users can query by labels, compare dimensions such as processes or code versions, and view profiles in the web interface with Icicle Graphs. A Grafana plugin can display profiles stored in Parca. The agent supports automatic profiling for languages including C, C++, Go, Rust, .NET, Deno, Erlang, Java, Julia, Node.js, Wasmtime, PHP, Ruby, and Python. Installation options include binaries, containers, Kubernetes, and Snaps. Parca is open source under the Apache 2 License and is free. The agent requires Linux kernel 4.18 or newer and privileged access to load eBPF programs. Parca says it receives profiling statistics and function-name metadata, not binaries or source code.