Skip to content

Commit 0cb1c72

Browse files
authored
Prepare release notes and docs for 1.8.0 (#757)
1 parent 41c9e32 commit 0cb1c72

File tree

5 files changed

+81
-21
lines changed

5 files changed

+81
-21
lines changed

CHANGELOG.md

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,34 @@
1-
# next (1.8.0)
1+
# 1.8.0
22

33
## Features
4-
* Add support for Spring's JMS flavor - instrumenting `org.springframework.jms.listener.SessionAwareMessageListener`
5-
* Add support to legacy ApacheHttpClient APIs (which adds support to Axis2 configured to use ApacheHttpClient)
6-
* Added support for setting `server_urls` dynamically via properties file [#723](https://github.com/elastic/apm-agent-java/issues/723)
7-
* Add [`config_file`](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-config-file) option
4+
* Added support for tracking [time spent by span type](https://www.elastic.co/guide/en/kibana/7.3/transactions.html).
5+
Can be disabled by setting [`breakdown_metrics`](https://www.elastic.co/guide/en/apm/agent/java/7.3/config-core.html#config-breakdown-metrics) to `false`.
6+
* Added support for [central configuration](https://www.elastic.co/guide/en/kibana/7.3/agent-configuration.html).
7+
Can be disabled by setting [`central_config`](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-central-config) to `false`.
8+
* Added support for Spring's JMS flavor - instrumenting `org.springframework.jms.listener.SessionAwareMessageListener`
9+
* Added support to legacy ApacheHttpClient APIs (which adds support to Axis2 configured to use ApacheHttpClient)
10+
* Added support for setting [`server_urls`](https://www.elastic.co/guide/en/apm/agent/java/1.x/config-reporter.html#config-server-urls) dynamically via properties file [#723](https://github.com/elastic/apm-agent-java/issues/723)
11+
* Added [`config_file`](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-config-file) option
12+
* Added option to use `@javax.ws.rs.Path` value as transaction name [`use_jaxrs_path_as_transaction_name`](https://www.elastic.co/guide/en/apm/agent/java/current/config-jax-rs.html#config-use-jaxrs-path-as-transaction-name)
13+
* Instrument quartz jobs ([docs](https://www.elastic.co/guide/en/apm/agent/java/current/supported-technologies-details.html#supported-scheduling-frameworks))
14+
* SQL parsing improvements (#696)
15+
* Introduce priorities for transaction name (#748)
16+
17+
Now uses the path as transaction name if [`use_path_as_transaction_name`](https://www.elastic.co/guide/en/apm/agent/java/current/config-http.html#config-use-path-as-transaction-name) is set to `true`
18+
rather than `ServletClass#doGet`.
19+
But if a name can be determined from a high level framework,
20+
like Spring MVC, that takes precedence.
21+
User-supplied names from the API always take precedence over any others.
22+
* Use JSP path name as transaction name as opposed to the generated servlet class name (#751)
23+
824

925
## Bug Fixes
1026
* Some JMS Consumers and Producers are filtered due to class name filtering in instrumentation matching
1127
* Jetty: When no display name is set and context path is "/" transaction service names will now correctly fall back to configured values
1228
* JDBC's `executeBatch` is not traced
1329
* Drops non-String labels when connected to APM Server < 6.7 to avoid validation errors (#687)
30+
* Parsing container ID in cloud foundry garden (#695)
31+
* Automatic instrumentation should not override manual results (#752)
1432

1533
## Breaking changes
1634
* The log correlation feature does not add `span.id` to the MDC anymore but only `trace.id` and `transaction.id` (see #742).

apm-agent-core/src/main/java/co/elastic/apm/agent/configuration/CoreConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,7 @@ public class CoreConfiguration extends ConfigurationOptionProvider {
341341

342342
private final ConfigurationOption<String> appendPackagesToBootDelagationProperty = ConfigurationOption.stringOption()
343343
.key("boot_delegation_packages")
344+
.tags("added[1.7.0]")
344345
.configurationCategory(CORE_CATEGORY)
345346
.description("A comma-separated list of packages to be appended to the boot delegation system property. \n" +
346347
"If set with an empty string, nothing will be appended to the boot delegation system property.\n" +
@@ -361,19 +362,22 @@ public class CoreConfiguration extends ConfigurationOptionProvider {
361362

362363
private final ConfigurationOption<Boolean> centralConfig = ConfigurationOption.booleanOption()
363364
.key("central_config")
365+
.tags("added[1.8.0]")
364366
.configurationCategory(CORE_CATEGORY)
365367
.description("When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.")
366368
.dynamic(true)
367369
.buildWithDefault(true);
368370

369371
private final ConfigurationOption<Boolean> breakdownMetrics = ConfigurationOption.booleanOption()
370372
.key("breakdown_metrics")
373+
.tags("added[1.8.0]")
371374
.configurationCategory(CORE_CATEGORY)
372375
.description("Disables the collection of breakdown metrics (`span.self_time`)")
373376
.buildWithDefault(true);
374377

375378
private final ConfigurationOption<String> configFileLocation = ConfigurationOption.stringOption()
376379
.key(CONFIG_FILE)
380+
.tags("added[1.8.0]")
377381
.configurationCategory(CORE_CATEGORY)
378382
.description("Sets the path of the agent config file.\n" +
379383
"The special value `_AGENT_HOME_` is a placeholder for the folder the elastic-apm-agent.jar is in.\n" +

apm-agent-core/src/main/java/co/elastic/apm/agent/report/ReporterConfiguration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ public class ReporterConfiguration extends ConfigurationOptionProvider {
6767
"\n" +
6868
"If outgoing HTTP traffic has to go through a proxy," +
6969
"you can use the Java system properties `http.proxyHost` and `http.proxyPort` to set that up.\n" +
70-
"See also [Java's proxy documentation](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) for more information.")
70+
"See also [Java's proxy documentation](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) for more information.\n" +
71+
"\n" +
72+
"NOTE: This configuration can only be reloaded dynamically as of 1.8.0")
7173
.dynamic(true)
7274
.buildWithDefault(Collections.singletonList(UrlValueConverter.INSTANCE.convert("http://localhost:8200")));
7375

apm-agent-plugins/apm-jaxrs-plugin/src/main/java/co/elastic/apm/agent/jaxrs/JaxRsConfiguration.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ public class JaxRsConfiguration extends ConfigurationOptionProvider {
4545
.buildWithDefault(true);
4646

4747
private final ConfigurationOption<Boolean> useAnnotationValueForTransactionName = ConfigurationOption.booleanOption()
48-
.key("use_jaxrs_path_for_transaction_name")
48+
.key("use_jaxrs_path_as_transaction_name")
49+
.tags("added[1.8.0]")
4950
.configurationCategory(JAXRS_CATEGORY)
5051
.description("By default, the agent will use `ClassName#methodName` for the transaction name of JAX-RS requests.\n" +
5152
"If you want to use the URI template from the `@Path` annotation, set the value to `true`.")

docs/configuration.asciidoc

Lines changed: 49 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,9 @@ Click on a key to get more information.
7373
** <<config-trace-methods>>
7474
** <<config-trace-methods-duration-threshold>>
7575
** <<config-boot-delegation-packages>>
76+
** <<config-central-config>>
7677
** <<config-breakdown-metrics>>
77-
** <<config-config-file-location>>
78+
** <<config-config-file>>
7879
* <<config-http>>
7980
** <<config-capture-body>>
8081
** <<config-capture-body-content-types>>
@@ -85,7 +86,7 @@ Click on a key to get more information.
8586
** <<config-url-groups>>
8687
* <<config-jax-rs>>
8788
** <<config-enable-jaxrs-annotation-inheritance>>
88-
** <<config-use-jaxrs-path-for-transaction-name>>
89+
** <<config-use-jaxrs-path-as-transaction-name>>
8990
* <<config-logging>>
9091
** <<config-log-level>>
9192
** <<config-log-file>>
@@ -483,7 +484,7 @@ The default unit for this option is `ms`
483484

484485
[float]
485486
[[config-boot-delegation-packages]]
486-
==== `boot_delegation_packages`
487+
==== `boot_delegation_packages` (added[1.7.0])
487488

488489
A comma-separated list of packages to be appended to the boot delegation system property.
489490
If set with an empty string, nothing will be appended to the boot delegation system property.
@@ -516,9 +517,29 @@ boot_delegation_packages=org.apache.karaf.jaas.boot, org.apache.karaf.jaas.boot.
516517
| `elastic.apm.boot_delegation_packages` | `boot_delegation_packages` | `ELASTIC_APM_BOOT_DELEGATION_PACKAGES`
517518
|============
518519

520+
[float]
521+
[[config-central-config]]
522+
==== `central_config` (added[1.8.0])
523+
524+
When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.
525+
526+
527+
[options="header"]
528+
|============
529+
| Default | Type | Dynamic
530+
| `true` | Boolean | true
531+
|============
532+
533+
534+
[options="header"]
535+
|============
536+
| Java System Properties | Property file | Environment
537+
| `elastic.apm.central_config` | `central_config` | `ELASTIC_APM_CENTRAL_CONFIG`
538+
|============
539+
519540
[float]
520541
[[config-breakdown-metrics]]
521-
==== `breakdown_metrics`
542+
==== `breakdown_metrics` (added[1.8.0])
522543

523544
Disables the collection of breakdown metrics (`span.self_time`)
524545

@@ -537,8 +558,8 @@ Disables the collection of breakdown metrics (`span.self_time`)
537558
|============
538559

539560
[float]
540-
[[config-config-file-location]]
541-
==== `config_file_location`
561+
[[config-config-file]]
562+
==== `config_file` (added[1.8.0])
542563

543564
Sets the path of the agent config file.
544565
The special value `_AGENT_HOME_` is a placeholder for the folder the elastic-apm-agent.jar is in.
@@ -555,7 +576,7 @@ The location can either be in the classpath of the application or on the file sy
555576
[options="header"]
556577
|============
557578
| Java System Properties | Property file | Environment
558-
| `elastic.apm.config_file_location` | `config_file_location` | `ELASTIC_APM_CONFIG_FILE_LOCATION`
579+
| `elastic.apm.config_file` | `config_file` | `ELASTIC_APM_CONFIG_FILE`
559580
|============
560581

561582
[[config-http]]
@@ -782,8 +803,8 @@ If your application does not use @Path annotation inheritance, set this property
782803
|============
783804

784805
[float]
785-
[[config-use-jaxrs-path-for-transaction-name]]
786-
==== `use_jaxrs_path_for_transaction_name`
806+
[[config-use-jaxrs-path-as-transaction-name]]
807+
==== `use_jaxrs_path_as_transaction_name` (added[1.8.0])
787808

788809
By default, the agent will use `ClassName#methodName` for the transaction name of JAX-RS requests.
789810
If you want to use the URI template from the `@Path` annotation, set the value to `true`.
@@ -799,7 +820,7 @@ If you want to use the URI template from the `@Path` annotation, set the value t
799820
[options="header"]
800821
|============
801822
| Java System Properties | Property file | Environment
802-
| `elastic.apm.use_jaxrs_path_for_transaction_name` | `use_jaxrs_path_for_transaction_name` | `ELASTIC_APM_USE_JAXRS_PATH_FOR_TRANSACTION_NAME`
823+
| `elastic.apm.use_jaxrs_path_as_transaction_name` | `use_jaxrs_path_as_transaction_name` | `ELASTIC_APM_USE_JAXRS_PATH_AS_TRANSACTION_NAME`
803824
|============
804825

805826
[[config-logging]]
@@ -862,7 +883,8 @@ it's content is deleted when the application starts.
862883
A boolean specifying if the agent should integrate into SLF4J's https://www.slf4j.org/api/org/slf4j/MDC.html[MDC] to enable trace-log correlation.
863884
If set to `true`, the agent will set the `trace.id` and `transaction.id` for the currently active spans and transactions to the MDC.
864885
You can then use the pattern format of your logging implementation to write the MDC values to your log file.
865-
If you are using logback or log4j, add `%X` to the format to log all MDC values or `%X{trace.id}` to only log the trace id.With the help of Filebeat and Logstash or an Elasticsearch ingest pipeline,
886+
If you are using logback or log4j, add `%X` to the format to log all MDC values or `%X{trace.id}` to only log the trace id.
887+
With the help of Filebeat and Logstash or an Elasticsearch ingest pipeline,
866888
you can index your log files and correlate them with APM traces.
867889
With this integration you can get all logs belonging to a particular trace and vice-versa:
868890
for a specific log, see in which context it has been logged and which parameters the user provided.
@@ -920,6 +942,8 @@ When multiple agents are active, they'll tend towards spreading evenly across th
920942
If outgoing HTTP traffic has to go through a proxy,you can use the Java system properties `http.proxyHost` and `http.proxyPort` to set that up.
921943
See also [Java's proxy documentation](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) for more information.
922944

945+
NOTE: This configuration can only be reloaded dynamically as of 1.8.0
946+
923947

924948
[options="header"]
925949
|============
@@ -1459,6 +1483,14 @@ The default unit for this option is `ms`
14591483
#
14601484
# boot_delegation_packages=co.elastic.apm.agent.*
14611485
1486+
# When enabled, the agent will make periodic requests to the APM Server to fetch updated configuration.
1487+
#
1488+
# This setting can be changed at runtime
1489+
# Type: Boolean
1490+
# Default value: true
1491+
#
1492+
# central_config=true
1493+
14621494
# Disables the collection of breakdown metrics (`span.self_time`)
14631495
#
14641496
# This setting can not be changed at runtime. Changes require a restart of the application.
@@ -1475,7 +1507,7 @@ The default unit for this option is `ms`
14751507
# Type: String
14761508
# Default value: _AGENT_HOME_/elasticapm.properties
14771509
#
1478-
# config_file_location=_AGENT_HOME_/elasticapm.properties
1510+
# config_file=_AGENT_HOME_/elasticapm.properties
14791511
14801512
############################################
14811513
# HTTP #
@@ -1615,7 +1647,7 @@ The default unit for this option is `ms`
16151647
# Type: Boolean
16161648
# Default value: false
16171649
#
1618-
# use_jaxrs_path_for_transaction_name=false
1650+
# use_jaxrs_path_as_transaction_name=false
16191651
16201652
############################################
16211653
# Logging #
@@ -1651,7 +1683,8 @@ The default unit for this option is `ms`
16511683
# A boolean specifying if the agent should integrate into SLF4J's https://www.slf4j.org/api/org/slf4j/MDC.html[MDC] to enable trace-log correlation.
16521684
# If set to `true`, the agent will set the `trace.id` and `transaction.id` for the currently active spans and transactions to the MDC.
16531685
# You can then use the pattern format of your logging implementation to write the MDC values to your log file.
1654-
# If you are using logback or log4j, add `%X` to the format to log all MDC values or `%X{trace.id}` to only log the trace id.With the help of Filebeat and Logstash or an Elasticsearch ingest pipeline,
1686+
# If you are using logback or log4j, add `%X` to the format to log all MDC values or `%X{trace.id}` to only log the trace id.
1687+
# With the help of Filebeat and Logstash or an Elasticsearch ingest pipeline,
16551688
# you can index your log files and correlate them with APM traces.
16561689
# With this integration you can get all logs belonging to a particular trace and vice-versa:
16571690
# for a specific log, see in which context it has been logged and which parameters the user provided.
@@ -1688,6 +1721,8 @@ The default unit for this option is `ms`
16881721
#
16891722
# If outgoing HTTP traffic has to go through a proxy,you can use the Java system properties `http.proxyHost` and `http.proxyPort` to set that up.
16901723
# See also [Java's proxy documentation](https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html) for more information.
1724+
#
1725+
# NOTE: This configuration can only be reloaded dynamically as of 1.8.0
16911726
#
16921727
# This setting can be changed at runtime
16931728
# Type: comma separated list

0 commit comments

Comments
 (0)