The Atatus Java Profiler helps troubleshoot Java application issues and detect performance bottlenecks before they impact users. It continuously captures method call stacks and runtime metrics in production, enabling you to identify slow methods, excessive CPU usage, high memory allocations, lock contention, and potential memory leaks.

Installation & Setup

Step 1: Download the latest Java agent

copy
icon/buttons/copy
wget https://atatus-artifacts.s3.amazonaws.com/atatus-java/downloads/latest/atatus-java-profiler-agent.jar

Step 2: Add the Atatus Agent SDK Dependency

copy
icon/buttons/copy
<dependencies>
    <dependency>
        <groupId>com.atatus</groupId>
        <artifactId>atatus-agent-sdk</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

Step 3: Export the Required Environment Variables

Set the following environment variables before starting your application:

copy
icon/buttons/copy
export ATATUS_API_KEY="your License key"
export ATATUS_APPLICATION_NAME="service-name"
export ATATUS_PROFILER_EVENT="type"

Step 4: Run Your Application with the Atatus Java Agent

Start your Java application with the -javaagent flag pointing to the Atatus agent JAR:

copy
icon/buttons/copy
java -javaagent:/path/to/atatus-agent.jar -jar your/app.jar

This will start your Java application with the Atatus profiling agent enabled.

Supported Profiler Types

Type Description
cpu CPU profiling
wall Wall-clock time profiling
alloc Memory allocation profiling
ctimer CPU timer-based profiling
itimer Interval timer-based profiling