Remarques
- Ajout de la prise en charge de
sql_trace_datadans la télémétrie APM - Ajout de la prise en charge de
SSL_CERT_FILE
Fixé
- Ajout de modifications pour inclure
error_event_datapour le mode APM - Métriques de durée du log d'arrêt améliorées
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.
Version majeure : Réécriture en Rust
Réécriture complète de l’extension New Relic Lambda de Go (v2.3.24 à Rust pour améliorer les performances, la sécurité de la mémoire et réduire les temps de démarrage à froid.
Nouvelle fonctionnalité
Prise en charge du mode APM: les fonctions Lambda peuvent désormais signaler directement à la plateforme New Relic APM en tant qu’entités d’application
- Activer avec
NEW_RELIC_APM_LAMBDA_MODE=true - Prise en charge complète des métriques, des spans, des erreurs, des événements et des traces de transaction
- Logs de plateforme convertis en métriques APM (
apm.lambda.transaction.*) - Événements d’erreur améliorés pour les délais d’attente et les pannes avec le contexte de tracing distribué
- Consultez la Documentation du mode APM pour plus de détails
- Activer avec
Traitement lié à la requête: amélioration de la corrélation des charges utiles et de la gestion du cycle de vie
Gestion intelligente des buffers: gère les charges utiles de l’agent qui arrivent avant le contexte de la requête avec un nettoyage automatique
Améliorations des performances
- Démarrages à froid plus rapides: compilation Rust optimisée avec un minimum de dépendances et LTO
- Utilisation de la mémoire réduite: empreinte mémoire réduite avec des abstractions sans frais
- Traitement simultané: traitement parallèle des logs, des métriques de plateforme et de la télémétrie de l’agent
- Pool de connexions: réutilisation des connexions client HTTP entre les appels
Sécurité et fiabilité
- Sécurité de la mémoire: le système de propriété de Rust empêche les fuites de mémoire et les dépassements de mémoire tampon
- Sécurité en cas de panique: le gestionnaire de panique global empêche les plantages de Lambda dus à des défaillances d’extension
- Sécurité des types: les garanties au moment de la compilation éliminent des classes entières d’erreurs d’exécution
Modifications techniques
- Migration de Go
v1.23vers l’édition Rust 2021 - Basé sur le runtime asynchrone Tokio
- AWS SDK v1 pour Rust (aws-config 1.8, aws-sdk-secretsmanager 1.88, aws-sdk-ssm 1.93)
- Architecture modulaire avec une séparation claire des préoccupations
Configuration
Toutes les variables d’environnement existantes restent inchangées pour la compatibilité descendante. Variables clés :
NEW_RELIC_LICENSE_KEY: Clé de licence New RelicNEW_RELIC_APM_LAMBDA_MODE: Activer le mode APM (par défaut : false)NEW_RELIC_EXTENSION_SEND_FUNCTION_LOGS: Envoyer les logs de fonction (par défaut : false)NEW_RELIC_LAMBDA_LOG_LEVEL: Le niveau de logs de l’extension prend en charge un contrôle plus granulaire avecinfo,debug,warn,error,trace,all
Tous les détails de configuration dans le README.
Notes de migration
- Remplacement direct: aucune modification de code requise pour les utilisateurs existants
- Variables d’environnement: toute la configuration reste la même
- Compatibilité binaire: maintient la compatibilité avec les agents New Relic existants
- Performances: attendez-vous à des démarrages à froid 20 à 40 % plus rapides et à une utilisation de la mémoire réduite
[2.3.24] - Implémentation Go (Legacy)
Dernière version basée sur Go avant la migration vers Rust. Maintenu à titre de référence et pour la prise en charge des versions héritées.