Introductionedit
Welcome to the APM Java Agent documentation.
Elastic APM automatically measures the performance of your application and tracks errors. For example, it records spans for database queries and transactions for incoming HTTP requests. See Supported technologies to learn about which frameworks and technologies the Elastic APM Java agent supports out-of-the-box.
Spans are grouped in transactions - by default one for each incoming HTTP request. But it’s possible to create custom transactions not associated with an HTTP request.
By default the agent comes with support for common frameworks out-of-the-box. To instrument other events, you can use custom spans. For information about custom spans, see the public api documentation.
The agent is only one of multiple components you need to get started with APM. Please also have a look at the documentation for
Get startededit
The first step in getting started with the Elastic APM Java agent is to download the latest release of the agent jar file from maven central.
Don’t declare a dependency to the agent in your application.
Configurationedit
Once you are set with instrumenting your favorite framework, see the configuration guide on how to configure Elastic APM.
Add javaagent
flagedit
When starting your application, add the JVM flag -javaagent:/path/to/elastic-apm-agent-<version>.jar
Add javaagent
flag for a Spring Boot applicationedit
Start your spring application and add the -javaagent
JVM flag:
java -javaagent:/path/to/elastic-apm-agent-<version>.jar -jar my-spring-boot-application.jar
Add javaagent
flag for Apache Tomcatedit
Create $CATALINA_BASE/bin/setenv.sh
(or modify if the file already exists).
Add the following line:
setenv.sh.
export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/elastic-apm-agent-<version>.jar"
Supported technologiesedit
Please check the supported technologies page whether the Elastic APM agent supports auto-instrumentation of the technologies your application is using.