Skip to content
SPECIFICTION
Get listed

async-profiler vs Google Cloud Profiler

async-profiler

github.com

Google Cloud Profiler

cloud.google.com

Side by side

Figureasync-profilerGoogle Cloud Profiler
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
macOSYes—
LinuxYesYes
APIYesYes
Self-hosted—Yes
Plans published11
Spec score · Profiling Software8.1 (#7)7.8 (#13)
Purposeasync-profiler is a low-overhead sampling profiler for Java that avoids the safepoint bias problem.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

async-profiler

  • Community open-sourceFree

async-profiler pricing →

Google Cloud Profiler

  • Cloud ProfilerFree

Google Cloud Profiler pricing →

In their own words

async-profiler

async-profiler is a free, self-hosted sampling profiler for Java designed to keep overhead low and avoid safepoint bias. It works with OpenJDK and other runtimes based on the HotSpot JVM, and stack traces can include non-Java threads as well as native and kernel frames. It profiles CPU time, Java-heap and native-memory allocations, memory leaks, contended locks, and hardware or software performance counters. Documented modes include CPU, allocation, wall-clock, Java-method, and multiple-events profiling. Results can be saved as collapsed stacks, flame graphs, HTML tree views, or text; an interactive Flame Graph can be viewed in a browser. Officially maintained builds are available for Linux and macOS on x64 and arm64. Developers can use the Java API as a Maven dependency, and IntelliJ IDEA includes async-profiler in its Java Profiler settings. It can profile Java processes in Docker or LXC from inside a container or from the host. Building it requires make, GCC 7.5.0 or later or Clang 7.0.0 or later, static libstdc++, and JDK 11 or later.

Visit github.com

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.

Visit cloud.google.com