Skip to content

Commit 3776f3c

Browse files
committed
chore(java-agent): release 8.16.0
documentation of new features fixes a couple of typos
1 parent 871ca1d commit 3776f3c

File tree

5 files changed

+328
-21
lines changed

5 files changed

+328
-21
lines changed

src/content/docs/apm/agents/java-agent/api-guides/guide-using-java-agent-api.mdx

+32
Original file line numberDiff line numberDiff line change
@@ -703,6 +703,38 @@ The following APIs provide additional functionality, such as setting app server
703703
Also refer to the information in this document about using `Insights` to [obtain references to New Relic API classes](#).
704704
</td>
705705
</tr>
706+
707+
<tr>
708+
<td>
709+
Provide general cloud provider account information to the agent
710+
</td>
711+
712+
<td>
713+
```java
714+
NewRelic.getAgent().getCloud().setAccountInfo(CloudAccountInfo.AWS_ACCOUNT_ID, "...");
715+
```
716+
717+
With this method you can provide the type of account information and its value. Then the agent will use this information to populate the attribute `cloud.resource_id` in select cloud services spans.
718+
719+
AWS DynamoDB and Kinesis are services that require this value to be able to populate the `cloud.resource_id` attribute. Likewise, AWS Lambda requires that this value when the account ID is not part of the function name.
720+
721+
Calling this method will override the respective cloud configuration. The call shown above will override `cloud.aws.account_id`.
722+
</td>
723+
</tr>
724+
725+
<tr>
726+
<td>
727+
Provide SDK client specific cloud provider account information to the agent
728+
</td>
729+
730+
<td>
731+
```java
732+
NewRelic.getAgent().getCloud().setAccountInfo(sdkClient, CloudAccountInfo.AWS_ACCOUNT_ID, "...");
733+
```
734+
735+
This call provides the same information as the previous method, but it is specific to the SDK client provided. When the specified SDK client is used, this data will be used instead of the general one.
736+
</td>
737+
</tr>
706738
</tbody>
707739
</table>
708740

src/content/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file.mdx

+162-2
Original file line numberDiff line numberDiff line change
@@ -2137,6 +2137,59 @@ common: &default_settings​
21372137
</Collapser>
21382138
</CollapserGroup>
21392139

2140+
## Cloud configuration
2141+
2142+
Set cloud related options, in the `cloud` section of the agent YAML. You can override these settings with a `newrelic.config.cloud` prefixed [system property](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#System_Properties) or a `NEW_RELIC_CLOUD_` prefixed [environment variable](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#Environment_Variables).
2143+
2144+
An example configuration:
2145+
2146+
```yml
2147+
cloud:
2148+
aws:
2149+
account_id: 123456789012
2150+
```
2151+
2152+
<CollapserGroup>
2153+
<Collapser
2154+
id="aws-account_id"
2155+
title="aws.account_id"
2156+
>
2157+
<table>
2158+
<tbody>
2159+
<tr>
2160+
<th>
2161+
Type
2162+
</th>
2163+
2164+
<td>
2165+
String
2166+
</td>
2167+
</tr>
2168+
2169+
<tr>
2170+
<th>
2171+
Default
2172+
</th>
2173+
2174+
<td>
2175+
(none)
2176+
</td>
2177+
</tr>
2178+
</tbody>
2179+
</table>
2180+
2181+
This setting is read by some cloud service instrumentation so the `cloud.resource_id` attribute can be set in the respective spans.
2182+
2183+
AWS DynamoDB and Kinesis are services that require this value to be able to populate the `cloud.resource_id` attribute. Likewise, AWS Lambda requires that this value when the account ID is not part of the function name.
2184+
2185+
The following call will override this setting:
2186+
```java
2187+
NewRelic.getAgent().getCloud().setAccountInfo(CloudAccountInfo.AWS_ACCOUNT_ID, "...");
2188+
```
2189+
</Collapser>
2190+
</CollapserGroup>
2191+
2192+
21402193
## Cloud platform utilization [#utilization]
21412194

21422195
Set the cloud platform utilization settings in the `utilization` section and can be overridden with the `newrelic.config.utilization` prefixed system property.
@@ -3611,7 +3664,7 @@ Set the jar collection configuration in the `jar_collector` section. These confi
36113664

36123665
The Java agent uses Java Flight Recorder (JFR) to collect high fidelity JVM data for [Real-time profiling](/docs/agents/java-agent/features/real-time-profiling-java-using-jfr-metrics/).
36133666

3614-
Configure real-time profiling in the `jfr` section in the agent YAML with [system properties](#System_Properties) prefixed by `newrelic.config.jfr.` or with [environment variables](#Environment_Variables) prefixed with `NEW_RELIC_JFR_`.
3667+
Configure real-time profiling in the `jfr` section in the agent YAML. These configuration options can be overridden with [system properties](#System_Properties) prefixed by `newrelic.config.jfr.` or with [environment variables](#Environment_Variables) prefixed with `NEW_RELIC_JFR_`.
36153668

36163669
<CollapserGroup>
36173670
<Collapser
@@ -3759,11 +3812,118 @@ The Java agent uses JMX to collect JVM data. Additionally the agent can expose l
37593812
</Collapser>
37603813
</CollapserGroup>
37613814

3815+
## JVM properties obfuscation
3816+
3817+
The Java agent sends JVM properties to New Relic for display in the UI. Starting with Java agent version `8.16.0` the values of most properties will be obfuscated. For example: `-Dprop=12345` will now be sent as `-Dprop=obfuscated`.
3818+
3819+
Set obfuscation related options, in the `obfuscate_jvm_props` section of the agent YAML. You can override these settings with a `newrelic.config.obfuscate_jvm_props` prefixed [system property](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#System_Properties) or a `NEW_RELIC_OBFUSCATE_JVM_PROPS_` prefixed [environment variable](/docs/apm/agents/java-agent/configuration/java-agent-configuration-config-file/#Environment_Variables).
3820+
3821+
By default, values of properties starting with `-X` will not be obfuscated.
3822+
3823+
<CollapserGroup>
3824+
<Collapser
3825+
id="obfuscate-jvm-properties-enabled"
3826+
title="enabled">
3827+
3828+
<table>
3829+
<tbody>
3830+
<tr>
3831+
<th>
3832+
Type
3833+
</th>
3834+
3835+
<td>
3836+
Boolean
3837+
</td>
3838+
</tr>
3839+
3840+
<tr>
3841+
<th>
3842+
Default
3843+
</th>
3844+
3845+
<td>
3846+
`true`
3847+
</td>
3848+
</tr>
3849+
</tbody>
3850+
</table>
3851+
3852+
Used to enabled/disable obfuscation of JVM properties.
3853+
</Collapser>
3854+
3855+
<Collapser
3856+
id="obfuscate-jvm-properties-allow"
3857+
title="allow">
3858+
<table>
3859+
<tbody>
3860+
<tr>
3861+
<th>
3862+
Type
3863+
</th>
3864+
3865+
<td>
3866+
List of strings
3867+
</td>
3868+
</tr>
3869+
3870+
<tr>
3871+
<th>
3872+
Default
3873+
</th>
3874+
3875+
<td>
3876+
(none)
3877+
</td>
3878+
</tr>
3879+
</tbody>
3880+
</table>
3881+
3882+
If obfuscation is enabled, when the property key matches a value in this list, then the value will not be obfuscated.
3883+
3884+
The items in this list can have wildcards, `*` as the last character. Conflicts with the block list are resolved following [attribute rules](/docs/apm/agents/java-agent/attributes/java-agent-attributes/#attruls), where `allow` works as `include`.
3885+
</Collapser>
3886+
3887+
<Collapser
3888+
id="obfuscate-jvm-properties-block"
3889+
title="block">
3890+
<table>
3891+
<tbody>
3892+
<tr>
3893+
<th>
3894+
Type
3895+
</th>
3896+
3897+
<td>
3898+
List of strings
3899+
</td>
3900+
</tr>
3901+
3902+
<tr>
3903+
<th>
3904+
Default
3905+
</th>
3906+
3907+
<td>
3908+
(none)
3909+
</td>
3910+
</tr>
3911+
</tbody>
3912+
</table>
3913+
3914+
If obfuscation is enabled, when the property key matches a value in this list, then the value will be obfuscated.
3915+
3916+
The items in this list can have wildcards, `*` as the last character. Conflicts with the allow list are resolved following [attribute rules](/docs/apm/agents/java-agent/attributes/java-agent-attributes/#attruls), where `block` works as `exclude`.
3917+
3918+
</Collapser>
3919+
</CollapserGroup>
3920+
3921+
37623922
## Kafka message queues [#kafka-message-queues]
37633923

37643924
Detailed information on Kafka instrumentation configuration and can be found on the [Instrument Kafka message queues](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/) page.
37653925

3766-
* \[Kafka event collection(/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-events)
3926+
* [Kafka event collection](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-events)
37673927
* [Kafka node metrics](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#kafka-node-metrics)
37683928
* [Kafka config events](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#kafka-config)
37693929
* [Kafka streams transactions](/docs/apm/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues/#collect-kafka-streams-transactions)

src/content/docs/apm/agents/java-agent/getting-started/compatibility-requirements-java-agent.mdx

+6-6
Original file line numberDiff line numberDiff line change
@@ -236,13 +236,13 @@ The agent automatically instruments these frameworks and libraries:
236236
* Apache Httpclient from 3.1 to 5.x
237237
* java.net.HttpURLConnection
238238
* JMS from 1.1 to latest
239-
* Kafka Client Node Metrics](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 3.7.0 to latest (for metrics)
239+
* [Kafka Client Node Metrics](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 to latest (for metrics)
240240
* [Kafka Client Metrics](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 0.10.0.0 to latest (for metrics)
241-
* [Kafka Client Spans](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 0.11.0.0 to 3.6.x (for distributed tracing)
242-
* [Kafka Connect](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 to 3.6.x (for metrics)
243-
* [Kafka Connect](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 2.0.0 to 3.6.x (for distributed tracing and transaction data)
244-
* [Kafka Streams](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 to 3.6.x (for metrics)
245-
* [Kafka Streams](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 2.0.0 to 3.6.x (for distributed tracing and transaction data)
241+
* [Kafka Client Spans](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 0.11.0.0 to latest (for distributed tracing)
242+
* [Kafka Connect](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 to latest (for metrics)
243+
* [Kafka Connect](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 2.0.0 to latest (for distributed tracing and transaction data)
244+
* [Kafka Streams](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 1.0.0 to latest (for metrics)
245+
* [Kafka Streams](/docs/agents/java-agent/instrumentation/java-agent-instrument-kafka-message-queues) 2.0.0 to latest (for distributed tracing and transaction data)
246246
* OkHttp 3.6.0 to latest
247247
* Ning AsyncHttpClient 1.x
248248
* Play WS

src/content/docs/release-notes/agent-release-notes/java-release-notes/java-agent-8150.mdx

+13-13
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,25 @@ security: []
1919

2020
## New features and improvements
2121

22-
- Addition of AWS Lambda SDK instrumentation by @meiao in [1998](https://github.com/newrelic/newrelic-java-agent/pull/1998)
23-
- Reporting of Flyway migration events by @jtduffy in [2021](https://github.com/newrelic/newrelic-java-agent/pull/2021)
24-
- Add support for using an environment variable for config file location by @jtduffy in [2022](https://github.com/newrelic/newrelic-java-agent/pull/2022)
25-
- Support AWS Kinesis V1 and V2 SDKs by @obenkenobi in [2031](https://github.com/newrelic/newrelic-java-agent/pull/2031)
26-
- Addition of kafka-clients-node-metrics-3.7.0 Instrumentation module by @deleonenriqueta in [2039](https://github.com/newrelic/newrelic-java-agent/pull/2039)
27-
- Add instrumentation for glassfish-jul-extension logging library by @jasonjkeller in [2049](https://github.com/newrelic/newrelic-java-agent/pull/2049)
28-
- Java 23 support by @jasonjkeller in [2055](https://github.com/newrelic/newrelic-java-agent/pull/2055)
29-
- Support reporting of ECS Fargate Docker ids by @jtduffy in [2050](https://github.com/newrelic/newrelic-java-agent/pull/2050)
30-
- Actuator endpoint transaction naming for Spring Boot 3 by @jtduffy in [2077](https://github.com/newrelic/newrelic-java-agent/pull/2077)
22+
- Addition of AWS Lambda SDK instrumentation [1998](https://github.com/newrelic/newrelic-java-agent/pull/1998)
23+
- Reporting of Flyway migration events [2021](https://github.com/newrelic/newrelic-java-agent/pull/2021)
24+
- Add support for using an environment variable for config file location [2022](https://github.com/newrelic/newrelic-java-agent/pull/2022)
25+
- Support AWS Kinesis V1 and V2 SDKs [2031](https://github.com/newrelic/newrelic-java-agent/pull/2031)
26+
- Addition of kafka-clients-node-metrics-3.7.0 Instrumentation module [2039](https://github.com/newrelic/newrelic-java-agent/pull/2039)
27+
- Add instrumentation for glassfish-jul-extension logging library [2049](https://github.com/newrelic/newrelic-java-agent/pull/2049)
28+
- Java 23 support [2055](https://github.com/newrelic/newrelic-java-agent/pull/2055)
29+
- Support reporting of ECS Fargate Docker ids [2050](https://github.com/newrelic/newrelic-java-agent/pull/2050)
30+
- Actuator endpoint transaction naming for Spring Boot 3 [2077](https://github.com/newrelic/newrelic-java-agent/pull/2077)
3131

3232
## Fixes
3333

34-
- Slick 3.5.0 instrumentation bug fix by @kanderson250 in [2025](https://github.com/newrelic/newrelic-java-agent/pull/2025)
35-
- Protect against Http2Headers methods throwing exceptions in Netty instrumentation by @jasonjkeller in [2042](https://github.com/newrelic/newrelic-java-agent/pull/2042)
36-
- Fix an issue where the Kinesis instrumentation is generating ERROR logs due to a NullPointerException by @obenkenobi in [2052](https://github.com/newrelic/newrelic-java-agent/pull/2052)
34+
- Slick 3.5.0 instrumentation bug fix [2025](https://github.com/newrelic/newrelic-java-agent/pull/2025)
35+
- Protect against Http2Headers methods throwing exceptions in Netty instrumentation [2042](https://github.com/newrelic/newrelic-java-agent/pull/2042)
36+
- Fix an issue where the Kinesis instrumentation is generating ERROR logs due to a NullPointerException [2052](https://github.com/newrelic/newrelic-java-agent/pull/2052)
3737

3838
## IAST
3939

40-
- CSEC version bump to 1.5 by @jtduffy in [2076](https://github.com/newrelic/newrelic-java-agent/pull/2076)
40+
- CSEC version bump to 1.5 [2076](https://github.com/newrelic/newrelic-java-agent/pull/2076)
4141
- Changelog: https://github.com/newrelic/csec-java-agent/releases/tag/1.5.0
4242

4343
**Full Changelog**: https://github.com/newrelic/newrelic-java-agent/compare/v8.14.0...v8.15.0

0 commit comments

Comments
 (0)