Potentially breaking changes
- If you didn't explicitly set the
service_name
previously and you are dealing with a servlet-based application (including Spring Boot), yourservice_name
will change.
See the documentation forservice_name
and the corresponding section in Features for more information.
Note: this requires APM Server 7.0+. If using previous versions, nothing will change.
Features
- Added property "allow_path_on_hierarchy" to JAX-RS plugin, to lookup inherited usage of
@path
. - Support for number and boolean labels in the public API (#497).
This change also renamestag
tolabel
on the API level to be compliant with the Elastic Common Schema (ECS).
TheaddTag(String, String)
method is still supported but deprecated in favor ofaddLabel(String, String)
.
As of version 7.x of the stack, labels will be stored underlabels
in Elasticsearch.
Previously, they were stored undercontext.tags
.
Number and boolean labels were only introduced in APM Server 6.7+. Using this API in combination with an older APM Server versions leads to validation errors. - Support async queries made by Elasticsearch REST client.
- Added
setStartTimestamp(long epochMicros)
andend(long epochMicros)
API methods toSpan
andTransaction
, allowing to set custom start and end timestamps. - Auto-detection of the
service_name
based on the<display-name>
element of theweb.xml
with a fallback to the servlet context path.
If you are using a spring-based application, the agent will use the setting forspring.application.name
for itsservice_name
.
See the documentation forservice_name
for more information.
Note: this requires APM Server 7.0+. If using previous versions, nothing will change. - Previously, enabling
capture_body
could only capture form parameters.
Now it supports all UTF-8 encoded plain-text content types.
The optioncapture_body_content_types
controls whichContent-Type
s should be captured. - Support async calls made by OkHttp client (
Call#enqueue
). - Added support for providing config options on agent attach.
- CLI example:
--config server_urls=http://localhost:8200,http://localhost:8201
- API example:
ElasticApmAttacher.attach(Map.of("server_urls", "http://localhost:8200,http://localhost:8201"));
- CLI example:
Bug Fixes
- Logging integration through MDC is not working properly - #499
- ClassCastException with adoptopenjdk/openjdk11-openj9 - #505
- Span count limitation is not working properly - reported in our forum
- Java agent causes Exceptions in Alfresco cluster environment due to failure in the instrumentation of Hazelcast
Executor
s - reported in our forum