Importante
Recomendamos actualizar a la última versión del agente tan pronto como esté disponible. Si no puede actualizar a la última versión, actualice su agente a una versión que no tenga más de 90 días de antigüedad. Obtenga más información sobre cómo mantener al agente actualizado.
Consulte la New Relic Ruby política de fin de vida del agente para obtener información sobre los lanzamientos del agente y las fechas de soporte.
v9.13.0
La versión 9.13.0 mejora la compatibilidad con las funciones AWS Lambda, añade instrumentación experimental de OpenSearch, actualiza la detección del framework, silencia una advertencia de obsolescencia de Bundler, corrige la detección del despachador de Falcon, soluciona un error con la instalación de la instrumentación de Redis y aborda un problema de concurrencia específico de JRuby.
- Característica: mejora de la instrumentación de la función AWS Lambda
Cuando se utiliza a través de la capa de Ruby de New Relic para AWS Lambda más reciente, el agente ahora ofrece un soporte mejorado para la instrumentación de la función Lambda de AWS.
La instrumentación del agente para las funciones AWS Lambda ahora es compatible con el rastreo distribuido.
Las invocaciones activadas por la web ahora se identifican como basadas en la “web” cuando está involucrada una llamada de API Gateway, con compatibilidad para las versiones 1.0 y 2.0 de API Gateway.
En las llamadas basadas en la web, se registran el método HTTP, el URI y el código de estado.
El agente ahora reconoce y genera informes sobre 12 recursos de AWS independientes que pueden desencadenar una invocación de función Lambda: ALB, API Gateway V1, API Gateway V2, CloudFront, CloudWatch Scheduler, DynamoStreams, Firehose, Kinesis, S3, SES, SNS y SQS.
Se registrará el tipo del recurso desencadenante y su ARN para cada recurso, y para muchos de ellos, también se registrarán atributos adicionales específicos del recurso. Por ejemplo, las invocaciones a funciones Lambda desencadenadas por la actividad del bucket de S3 ahora tendrán como resultado que se registre el nombre del bucket de S3. PR#2811
Característica: agregar instrumentación experimental de OpenSearch
El agente ahora instrumentará automáticamente la gema
opensearch-ruby. Marcamos esta instrumentación como experimental porque se necesita más trabajo para probarla completamente. La instrumentación de OpenSearch proporciona telemetría similar a la de Elasticsearch. Gracias a @Earlopain por informar del problema y a @praveen-ks por un borrador inicial de la instrumentación. Problema n.º 2228 PR n.º 2796Característica: mejorar la precisión de la detección del framework para Grape y Padrino
Anteriormente, las aplicaciones que usaban el framework Grape establecían
rubycomo su framework dentro del informe de entorno. Ahora, las aplicaciones Grape se establecerán engrape. De manera similar, las aplicaciones que usan el framework Padrino se establecerían ensinatra. Ahora, se establecerán enpadrino. Esto ayudará a las comprobaciones de compatibilidad del agente de seguridad de New Relic. Gracias, @prateeksen, por realizar este cambio. Issue#2777 PR#2789Característica: silenciar la advertencia de obsolescencia de Bundler
all_specsBundler.rubygems.all_specsquedó obsoleto a favor deBundler.rubygems.installed_specsen las versiones 2+ de Bundler, lo que causaba que el agente emitiera advertencias de obsolescencia. Se ha actualizado el método cuando se detecta Bundler 2+ y ahora se silencian las advertencias. Gracias a @jcoyne por informar sobre este problema. Problema n.º 2733 PR n.º 2823Corrección de error: solucionar la detección del despachador de Falcon
Anteriormente, intentamos usar el espacio de objetos para determinar si el servidor web Falcon estaba en uso. Sin embargo, Falcon no se agrega al espacio de objetos sino hasta después de que se genera el informe de entorno, lo que da como resultado un despachador
nil. Ahora, volvemos a una estrategia anterior que descubría el despachador medianteFile.basename. Gracias, @prateeksen, por reportar este problema e investigarlo. Problema n.º 2778 PR n.º 2795Corrección de error: solución para un error de instrumentación de Redis cuando Redis::Cluster::Client está presente
Anteriormente, la instrumentación de Redis contenía un error que provocaba que fallara cuando
Redis::Cluster::Clientestaba presente, debido al uso de unreturnde Ruby fuera de un método. Muchas gracias a @jdelStrother no solo por reportar este error, sino también por indicarnos la causa raíz. Issue#2814 PR#2816Corrección de errores: solucionar el problema de concurrencia de JRuby al acceder al hash de configuración
La clase de configuración interna del agente mantiene un hash que ocasionalmente se reconstruye. Durante la reconstrucción, ciertos valores de instrumentación previamente determinados de forma dinámica se conservan en beneficio del agente de seguridad de Ruby de New Relic. Tras los informes de los clientes de JRuby sobre problemas de concurrencia relacionados con el acceso al hash mientras se modificaba, anteriormente se introdujeron dos correcciones independientes en la lógica de reconstrucción del hash: una operación
Hash#dupy un bloquesynchronize do. Pero se siguieron reportando errores. Nosotros mismos seguimos sin poder reproducir estos errores de concurrencia a pesar de usar exactamente las mismas versiones de JRuby y todo el software reportado. Tras confirmar que el código de acceso al hash en cuestión solo es necesario para el agente de seguridad de Ruby (que opera únicamente en entornos de pruebas de seguridad dedicados que no son de producción), hemos introducido una nueva corrección para los clientes de JRuby que simplemente omitirá el código problemático cuando JRuby esté en uso pero el agente de seguridad no. PR#2798