New feature
- Sends Extension log events to New Relic by setting the environment variable
NEW_RELIC_EXTENSION_SEND_EXTENSION_LOGS
totrue
. This is in addition to sending function log events, which can be enabled by setting the environment variableNEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS
totrue
.
Notes
- Adds examples for containerized lambda using
SAM
. - Updates examples to use IAM policy as per least privileged policy.
- Updates Extension's Golang version and dependency versions such as bump google.golang.org/protobuf from
1.30.0
to1.33.0
and golang.org/x/net from0.17.0
to0.23.0
.
Notes
Adds a feature to ignore extension startup checks using the Lambda environment variable
NEW_RELIC_IGNORE_EXTENSION_CHECKS
. You can ignore selected extension checks by using a comma-separated value. For example,agent,handler
will ignore agent and handler extension checks. Useall
to ignore all extension checks. We recommended you ignoreall
extension checks after you've successfully instrumented the Lambda function.Updates information about environment variable
NR_TAGS
in the Readme. You can useNR_TAGS
to add tags to all the Lambda log events.Introduces support for the
NEW_RELIC_ENABLED
environment variable which you can use to disable Agent. TheNEW_RELIC_ENABLED
has theenv bool
type.
Fixed issue
- Fixed docker handler warning issue for containerized lambda.
Notes
Introduces support for Ruby Lambda runtime.
Adds tags for logs, and introduces environment variables to configure custom attributes or other metadata when sending logs directly using extension. Use
NR_TAGS
&NR_ENV_DELIMITER
environment variables similar to thelog-ingestion-lambda
to add metadata to the logs.Removes debug logs which get printed for each log line. Modifies confusing message log - mainLoop: blocking is confusing customer and adds payloadSize to the log message
Telemetry client error: %s, payload size: %d bytes"
.Updates on .NET Extension example to use newly released New Relic .NET Lambda layer instead of OpenTracing.
Updates on readme build step. Updated target for make command, example
make dist-x86_64
andmake dist-arm64
.
Fixed issue
- Fixed
NR_EXT
log lines. The extension will not print anyNR_EXT
line whenlogsEnabled
is false, including the startup line #226.
Notes
Adds local testing for Extension. Local testing is enabled by setting
NEWRELIC_LOCAL_TESTING
totrue
. Currently it supports Python runtime only, and generates Lambda layers forx86
andarm
architectures usingpublish.sh
and invokes the test Lambdas usingtest.sh
script.Removes
SSM parameter store
calls. Extension has sanitycheck calls toSSM store
that adds to production quotas for customers. CallSSM store
only whenNEW_RELIC_LICENSE_KEY_SSM_PARAMETER_NAME
var is set totrue
.Adds timeout for calls to
Secrets Manager
&SSM Parameter Store
.Gives priority to
NEW_RELIC_LICENSE_KEY
and bypass calls toSecrets Manager
ifNEW_RELIC_LICENSE_KEY
is set.
Fixed issue
- Resolved Extension warning messages for Node.js runtime with ESM scripts. Previously, correctly configuring
newrelic-lambda-wrapper.handler
andNEW_RELIC_LAMBDA_HANDLER
did not eliminate warning message for the Node.js ESM scripts. The solution involved usingNEW_RELIC_USE_ESM
to detect ESM scripts #209.
Fixed issues
Fixed crashing on closed pipe caused by race condition during extension startup.
Fixed crashing on write to closed channel due to race condition during extension shutdown.
Fixed handler checks for Docker and ESM JS environments.
Minor version bump for Go grpc, Go net, and JAVA gson.
Notes
- Includes additional debugging prints for troubleshooting the logserver logic.
Fixed issue
- Fixed a bug that used to crash the Extension when a single telemetry payload exceeds 1Mb after compression.
Fixed issues
Updated the SAM template for Python to use the latest resources for Python 3.10.
Added additional debug logging and simplified the code for sending log payloads to New Relic.
Notes
Added support for handlers with the
.mjs
file extension.Added support to allow New Relic license key to be fetched from an SSM parameter.
Fixed issue
- Bumped dependencies to be compatible with the latest Golang 1.19 features.
Notes
HTTP timeout is increased to 2.4 seconds.
Code cleanup around timeout logic.