Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Profiling Software
  3. Amazon CodeGuru Profiler

Amazon CodeGuru Profiler

What it is

Amazon CodeGuru Profiler collects runtime performance data from live applications and recommends ways to address performance issues, including CPU bottlenecks. It is built for continuous use with production applications and minimal overhead. Interactive flame graphs show CPU and latency patterns, helping identify code paths that use the most resources. Machine learning recommendations describe costly methods and their causes, impacts, and possible resolutions. The service can detect profile anomalies and, when configured, send an Amazon SNS notification about a new one. It supports Java and other JVM languages, including Scala and Kotlin, plus Python 3.6 or later; Java and JVM profiling covers CPU and heap summaries, while Python profiling covers CPU wall-clock time. Applications can run on AWS services or on premises. CodeGuru Profiler requires an AWS account, and IAM permissions govern access. It collects stack traces, not parameter names or values, variable values, or application data. Profiles have different retention periods: five-minute profiles remain for 15 days, hourly profiles for 60 days, and daily profiles for three years. Pricing includes a 90-day free tier, followed by sampling-hour charges.

For and against

For

  • Designed for continuous production profiling with minimal overhead
  • Interactive flame graphs show CPU and latency analysis
  • Recommendations explain costly methods and possible resolutions
  • Can notify through Amazon SNS about detected anomalies
  • Encrypts data at rest and in transit by default

Against

  • Requires an AWS account
  • Python profiling covers CPU wall-clock time
  • The free tier lasts 90 days
  • IAM permissions must be managed for resource access

The verdict

Amazon CodeGuru Profiler combines ongoing sampling, flame graphs, recommendations, and anomaly detection for supported applications. Check its language-specific profiling coverage and sampling-hour pricing against your needs before using it.

Who it suits

It suits teams running Java, JVM-language, or Python applications that need ongoing production profiling and recommendations. It may also fit organizations that want anomaly notifications and defined profile retention periods.

Plans and prices

Amazon CodeGuru Profiler Free Tier

Free

90 days; after that, standard sampling-hour pricing applies

Amazon CodeGuru Profiler on AWS Lambda

$0.01usage-based

First 500 sampling hours per payer account free · no additional charge beyond 36,000 hours per profiling group per month

Amazon CodeGuru Profiler on EC2, ECS, EKS, and AWS Fargate

$0.01usage-based

$0.005 per sampling hour for the first 36,000 sampling hours per profiling group per month · no additional charge beyond 36,000 hours

Every plan, in full

On the record

Anomaly detection
It detects anomalies in application profiles and can send an Amazon SNS notification when a new anomaly is detected if configured.aws.amazon.com · read 8 Oct 2026
Compliance
AWS says third-party auditors assess CodeGuru Profiler as part of multiple compliance programs, including SOC, PCI, FedRAMP, and HIPAA.docs.aws.amazon.com · read 8 Oct 2026
Data collected
The agent collects stack traces but does not access function parameter names or values, variable values, or application data.docs.aws.amazon.com · read 8 Oct 2026
Data retention
The service retains five-minute profiles for 15 days, hourly profiles for 60 days, and daily profiles for three years.docs.aws.amazon.com · read 8 Oct 2026
Encryption
Data at rest and in transit are encrypted by default; traffic to the service and downstream dependencies uses TLS.docs.aws.amazon.com · read 8 Oct 2026
Flame graphs
It presents CPU and latency analysis in interactive flame graphs to show which code paths consume the most resources.aws.amazon.com · read 8 Oct 2026
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.docs.aws.amazon.com · read 8 Oct 2026
Language capability limit
The FAQ says Java and other JVM languages can be profiled for CPU and heap summary, while Python profiling covers CPU wall-clock time.aws.amazon.com · read 8 Oct 2026
Production profiling
The profiler is designed to run continuously on production applications with minimal overhead.aws.amazon.com · read 8 Oct 2026
Purpose
Amazon CodeGuru Profiler collects runtime performance data from live applications and provides recommendations to improve performance and find CPU bottlenecks.aws.amazon.com · read 8 Oct 2026
Recommendations
Machine learning recommendations identify expensive or resource-intensive methods and explain the cause, impact, and possible resolution.aws.amazon.com · read 8 Oct 2026
Runtime support
The FAQ lists Java, Python, and JVM languages such as Scala and Kotlin, and says applications can run on EC2, ECS, EKS, Fargate, Lambda, or on premises.aws.amazon.com · read 8 Oct 2026
Support and permissions
Using the service requires an AWS account, and IAM permissions control who can create or access CodeGuru Profiler resources.docs.aws.amazon.com · read 8 Oct 2026

The review

Amazon CodeGuru Profiler is a cloud service for sampling performance in live applications, aimed at teams running supported Java, JVM-language, or Python workloads. Its strongest case is continuous production visibility paired with guidance on costly code paths; teams needing non-sampling methods or broader Python metrics should look elsewhere.

Overview

Designed to run continuously with minimal overhead, CodeGuru Profiler helps teams study CPU and latency behavior under production workloads. It requires an AWS account, and IAM permissions determine who can create or access profiler resources. Sampling is the only profiling mode, which makes the service less suitable when a different collection method is required.

The agent collects stack traces, not function parameter names or values, variable values, or application data. Data is encrypted at rest and in transit, and traffic to the service and downstream dependencies uses TLS. AWS says third-party auditors assess CodeGuru Profiler under compliance programs including SOC, PCI, FedRAMP, and HIPAA.

Key features

