Nuestra API del agente Node.js le permite ampliar la funcionalidad estándar del agente. Puede utilizar esta API para:
- Crear parámetro de transacción personalizado
- Reportar errores personalizados y métricos
También puede utilizar la API para instrumentación personalizada. Para el marco compatible, el agente instrumentó la mayor parte de la actividad automáticamente. La instrumentación personalizada le permite extender ese monitoreo al marco sin instrumentación predeterminada.
Otros recursos:
- La documentación de la API del agente Node.js en GitHub tiene tutoriales más detallados y prácticos.
- También puede ajustar el comportamiento predeterminado del agente Node.js con los ajustes de configuración.
- Para ver todas las API de New Relic disponibles, consulte Introducción a las API.
Requisitos
Para utilizar la API del agente Node.js, asegúrese de tener la última versión del agente Node.js. Además, consulte:
instrumentar faltan secciones de tu código con transacción.
Para instrumentar su aplicación, New Relic separa cada ruta a través de su código en su propia transacción. New Relic mide (o "instrumentado") el método principal en estas transacciones para medir el rendimiento general de su aplicación y recopila la traza de la transacción de transacciones de larga duración para obtener detalles adicionales.
Utilice estos métodos cuando New Relic no esté instrumentada en absoluto en una parte particular de su código:
Si quieres... | Hacer esto... |
---|---|
Comenzar a cronometrar un método New Relic no se instrumenta automáticamente | Crea una nueva transacción. Ver |
Dejar de cronometrar un método una vez completado su trabajo | Utilice cualquiera de estas opciones:
|
Evitar que una transacción se informe a New Relic | Ignore la transacción usando cualquiera de estas opciones:
|
Métodos específicos de tiempo que utilizan segmentos
Si una transacción ya es visible en New Relic, pero no tiene suficientes datos sobre un método en particular que se llamó durante esa transacción, puede crear segmentos para cronometrar esos métodos individuales con mayor detalle. Por ejemplo, es posible que desee cronometrar un método particularmente crítico con lógica compleja.
Utilice este método cuando desee instrumentar un método dentro de una transacción existente:
Si quieres... | Hacer esto... |
---|---|
Cronometrar un método particular |
Para obtener más información sobre la sincronización, consulte el tutorial de instrumentación en GitHub.
Mejorar los metadatos de una transacción
A veces, el código al que se dirige es visible en New Relic, pero algunos detalles del método no son útiles. Por ejemplo:
- Es posible que el nombre predeterminado no resulte útil. (Quizás esté causando un problema de agrupación métrica).
- Quieres agregar un atributo personalizado a tu transacción para poder filtrarlas.
Utilice estos métodos cuando desee cambiar la forma en que New Relic instrumentó una transacción que ya está visible en New Relic:
Si quieres... | Hacer esto... |
---|---|
Cambiar el nombre de una transacción | Consulte |
Agregue metadatos (como el nombre de la cuenta de sus clientes o el nivel de suscripción) a su transacción | Utilice un atributo personalizado. La colección de atributos personalizados está habilitada de forma predeterminada en el agente Node.js). Consulte |
Crear una nueva transacción para trabajo en segundo plano | |
Crear una nueva transacción web | Utilice |
Evite que una transacción afecte su puntuación Apdex | Consulte Reglas para nombrar e ignorar solicitudes, incluido el ejemplo de ignorar reglas. |
Registre otros datos de rendimiento, como tiempos o datos de recursos informáticos. | Utilice la API métrica personalizada. |
Ver registro relacionado
El agente envía de forma predeterminada el registro directamente dentro del contexto de los errores y la traza de su aplicación. Para obtener más información sobre la correlación de datos log con otros telemetry data y el marco compatible, consulte nuestros documentos de logs en el contexto.
Si está utilizando un mecanismo de registro que no está instrumentado por New Relic, puede usar directamente esta llamada API para registrar y reenviar su logs en el contexto:
Un método alternativo más antiguo es utilizar su propio reenviador de registros en lugar de dejar que el agente haga el reenvío por usted. En este caso, deberá anotar su registro con el contexto adecuado antes de reenviarlo. Utilice estas API de llamadas:
Instrumentar el trabajo asincrónico
Para el marco compatible y las versiones de Node.js compatibles, el agente Node.js de New Relic generalmente instrumenta correctamente el trabajo asíncrono. Sin embargo, si su aplicación usa otro framework, o si la instrumentación asíncrona predeterminada no es precisa, puede realizar un seguimiento explícito del trabajo asíncrono.
Si quieres... | Hacer esto... |
---|---|
Traza un método asíncrono que New Relic ya está instrumentado | |
Traza un método asíncrono que New Relic no está instrumentado | |
Traza una transacción que se perdió | Ver |
Traza un estado de transacción perdida | Un problema común es la pérdida del estado de transacción al utilizar una biblioteca no instrumentada. Para obtener más información, consulte el tutorial de preservación de transacciones en GitHub. |
Instrumentar las llamadas a servicios externos
Una vez que se carga la API de nomenclatura de solicitud , el agente Node.js de New Relic puede identificar automáticamente las llamadas de servicio externo. También puedes utilizar estos métodos para recopilar datos sobre las conexiones de tu aplicación a otras aplicaciones o base de datos:
Si quieres... | Hacer esto... |
---|---|
Cronometrar una llamada a un recurso externo (como un servicio externo, un servidor de base de datos o una cola de mensajes) | Utilice cualquiera de estos según corresponda:
|
Conecte la actividad a otra aplicación instrumentada por un agente de New Relic | Utilice rastreo multiaplicación. ImportanteEl rastreo de aplicaciones múltiples ha quedado obsoleto en favor de Distributed tracing y se eliminará en una versión futura de agente. |
Vea el camino que sigue una solicitud a medida que viaja a través de un sistema distribuido. |
Cobro o error omitido
Normalmente el agente detecta errores automáticamente. Sin embargo, puede marcar manualmente un error con el agente. También puede marcar los errores como ignorados.
Si quieres... | Hacer esto... |
---|---|
Informar un error que el agente no informa automáticamente | |
Agrupe los errores por nombre, utilizando una función de filtro personalizada que usted defina | |
Asociar errores con usuario | Ver |
Envía datos de eventos personalizados y métricos desde tu app
New Relic incluye varias formas de registrar datos personalizados arbitrarios. Para obtener una explicación de los tipos de datos de New Relic, consulte Recopilación de datos.
Si quieres... | Hacer esto... |
---|---|
Envía datos sobre un evento para que puedas analizarlo en New Relic | Crea un evento personalizado. Ver |
Etiqueta tu evento con metadatos para filtrarlos y facetarlos | Agregue un atributo personalizado si es necesario. La colección de atributos personalizados está habilitada de forma predeterminada en el agente Node.js). Consulte |
Informar datos de rendimiento personalizados | Cree una métrica personalizada. Consulte |
Controlar el agente del navegador
Por lo general, el agente se agrega automáticamente a sus páginas o se implementa copiando y pegando el fragmento de JavaScript. Para obtener más información sobre estos métodos recomendados, consulte Agregar aplicaciones de browser a New Relic.
También puede controlar el agente del browser a través de la API de llamada del agente APM. Para obtener más información, consulte monitoreo del browser y el agente Node.js.
Ampliar la instrumentación personalizada
El newrelic.instrument()
proporciona flexibilidad adicional para instrumentación personalizada. Para obtener más información, incluidos tutoriales y ejemplos, consulte la documentación de corrección en GitHub.
Para agregar instrumentación personalizada en las aplicaciones del módulo ES, consulte nuestra documentación del módulo ES o la aplicación de ejemplo en GitHub.