Elastic APM agents
Required role
The Admin role or higher is required to use APM agents. To learn more, refer to Assign user roles and privileges.
Elastic APM agents automatically measure application performance and track errors. They offer built-in support for popular frameworks and technologies, and provide easy-to-use APIs that allow you to instrument any application.
Elastic APM agents are built and maintained by Elastic. While they are similar, different programming languages have different nuances and requirements. Select your preferred language below to learn more about how each agent works.
Elastic APM Java agent
The Elastic APM Java agent auto-instruments supported technologies and records interesting events, like spans for database queries and transactions for incoming HTTP requests. To do this, it leverages the capability of the JVM to instrument the bytecode of classes. This means that for the supported technologies, there are no code changes required.
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. Transactions and Spans are sent to Elastic, where they're transformed, stored, and ready to be visualized.
Learn more
If you're ready to give Elastic APM a try, see Get started with traces and APM.
See the Java agent reference for full documentation, including:
Important
Not all APM agent configuration options are compatible with Elastic Cloud serverless.
Minimum supported versions
The following versions of Elastic APM agents are supported:
Agent name | Agent version |
---|---|
APM AWS Lambda extension | ≥ 1.x |
Go agent | ≥ 1.x |
Java agent | ≥ 1.x |
.NET agent | ≥ 1.x |
Node.js agent | ≥ 4.x |
PHP agent | ≥ 1.x |
Python agent | ≥ 6.x |
Ruby agent | ≥ 3.x |
Note
Some recently added features may require newer agent versions than those listed above. In these instances, the required APM agent versions will be documented with the feature.