Interactive flame graphs visualize CPU and latency across code paths, making resource-heavy areas easier to locate than raw profile data alone. Machine-learning recommendations identify expensive methods and explain their cause, impact, and possible resolution. That explanation can help prioritize investigation, but teams still need to decide whether a suggested change suits their application.

Anomaly detection flags changes in application profiles and can send an Amazon SNS notification when configured. This is useful for teams that want profile changes surfaced without continuously watching graphs, though notifications depend on setting up SNS.

Java and other JVM languages support CPU and heap summary profiling; Python 3.6 or later is profiled for CPU wall-clock time. The profiling agent can be enabled in JVM applications from the command line or application code and is also used for Lambda applications. That language difference matters: Python users get a narrower view than JVM users.

Profiles are retained at several resolutions: five-minute profiles for 15 days, hourly profiles for 60 days, and daily profiles for three years. The longer daily history can help with broad trend review, while the short retention of fine-grained profiles limits how far back teams can inspect detailed changes.

Pricing

Pricing is based on sampling hours, with a 90-day free tier and usage charges afterward. The listed starting price is $0.01 per month; actual charges depend on sampling-hour use and the applicable allowance.

PlanPrice and termsBest fit
Amazon CodeGuru Profiler Free Tierfree for 90 days; standard sampling-hour pricing applies after that.Teams evaluating the service or profiling limited workloads during the trial period.
Amazon CodeGuru Profiler on EC2, ECS, EKS, and AWS Fargate$0.01 a month, billed per sampling hour. The first 36,000 sampling hours per profiling group per month cost $0.005 per hour; no additional charge applies beyond 36,000 hours.Teams profiling workloads on these compute services, with charges tied to sampling-hour use.
Amazon CodeGuru Profiler on AWS Lambda$0.01 a month. The first 500 sampling hours per payer account are free, then sampling hours cost $0.005 up to 36,000 hours per profiling group per month; no additional charge applies beyond that.Teams profiling Lambda functions that can use the payer-account allowance.

The free tier is time-limited rather than a permanent free plan. Both paid options have a 36,000-hour threshold per profiling group per month, while Lambda also has a separate first-500-hours-free allowance per payer account. Teams should account for the difference between those quotas when estimating usage across groups or accounts.

Platforms

The service is cloud-based, with API, Linux, self-hosted, and web platform coverage. Supported applications can run on EC2, ECS, EKS, Fargate, Lambda, or on premises. Its language coverage is focused on Java and JVM languages plus Python 3.6 or later.

Who it's for

CodeGuru Profiler suits teams already using AWS or operating supported applications on premises that want ongoing production CPU and latency analysis, recommendations, and profile anomaly notifications. Its retention periods and JVM heap summaries add value for teams that need historical profile context. It is a weaker fit for Python teams seeking heap analysis, organizations that cannot use sampling, or users who do not want an AWS account and IAM-managed access.

Pros and cons

Pros

  • Production-focused sampling: Continuous operation with minimal overhead supports observing application behavior under live workloads.
  • Actionable visual analysis: Flame graphs and recommendations connect resource-heavy code paths with potential causes and resolutions.
  • Useful profile history: Daily profiles remain available for three years, while finer-grained profile retention supports shorter-term investigation.
  • Defined data boundaries: The agent collects stack traces without collecting parameter values, variable values, or application data.

Cons

  • Sampling only: Teams that require another profiling method need a different tool.
  • Uneven language depth: Python profiling covers CPU wall-clock time, while Java and other JVM languages also get heap summaries.
  • Usage-based charges: The trial lasts 90 days, after which sampling-hour pricing applies; Lambda's free allowance is limited to 500 hours per payer account.
  • AWS account dependency: Access is governed through AWS IAM, which may not suit teams seeking an independent profiling service.

Alternatives

Valgrind is a free option for Android, Linux, and macOS users who can accept programs running significantly slower and using more memory; it is GPL version 3 and compiled from source.

YourKit .NET Profiler is an alternative for teams looking for .NET profiling; its open-source and free license is aimed at open-source project contributors and Microsoft MVPs.

AMD Auto-Detect and Install Tool is a free Windows utility for systems with supported AMD Radeon graphics or Ryzen chipsets, rather than a general-purpose application profiler.

async-profiler is a free, Apache License 2.0 option with Linux and macOS binaries for readers who want an open-source profiler instead of a cloud service.

Grafana Cloud Application Observability is worth considering for teams seeking a freemium observability option with an always-free tier of 2,232 host hours.

Grafana k6 is a freemium Linux option for teams focused on load testing, with its free plan capped at 500 virtual user hours per month.

Intel VTune Profiler is a free download for Linux, self-hosted, and Windows users who want a standalone tool or Intel oneAPI Toolkit option, with commercial and non-commercial use permitted.

Parca is a free, Apache 2-licensed alternative for teams looking for an open-source profiling stack across API, Linux, self-hosted, and web platforms.

Browse Profiling Software and Continuous Profiling Tools for more options.

Verdict

Choose Amazon CodeGuru Profiler if your team runs supported Java, JVM, or Python workloads and wants continuous production sampling with flame graphs, recommendations, and long-term profile history. Its clearest advantage is turning sampled CPU and latency data into investigation leads; its main drawbacks are sampling-only collection, narrower Python capability, and ongoing usage charges after the 90-day tier. Teams needing another profiling method or richer Python profiling should choose a different tool.

Alternatives to Amazon CodeGuru Profiler

Every alternative, ranked