Lanzamiento principal: Reescritura a Rust
Reescritura completa de la extensión Lambda de New Relic de Go (v2.3.24) a Rust para mejorar el rendimiento, la seguridad de la memoria y reducir los tiempos de inicio en frío.
Nueva característica
Soporte de modoAPM : función Lambda ahora puede reportar directamente a la plataforma New Relic APM como aplicación entidad
- Habilitar con
NEW_RELIC_APM_LAMBDA_MODE=true - Soporte completo para métrica, spans, errores, eventos y traza de la transacción.
- Logs de plataforma convertidos a APM métrica (
apm.lambda.transaction.*) - Evento de error mejorado para tiempos de espera y fallos con contexto de rastreo distribuido
- Consulte la documentación del modo APM para obtener más detalles.
- Habilitar con
Procesamiento con alcance de solicitud: correlación de carga útil mejorada y gestión del ciclo de vida
Gestión inteligente de búfer: gestiona la carga del agente que llega antes del contexto de la solicitud con limpieza automática
Mejoras de rendimiento
- Arranques en frío más rápidos: compilación Rust optimizada con dependencia mínima y LTO
- Uso reducido de memoria: Huella de memoria reducida con abstracciones de costo cero
- Procesamiento Concurrente: Procesamiento paralelo de logs, plataforma métrica y agente telemetría
- Agrupación de conexiones: reutilización de la conexión del cliente HTTP en todas las invocaciones
Seguridad y confiabilidad
- Seguridad de la memoria: el sistema de propiedad de Rust evita fugas de memoria y desbordamientos de búfer.
- Seguridad contra pánico: el controlador de pánico global evita que Lambda se bloquee debido a errores de extensión
- Seguridad de tipos: las garantías en tiempo de compilación eliminan clases enteras de errores de tiempo de ejecución
Cambios técnicos
- Migrado de Go
v1.23a Rust edición 2021 - Construido sobre el entorno de ejecución asíncrono de Tokio
- AWS SDK v1 para Rust (AWS-config 1.8, AWS-sdk-secretsmanager 1.88, AWS-sdk-ssm 1.93)
- Arquitectura modular con clara separación de preocupaciones
Configuración
Todas las variables de entorno existentes permanecen sin cambios para garantizar la compatibilidad con versiones anteriores. Variables clave:
NEW_RELIC_LICENSE_KEY: Clave de licencia de New RelicNEW_RELIC_APM_LAMBDA_MODE: Habilitar el modo APM (predeterminado: false)NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS: Enviar logs de funciones (predeterminado: false)NEW_RELIC_LAMBDA_LOG_LEVEL:La extensión nivel de logs admite un control más granular coninfo,debug,warn,error,trace,all
Detalles completos de configuración en el README.
Notas de migración
- Reemplazo directo: no se requieren cambios de código para los usuarios existentes
- Variables de entorno: toda la configuración permanece igual
- Compatibilidad binaria: mantiene la compatibilidad con el agente New Relic existente
- Rendimiento: Espere arranques en frío entre un 20 y un 40% más rápidos y un menor uso de memoria
[2.3.24] - Implementación de Go (legado)
Última versión basada en Go antes de la migración a Rust. Mantenido para referencia y soporte legacy.
Fixed
- Updated Go std lib version to
1.23.12to resolveCVE-2025-47907 - APM Mode: Resolved license key issue with SM/SSM in APM Mode & resolved log prefix
New feature
- Added Log Level Prefix
DEBUGandINFOto the existing prefix[NR_EXT] - APM Mode: Added tags to APM Mode
- APM Mode: Added Lambda ARN to host for APM connect
- APM Mode: Updated backoff duration for
NEW_RELIC_HOST - APM Mode: Refactor APM error event data
- APM Mode: Added ruby support
Notes
- Added option to build
nodejstest Layers for local testing
Fixed
- Updated AWS SDK and Go Version to address Security Vulnerabilities
[CVE-2020-8911, CVE-2020-8912, CVE-2025-0913, CVE-2025-4673]
Notes
- Added
APMconnect retry logic - Added
godebugto resolve AWS Firewall issue - Added
requestIdextraction from logs forNode.jsruntime
Fixed
- Updated Readme for
--enable-license-key-secret
Notes
- APM Fusion Mode: Limited Preview
Notes
Added logic to check the shutdown of
logserverand prevent handler from sending messages to log channelRemove Circle CI workflow
Fixed
- Add
WaitGroupto resolvelog server panicresulting from multiple log server handlers sending logs to closed channel
Notes
Updates go version to resolve
go/stdlibvulnerabilityUpdates example for AI monitoring in response streaming
Updates local testing
newrelic_lambda_wrappercodeUpdates
ubunturunnerUpdates Extension build to avoid error
/lib64/libc.so.6: versionGLIBC_X.YZnot found.Bump axios from
1.7.7to1.8.2in /examples/sam/containerized-lambda/nodejs-sam-example/hello-worldBump golang.org/x/net from
0.33.0to0.38.0
Notes
Added example for New Relic AI monitoring, along with instrumentation of Lambda functions with response streaming
Updated
SAMexamples to include latest layers and packagesUpdated
RubyLambda instrumentation exampleUpdated Readme to include
NEW_RELIC_COLLECT_TRACE_IDenvironment variable which can be used to addtrace-idto the Lambda logs
Fixed issues
Resolved the issue where Extension inaccurately captured timeout durations for Lambda function timeout errors
Updated sleep time to solve intermittent issue with unit test
TestClientSendRetry
New feature
- Add
trace.idto Lambda logs when the Lambda environment variableNEW_RELIC_COLLECT_TRACE_IDis set totrue
Notes
- Add publish script for Extension only Lambda Layer, intended for local testing of Extension