Release 0.7.0
Pre-release
Pre-release
Breaking changes
- Removed
ElasticApm.startSpan. Spans can now only be created from their transactions viaTransaction#createSpan. ElasticApm.startTransactionandTransaction#createSpandon't activate the transaction and spans
and are thus not available viaElasticApm.activeTransactionandElasticApm.activeSpan.
Features
- Public API
- Add
Span#captureExceptionandTransaction#captureExceptionto public API.
ElasticApm.captureExceptionis deprecated now. UseElasticApm.currentSpan().captureException(exception)instead. - Added
Transaction.getIdandSpan.getIdmethods
- Add
- Added support for async servlet requests
- Added support for Payara/Glassfish
- Incubating support for Apache HttpClient
- Support for Spring RestTemplate
- Added configuration options
use_path_as_transaction_nameandurl_groups,
which allow to use the URL path as the transaction name.
As that could contain path parameters, like/user/$userIdhowever,
You can set theurl_groupsoption to define a wildcard pattern, like/user/*,
to group those paths together.
This is especially helpful when using an unsupported Servlet API-based framework. - Support duration suffixes (
ms,sandm) for duration configuration options.
Not using the duration suffix logs out a deprecation warning and will not be supported in future versions. - Add ability to add multiple APM server URLs, which enables client-side load balancing.
The configuration optionserver_urlhas been renamed toserver_urlsto reflect this change.
However,server_urlstill works for backwards compatibility. - The configuration option
service_nameis now optional.
It defaults to the main class name,
the name of the executed jar file (removing the version number),
or the application server name (for exampletomcat-application).
In a lot of cases,
you will still want to set theservice_nameexplicitly.
But it helps getting started and seeing data easier,
as there are no required configuration options anymore.
In the future we will most likely determine more useful application names for Servlet API-based applications.