Importante
La fecha de finalización de esta versión del agente es el 29 de julio de 2019. Para actualizar a la última versión del agente, consulte Actualizar el agente. Para obtener más información, consulte Política de fin de vida útil.
Notas:
El repositorio
apt
ahora está firmado digitalmente y para actualizar el agente desde este repositorio para Ubuntu u otros sistemas similares a Debian, necesitará importar la nueva clave GPG usando el siguiente comando (¡tenga en cuenta el signo menos final!):wget -O - https://download.newrelic.com/NEWRELIC_APT_2DAD550E.public | sudo gpg --import --batch --no-default-keyring --keyring /usr/share/keyrings/download.newrelic.com-newrelic.gpg
Un agradecimiento muy especial y grande a Nick Calugar de IGN Entertainment por sugerir mejoras en la forma en que se nombran las transacciones de Zend y Magento. Para estos dos marcos, la denominación de las transacciones ahora es más precisa y agrega menos sobrecarga que el mecanismo anterior empleado para nombrar transacciones. Esto también solucionó un problema en el que los nombres de transacciones de Magento a veces contenían caracteres basura o incluso fragmentos de script PHP. En ambos casos, la transacción se denomina 'módulo/controlador/acción', como ocurre en otro marco.
Otro agradecimiento muy especial a Roderick Smyth de Arithon en Dublín por su ayuda absolutamente invaluable durante el periodo de prueba beta y por probar el soporte de OCI8.
Mejoras significativas al monitoreo automático de usuarios reales (autoRUM). El cambio más importante es que auto-RUM ahora se implementa como un filtro de salida, por lo que ahora funciona para todos los frameworks, no solo para Drupal y Wordpress. Como resultado, también es considerablemente más confiable, ya que los módulos y otros cambios en el framework ya no afectan la forma en que insertamos el encabezado y pie de página RUM. Si anteriormente tuvo que insertar manualmente encabezados y pies de página de RUM, se recomienda encarecidamente volver a habilitar el RUM automático y comentar las llamadas manuales existentes. Para acompañar este cambio, hay una nueva llamada API, 'newrelic_disable_autorum()', que puedes llamar para evitar que se ejecute RUM automático para una transacción determinada. Por ejemplo, es posible que desees desactivar el RUM automático para las llamadas AJAX.
Independientemente de cómo se invoque, el pie de página de RUM ahora nunca se expulsará si el encabezado también se expulsó en la misma transacción. Esto evita errores de JavaScript si el encabezado no se puede insertar.
El encabezado y pie de página de RUM se modificaron ligeramente para agregar un punto y coma faltante luego del último comando de script. Esto también evita que algunos navegadores y analizadores de cumplimiento se quejen del JavaScript.
Se agregó soporte para la característica similar a MemCache de Redis. Esto no supone de ninguna manera un soporte completo para Redis, sólo para aquellas partes de la Redis API que se asignan de forma limpia a la métrica MemCache existente. Se mostrarán en los gráficos de descripción general como actividad de MemCache, por lo que si usa tanto MemCache como Redis, los datos se fusionarán, al igual que se fusiona la descripción general de diferentes bases de datos SQL.
Soporte considerablemente mejorado para sitios con múltiplesframework (donde se emplea más de un framework para múltiples partes del mismo sitio). La instrumentación para funciones específicas frameworkahora está aislada por cada solicitud, por lo que múltiples requests manejadas por una instancia de PHP ya no se confundirán por el cambio repentino en framework.
El script logrotate ya no entra en conflicto con la versión instalada por el Monitor de servidor de New Relic.
Se implementó un tiempo de espera para la comunicación entre agente ydaemon de modo que si el daemon deja de responder por cualquier motivo, el agente ya no se colgará (y por lo tanto parecerá que bloquea Apache) esperando que el daemon se recupere.
Ignorar correctamente los errores de notificación al usuario en el controlador de errores.
Se agregó soporte para la función
mysql_db_query
obsoleta pero aún empleada con frecuencia.Se agregó soporte para el método Zend_Http_Client::request() del framework Zend para rastrear mejor las llamadas de servicios externos en Zend.
Se agregó la capacidad de emplear la sintaxis
newrelic.appname="%{VARIABLE}"
al configurar el nombre de la aplicación. Esto empleará el mecanismo de búsqueda de variables de entorno de SAPI para encontrar VARIABLE y establecer el nombre de la aplicación en consecuencia.Ahora se reconocerá el verbo del comando SQL
REPLACE
y se generará una métrica única para él en lugar de agrupar en "otros".Se resolvió un problema de bloqueo de mutex de subprocesos en OpenSolaris.
Se agregó soporte para el cliente MemCached PHP puro de Wikia.
file_get_contents()
ahora aparece en la pestaña de servicios externos si el objeto que se recupera es remoto y usa HTTP o HTTPS.El
newrelic_notice_error()
ahora tiene una tercera forma de invocación, que toma una cadena y un objetoException
. Si se proporciona la cadena, se emplea como mensaje de error. Si está vacío, se genera automáticamente una cadena predeterminada en un formato similar aException::__toString()
y se emplea como mensaje de error. El objeto de excepción proporcionado se empleará para crear el seguimiento de stack para la excepción, de modo que pueda ver el seguimiento de stack en el momento de la excepción, en lugar del seguimiento de la stack en el momento de mostrar la excepción.Si habilita la captura de parámetros de solicitud configurando
newrelic.capture_params = true
, ahora también puede configurarnewrelic.ignored_params
en una lista separada por comas de parámetros confidenciales que se excluirán de cualquier dato enviado a New Relic.Se agregó soporte para CakePHP 2.0, y se revisó un poco el soporte para CakePHP 1.2 y 1.3 según los comentarios del autor, Mark Story. La aplicación CakePHP 1.2 ahora será considerablemente más rápida cuando New Relic esté habilitado debido al nuevo mecanismo de nombres de transacciones. También garantizará que las transacciones tengan el nombre correcto incluso si implementó su propia clase de despachador personalizada.
MongoDB ahora instrumentó correctamente el comando
update
.Se agregó soporte para Oracle base de datos instrumentando las dos llamadas más críticas:
oci_parse()
yoci_execute().
Actualmente no se instrumentan otras llamadas OCI.Se corrigió un error que tenía el potencial de causar una infracción de segmentación.
Varias mejoras de rendimiento que reducen aún más la sobrecarga del agente.