Notas
- Adicionado suporte para
sql_trace_datana telemetria APM - Adicionado suporte para
SSL_CERT_FILE
Fixo
- Adicionadas alterações para incluir
error_event_datapara o modo APM - Métricas de duração de logs de encerramento aprimoradas
Notes
- Added
NEW_RELIC_LAMBDA_EXTENSION_PROXYenvironment variable for proxy configuration - Added
NEW_RELIC_EXTENSION_SEND_LOGSenvironment variable to control sending logs - Added
NEW_RELIC_EXTENSION_LOGS_ENABLEDenvironment variable for extension logging
Fixed
- Fixed JSON logs with
"level": "Information"being incorrectly classified as errors - Improved
request_idhandling and tracking - Fixed random number generation in
TraceIDGenerator
Notes
Javaruntime support improvements - automatic detection and proper mode routingEnhanced log processing reliability - ensures all logs are properly tagged before sending
Reduced resource usage by optimizing channel creation
Improved
log processingefficiency
Fixed
Java agent version reporting
Log metadata stamping for
pre-invokelogsUnnecessary warning messages in
APM mode
Notes
Configuration: Add support for
NEW_RELIC_EXTENSION_SEND_PLATFORM_LOGSEnvironment variableMetadata: Add tags to entity for
Extension versionandAgent versionLogging: Change secondary
Log levelto DEBUG
Fixed
Runtime Detection: Enhance runtime detection logic for improved agent compatibility
Telemetry: Implement global fallback ARN handling across telemetry components
Validation: Update code for additional checks
Notes
Implemented pre-invoke log buffering with metadata validation and fallback ARN support
Removed debug log for buffering in
pre-invokebufferAdded fallback code for
Aws-arn
Fixed
- Remove
License keyexposure from CloudWatch logs
Notes
Improved panic handling in main function to ensure Lambda continue
Added new telemetry buffer for
APMmode andShutdownlogsEnhanced versioning support and logging in
APMmode
Fixed
Updated platform report line to send as
jsoninstead of compressedEU endpoint detection for license keys fetched from
SSM/Secrets Manager
Notes
Removed unnecessary trace logging for skipped
FunctionandExtensionlogs.Updated parsing logic to scan the first 50 characters instead of a 100-byte slice. Ensuring safe handling of multi-byte
UTF-8 characters(like emojis) without truncation errors.
Fixed
Resolved an issue where requests were occasionally not instrumented in APM mode.
Enabled automatic
NEW_RELIC_LICENSE_KEYfallback.
Lançamento importante: Reescrita para Rust
Reescrita completa da extensão Lambda do New Relic de Go (v2.3.24) para Rust para melhor desempenho, segurança de memória e tempos de inicialização a frio reduzidos.
Novo recurso
Suporte ao modoAPM : função do Lambda agora pode reportar diretamente à plataforma New Relic APM como aplicativo entidade
- Habilitar com
NEW_RELIC_APM_LAMBDA_MODE=true - Suporte completo para métricas, spans, erros, eventos e trace da transação
- Logs da plataforma convertidos para métrica APM (
apm.lambda.transaction.*) - Evento de erro aprimorado para tempos limite e falhas com contexto distributed tracing
- Consulte a documentação do Modo APM para obter detalhes.
- Habilitar com
Processamento com escopo definido por solicitação: Correlação de carga útil e gerenciamento de ciclo de vida aprimorados.
Gerenciamento Inteligente de Buffer: Lida com a carga do agente que chega antes do contexto da solicitação com limpeza automática.
Melhorias de desempenho
- Inicializações a frio mais rápidas: compilação otimizada Rust com dependência mínima e LTO.
- Uso reduzido: Pegada reduzida com abstrações de custo zero
- Processamento Simultâneo: Processamento paralelo de logs, plataforma métrica e telemetria de agente
- Agrupamento de conexões: reutilização de conexões de clientes HTTP entre invocações.
Segurança e confiabilidade
- Segurança da memória: O sistema de propriedade do Rust impede vazamentos de memória e estouros de buffer.
- Segurança contra pânico: o manipulador de pânico global impede que o Lambda falhe devido a falhas de extensão.
- Segurança de tipos: garantias em tempo de compilação eliminam classes inteiras de erros em tempo de execução.
Alterações técnicas
- Migrado de Go
v1.23para Rust 2021 - Construído sobre o ambiente de execução assíncrono Tokio.
- AWS SDK v1 para Rust (AWS-config 1.8, AWS-sdk-secretsmanager 1.88, AWS-sdk-ssm 1.93)
- Arquitetura modular com clara separação de responsabilidades.
Configuração
Todas as variáveis de ambiente existentes permanecem inalteradas para manter a compatibilidade com versões anteriores. Variáveis-chave:
NEW_RELIC_LICENSE_KEY: New Relic chave de licençaNEW_RELIC_APM_LAMBDA_MODE: Ativar o modo APM (padrão: false)NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS: Enviar logs de função (padrão: false)NEW_RELIC_LAMBDA_LOG_LEVELO nível de log da extensão oferece suporte a um controle mais granular cominfo,debug,warn,error,trace,all
Detalhes completos da configuração no arquivo README.
Notas sobre Migração
- Substituição direta: nenhuma alteração de código é necessária para usuários existentes.
- Variáveis de ambiente: todas as configurações permanecem as mesmas
- Compatibilidade binária: Mantém a compatibilidade com os agentes New Relic existentes.
- desempenho: espere partidas a frio 20-40% mais rápidas e menor uso de memória
[2.3.24] - Implementação Go (legado)
Última versão baseada em Go antes da migração para Rust. Mantido para fins de referência e suporte a legados.