Skip to content

Commit 7a7889d

Browse files
Merge pull request #20234 from newrelic/daily-release/03-17-25-morning
Daily release/03 17 25 morning
2 parents 91504f8 + d4a8353 commit 7a7889d

File tree

134 files changed

+2259
-1277
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

134 files changed

+2259
-1277
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"@emotion/styled": "^11.3.0",
1111
"@mdx-js/mdx": "2.0.0-next.8",
1212
"@mdx-js/react": "2.0.0-next.8",
13-
"@newrelic/gatsby-theme-newrelic": "9.11.0",
13+
"@newrelic/gatsby-theme-newrelic": "9.11.1",
1414
"@splitsoftware/splitio-react": "^1.2.4",
1515
"ansi-colors": "^4.1.3",
1616
"cockatiel": "^3.0.0-beta.0",

src/content/docs/alerts/create-alert/examples/monitor-scheduled-jobs.mdx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,13 @@ This technique only works for regularly scheduled jobs that occur more frequentl
1919

2020
In order to get the most out of this procedure, you'll need to know how to [create a condition](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-alert-conditions).
2121

22-
This only works for <DNT>**Static**</DNT> or <DNT>**Anomaly**</DNT> [threshold types](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-nrql-alert-conditions#threshold-types)..
23-
2422
## How it works
2523

26-
Typically, conditions use critical thresholds to trigger incidents. However, you can also trigger incidents with a loss of signal. To monitor a scheduled job and be notified if it doesn't happen, set your condition's threshold high or low enough so that it won't trigger an incident. That way, only a loss of signal will trigger an incident.
24+
Typically, conditions use critical thresholds to trigger incidents. However, you can also trigger incidents with a loss of signal. To monitor a scheduled job and be notified if it doesn't happen, set your signal loss timer to match the job schedule.
2725

2826
## Monitor a scheduled job
2927

3028
1. [Create a condition](/docs/alerts-applied-intelligence/new-relic-alerts/alert-conditions/create-alert-conditions) related to the job you want to monitor.
31-
2. In <DNT>**Set your condition thresholds**</DNT>, set the <DNT>**Critical**</DNT> threshold above or below where it would ever trigger.
32-
3. Click <DNT>**+ Add lost signal threshold**</DNT>, then set the signal expiration duration time longer than your monitored job's scheduled cycle.
33-
4. Check <DNT>**Add lost signal threshold**</DNT>.
34-
5. Make sure you name your condition before you save it.
29+
2. Click <DNT>**+ Add lost signal threshold**</DNT>, then set the signal expiration duration time longer than your monitored job's scheduled cycle.
30+
3. Check <DNT>**Add lost signal threshold**</DNT>.
31+
4. Make sure you name your condition before you save it.

src/content/docs/apis/intro-apis/new-relic-api-keys.mdx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,9 +160,12 @@ To get started with API keys:
160160

161161
## View and manage API keys [#keys-ui]
162162

163-
You can manage most API keys from the [API keys UI page](https://one.newrelic.com/api-keys) located in the [user menu](/docs/accounts/accounts-billing/general-account-settings/intro-account-settings/#user-menu) when you click <DNT>**API keys**</DNT>.
163+
You can manage most API keys from the [API Keys UI page](https://one.newrelic.com/api-keys) located in the [user menu](/docs/accounts/accounts-billing/general-account-settings/intro-account-settings/#user-menu) when you click <DNT>**API keys**</DNT>.
164+
You can also [use NerdGraph to manage keys](/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys)
164165

165-
To view a key in NerdGraph, copy the key ID. You can also [use NerdGraph to manage keys](/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys)
166+
During the key creation process, we temporarily provide you with the entire key. However, once the key is created, only the first 8 characters are displayed in the API Keys UI.
167+
168+
If you need to retrieve the full key after creation, click the ellipses in the API Keys UI, copy the key ID, and [use NerdGraph to query for the full key.](/docs/apis/nerdgraph/examples/use-nerdgraph-manage-license-keys-user-keys/#query-keys).
166169

167170
## Recommendations for managing API keys [#security-practices]
168171

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

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,19 @@ common: &default_settings
128128
# Default is 10000. Setting to 0 will disable.
129129
#max_samples_stored: 10000
130130

131+
# Provides the ability to add custom tags(labels) to agent forwarded logs. Labels are
132+
# pulled from the top-level 'labels' section (located near the bottom of this config file).
133+
# Default is false.
134+
labels:
135+
136+
# When true, custom tags (labels) will be added to agent forwarded logs.
137+
enabled: false
138+
139+
# A comma separated list of label keys that should NOT be added to application logs.
140+
# Example:
141+
# exclude: label_name1, label_name2
142+
exclude:
143+
131144
# Whether the log events should include context from loggers with support for that.
132145
context_data:
133146

@@ -187,11 +200,11 @@ common: &default_settings
187200
# When true, attributes will be sent to New Relic. The default is true.
188201
enabled: true
189202

190-
#A comma separated list of attribute keys whose values should
203+
#A comma separated list of attribute keys whose values should
191204
# be sent to New Relic.
192205
#include:
193206

194-
# A comma separated list of attribute keys whose values should
207+
# A comma separated list of attribute keys whose values should
195208
# not be sent to New Relic.
196209
#exclude:
197210

@@ -245,7 +258,7 @@ common: &default_settings
245258
# Default is true.
246259
explain_enabled: true
247260

248-
# Threshold for query execution time below which query plans will
261+
# Threshold for query execution time below which query plans will
249262
# not be captured. Relevant only when `explain_enabled` is true.
250263
# Default is 0.5 seconds.
251264
explain_threshold: 0.5
@@ -279,7 +292,7 @@ common: &default_settings
279292
ignore_status_codes: 404
280293

281294
# Transaction events are used for histograms and percentiles. Non-aggregated data is collected
282-
# for each web transaction and sent to the server on harvest.
295+
# for each web transaction and sent to the server on harvest.
283296
transaction_events:
284297

285298
# Set to false to disable transaction events.
@@ -346,7 +359,7 @@ common: &default_settings
346359
# New Relic Real User Monitoring (RUM) gives you insight into the performance real users are
347360
# experiencing with your website. This is accomplished by measuring the time it takes for
348361
# your users' browsers to download and render your web pages by injecting a small amount
349-
# of JavaScript code into the header and footer of each page.
362+
# of JavaScript code into the header and footer of each page.
350363
browser_monitoring:
351364

352365
# By default the agent automatically inserts API calls in compiled JSPs to
@@ -360,7 +373,7 @@ common: &default_settings
360373
# All instrumentation modules can be found here: https://github.com/newrelic/newrelic-java-agent/tree/main/instrumentation
361374
class_transformer:
362375

363-
# This instrumentation reports the name of the user principal returned from
376+
# This instrumentation reports the name of the user principal returned from
364377
# HttpServletRequest.getUserPrincipal() when servlets and filters are invoked.
365378
com.newrelic.instrumentation.servlet-user:
366379
enabled: false
@@ -394,7 +407,7 @@ common: &default_settings
394407
# present on the actual class, will still get named based on route and HTTP method.
395408
enhanced_spring_transaction_naming: false
396409

397-
# Actuator endpoint transaction naming
410+
# Actuator endpoint transaction naming
398411
# By default, built-in actuator endpoints and custom actuator endpoints (using the @Endpoint annotation
399412
# and its subclasses) will all be named as "OperationHandler/handle" in New Relic. Setting this
400413
# to true will result in the transaction name reflecting the actual base actuator endpoint URI.

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

Lines changed: 77 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1542,7 +1542,7 @@ This section details the Java agent configuration options for [AI monitoring](/d
15421542
</Callout>
15431543

15441544
<Callout variant="important">
1545-
When enabled, AI monitoring records a streaming copy of inputs and outputs sent to and from the models you choose to monitor, including any personal information contained therein.
1545+
When enabled, AI monitoring records a streaming copy of inputs and outputs sent to and from the models you choose to monitor, including any personal information contained therein.
15461546
You're responsible for obtaining consent from your model users that their interactions may be recorded by a third party (New Relic) for the purpose of providing the AI monitoring feature.
15471547
</Callout>
15481548

@@ -3947,6 +3947,9 @@ application_logging:
39473947
forwarding:
39483948
enabled: true
39493949
max_samples_stored: 10000
3950+
labels:
3951+
enabled: false
3952+
exclude:
39503953
context_data:
39513954
enabled: false
39523955
include:
@@ -4090,6 +4093,78 @@ If you're using a supported logging framework and want to use the agent to send
40904093
</Collapser>
40914094
</CollapserGroup>
40924095

4096+
#### Log labels (tags) [#log-labels]
4097+
4098+
The Java agent supports adding custom labels (tags) to agent-forwarded logs. Labels are sourced from the [labels](#labels) section at the top level of the agent configuration. This feature can be enabled within the `labels` section, nested under the `forwarding` section. You can override these settings using the `newrelic.config.application_logging.forwarding.labels` prefixed system property. Available options include:
4099+
4100+
<CollapserGroup>
4101+
<Collapser
4102+
id="cfg-application_logging_forwarding_labels"
4103+
title="enabled"
4104+
>
4105+
<table>
4106+
<tbody>
4107+
<tr>
4108+
<th>
4109+
Type
4110+
</th>
4111+
4112+
<td>
4113+
Boolean
4114+
</td>
4115+
</tr>
4116+
4117+
<tr>
4118+
<th>
4119+
Default
4120+
</th>
4121+
4122+
<td>
4123+
`false`
4124+
</td>
4125+
</tr>
4126+
4127+
</tbody>
4128+
</table>
4129+
4130+
Toggles whether the agent will add labels to logs that are forwarded to New Relic.
4131+
</Collapser>
4132+
4133+
<Collapser
4134+
id="cfg-application_logging_forwarding_labels-exclude"
4135+
title="exclude"
4136+
>
4137+
<table>
4138+
<tbody>
4139+
<tr>
4140+
<th>
4141+
Type
4142+
</th>
4143+
4144+
<td>
4145+
List of strings
4146+
</td>
4147+
</tr>
4148+
4149+
<tr>
4150+
<th>
4151+
Default
4152+
</th>
4153+
4154+
<td>
4155+
(none)
4156+
</td>
4157+
</tr>
4158+
</tbody>
4159+
</table>
4160+
4161+
A case-insensitive list of label names to **exclude** when labels for logs are enabled. This attribute does not support wildcards or regex.
4162+
<Callout variant="important">
4163+
When adding labels as attributes, the agent prefixes the keys with `tags.`. This prefix is **NOT** included when matching against the exclude filtering rules.
4164+
</Callout>
4165+
</Collapser>
4166+
</CollapserGroup>
4167+
40934168
#### Log context data [#log-context-data]
40944169

40954170
The Java agent can capture context data (Mapped Diagnostic Context in logback/slf4j, ThreadContext in log4j2) and add its contents as attributes in the logs forwarded to New Relic. You can control that through settings in the `context_data` section, nested under the `forwarding` section. These settings can be overridden by the `newrelic.config.application_logging.forwarding.context_data` prefixed system property. Options available are:
@@ -5343,7 +5418,7 @@ Transaction events data is used to display histograms and percentiles in the UI.
53435418
</table>
53445419

53455420
The maximum number of sampled transaction events reported every 60 seconds.
5346-
5421+
53475422
<Callout variant="important">
53485423
The minimum number of sample transaction events is 12. Agents with version 5.5.0 or higher send data every 5 seconds. If you set the number of events to less than 12, the number of events sent during the harvest cycle will be insufficient, resulting in no data being sent.
53495424
</Callout>

src/content/docs/apm/agents/java-agent/instrumentation/instrument-aws-sqs-message-queues.mdx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@ The Java Agent supports instrumentation for AWS SQS message queues. While our SQ
1414

1515
To see all supported SQS libraries, refer to [Java compatibility and requirements page](/docs/agents/java-agent/getting-started/compatibility-requirements-java-agent).
1616

17+
<Callout variant="important">
18+
Users of Java Agent 8.18.0 need to manually enable SQS instrumentation. You can enable this instrumentation in your `newrelic.yml` file:
19+
20+
```yml
21+
class_transformer:
22+
aws-java-sdk-sqs:
23+
enabled: true
24+
```
25+
26+
Alternatively, you can set the system property `-Dnewrelic.config.class_transformer.aws-java-sdk-sqs.enabled=true` or the environment variable `NEW_RELIC_CLASS_TRANSFORMER_AWS_JAVA_SDK_SQS_ENABLED=true`.
27+
28+
The instrumentation is enabled by default for other versions of the Java Agent.
29+
30+
</Callout>
31+
1732
## View SQS Distributed Tracing
1833

1934
The AWS SQS SDK instrumentation automatically includes distributed trace headers as message attributes for SQS messages. This functionality is available starting from version 2.1.0. However, for message receiver operations, there isn't a built-in method to process these headers. We suggest that you implement custom instrumentation to read the distributed trace headers.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
subject: Mobile app for Android
3+
releaseDate: '2025-03-17'
4+
version: 5.28.7
5+
downloadLink: 'https://play.google.com/store/apps/details?id=com.newrelic.rpm'
6+
---
7+
### Enhancements
8+
* New feature : In-App web view for quick login
9+
* Enhanced user analytics
10+
* NR mobile agent upgrade.
11+
12+
### Bugfixes
13+
* Alert notification and global settings.

src/content/docs/security/security-privacy/compliance/certificates-standards-regulations/fedramp.mdx

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,5 +207,47 @@ The following services are not FedRAMP-authorized:
207207
New Relic AI
208208
</td>
209209
</tr>
210+
211+
<tr>
212+
<td>
213+
N/A
214+
</td>
215+
216+
<td>
217+
AWS
218+
</td>
219+
220+
<td>
221+
Agentic Integration - Github Copilot
222+
</td>
223+
</tr>
224+
225+
<tr>
226+
<td>
227+
N/A
228+
</td>
229+
230+
<td>
231+
AWS
232+
</td>
233+
234+
<td>
235+
Agentic Integration - Google Gemini Code Assist
236+
</td>
237+
</tr>
238+
239+
<tr>
240+
<td>
241+
N/A
242+
</td>
243+
244+
<td>
245+
AWS
246+
</td>
247+
248+
<td>
249+
Agentic Integration - Amazon Q Business
250+
</td>
251+
</tr>
210252
</tbody>
211253
</table>

src/content/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/containerized-images.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ redirects:
77
freshnessValidatedDate: never
88
---
99

10-
If you're using a containerized image for a Lambda function and want to monitor your application, you'll need to add a pre-built [New Relic Lambda layer](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker?page=1) to your Dockerfile that matches your function's runtime.
10+
If you're using a containerized image for a Lambda function and want to monitor your application, you'll need to add a pre-built [New Relic Lambda layer](https://gallery.ecr.aws/newrelic-lambda-layers-for-docker?page=1) to your Dockerfile that matches your function's runtime.
1111

1212
Here's a diagram showing the process of adding New Relic to the Dockerfile so you can monitor your function:
1313

@@ -122,6 +122,8 @@ Here's a guide to adding our pre-built layer to your code.
122122

123123
# CMD override to New Relic's handler wrapper
124124
CMD [ "newrelic-lambda-wrapper.handler" ]
125+
# If your lambda function is ESM, use the New Relic's Node.js ESM handler wrapper
126+
# CMD ["/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler"]
125127
```
126128
Try out [working example](https://github.com/newrelic/newrelic-lambda-extension/tree/main/examples/sam/containerized-lambda/nodejs-sam-example) of a Node.js containerized Lambda function using SAM.
127129
</TabsPageItem>

src/content/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/env-variables-lambda.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ Based on your runtime, you can set the following environment variables to furthe
7373
<td>`NEW_RELIC_USE_ESM`</td>
7474
<td>`false`</td>
7575
<td>`true`, `false`</td>
76-
<td>**Required**: Enable ESM functions that use async/await and not callbacks by setting this to `true`</td>
76+
<td>**DEPRECATED**: This will be removed from future versions of the Node.js lambda layer. Instead set your handler to `/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler`</td>
7777
</tr>
7878
<tr>
7979
<td>`NODE_OPTIONS`</td>
@@ -293,7 +293,7 @@ You can find more environment variables in our [Python configuration documentati
293293
<td>`/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so`</td>
294294
<td>**Required**: Set this to `/opt/lib/newrelic-dotnet-agent/libNewRelicProfiler.so` to enable the .NET agent</td>
295295
</tr>
296-
296+
297297
<tr>
298298
<td>`NEW_RELIC_DISTRIBUTED_TRACING_ENABLED`</td>
299299
<td>`true`</td>
@@ -411,7 +411,7 @@ See more environment variables for the New Relic extension in our [documentation
411411
</TabsPageItem>
412412

413413

414-
</TabsPages>
414+
</TabsPages>
415415
</Tabs>
416416

417417
## What's next

src/content/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/instrument-your-own.mdx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ Depending on your needs, you can choose to either bypass the extension and only
158158
// Add latest New Relic Lambda layer ARN from https://layers.newrelic-external.com
159159
const NewReliclayerArn = 'arn:aws:lambda:us-east-1:451483290750:layer:NewRelicNodeJS20X:39';
160160
const myFunction = new lambda.Function(this, "NewRelicExampleLambda", {
161-
runtime: lambda.Runtime.NODEJS_20_X,
161+
runtime: lambda.Runtime.NODEJS_20_X,
162162
// Update functions handler to point to the New Relic Lambda wrapper
163163
handler: "newrelic-lambda-wrapper.handler",
164164
code: lambda.Code.fromAsset('lib/lambda-runtime-code'),
@@ -226,7 +226,9 @@ Depending on your needs, you can choose to either bypass the extension and only
226226
* `RequestHandler` implementation: `com.newrelic.java.HandlerWrapper::handleRequest`.
227227
* `RequestStreamHandlerWrapper` implementation: `com.newrelic.java.HandlerWrapper::handleStreamsRequest`.
228228
* Python: `newrelic_lambda_wrapper.handler` (underscores).
229-
* Node: `newrelic-lambda-wrapper.handler` (hyphens).
229+
* Node:
230+
* CommonJS: `newrelic-lambda-wrapper.handler` (hyphens).
231+
* ESM: `/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler` (hyphens).
230232
* For .Net you don't have to set the handler.
231233

232234
Note that for Go, you must make source code changes to your Lambda function to instrument it. Configuration changes are not enough.
@@ -263,4 +265,4 @@ Depending on your needs, you can choose to either bypass the extension and only
263265
<DocTile title="Compatibility and requirement" path="/docs/serverless-function-monitoring/aws-lambda-monitoring/instrument-lambda-function/compatibility-requirement-lambda-monitoring">Learn more about supported runtimes and prerequisites</DocTile>
264266
<DocTile title="Data and UI" path="/docs/serverless-function-monitoring/aws-lambda-monitoring/ui-data/understand-lambda-monitoring-ui/" >Learn how to use New Relic to monitor your AWS Lambda functions</DocTile>
265267
<DocTile title="Troubleshooting" path="/docs/serverless-function-monitoring/aws-lambda-monitoring/troubleshooting" >Learn how to troubleshoot installation related issues</DocTile>
266-
</DocTiles>
268+
</DocTiles>

src/content/docs/serverless-function-monitoring/aws-lambda-monitoring/troubleshooting/troubleshoot-enabling-serverless-monitoring-aws-lambda.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Besides these basic enablement problems, there are some additional problems that
3131

3232
* If you're instrumenting with layers: make sure in your function configuration that the New Relic layer is merged before other layers (though if your function uses webpack, the New Relic layer should be merged after the webpack layer).
3333
* If you're instrumenting a Node.js function manually, make sure that [logging is enabled](/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/#logging_config), and that your function imports <DNT>**newrelic**</DNT> before it imports any dependencies you expect to monitor.
34-
* If you're using ES Modules with a Node.js function, make sure that the environment variable `NEW_RELIC_USE_ESM` is set to `true`. Additionally, make sure you're using async/await or promises for handling asynchronous behavior in your function, as callback-based functions are not supported when using ES Modules.
34+
* If you're using ES Modules with a Node.js function, make sure to change the handler function to `/opt/nodejs/node_modules/newrelic-esm-lambda-wrapper/index.handler`. Additionally, set the environment variable of `NODE_PATH` to `--experimental-loader newrelic/esm-loader.mjs`.
3535

3636
If none of these solutions help you, contact our [support team](https://support.newrelic.com/). The following information will help you when you talk to support technicians:
3737

0 commit comments

Comments
 (0)