La API del agente Python le permite personalizar y ampliar su monitoreo. Utilice la API del agente Python para:
- Instrumente manualmente un framework no compatible o un sistema de terceros.
- Agregue instrumentación para complementar el monitoreo predeterminado del agente.
Este documento describe algunas de las API de llamada de Python disponibles. Para obtener una descripción de todas nuestras API disponibles, consulte Introducción a las API.
Instrumentación personalizada o API
Si su objetivo es la instrumentación personalizada, considere usar el método del archivo de configuración, que le permite agregar funciones y métodos de clase al archivo de configuración que el agente instrumentará automáticamente. El beneficio del método del archivo de configuración es que no requiere que cambie el código de su aplicación.
Sin embargo, la API del agente Python es mucho más poderosa y es mejor para configurar instrumentación más compleja y personalizada. Para asegurarse de tener acceso a la funcionalidad API completa, actualice al último agente de Python.
Monitor transacciones y segmentos
El agente Python es compatible con la mayoría del marco web WSGI común. Si el agente es compatible con su framework, las solicitudes web se capturarán automáticamente como transacciones y se mostrarán en la UI de New Relic. Una transacción también puede tener segmentos a nivel de función que se capturan como parte de una traza de la transacción.
Utilice estos métodos para monitor los segmentos de transacción web, transacción no web y transacción:
Si quieres... | Hacer esto... |
---|---|
Monitor transacciones web WSGI | El agente Python captura automáticamente las transacciones web para el marco compatible. Si no tiene un framework compatible, puede usar la función |
Monitor transacciones web ASGI | El agente Python captura automáticamente las transacciones web para el marco compatible. Si no tiene un framework compatible, puede usar la función |
Monitor transacciones no web | El agente Python clasifica las transacciones no web como tareas en segundo plano. Para capturar transacciones no web, utilice |
Capture más detalles sobre una transacción | Si tu traza de la transacción no tiene el nivel de detalle que deseas:
|
Ignorar una transacción | Utilice cualquiera de estas opciones:
|
Agregar y editar metadatos de transacciones
A veces el código al que apuntas es visible en nuestra UI, pero algunos detalles del método no son útiles. Por ejemplo:
- El nombre predeterminado no es útil o está provocando un problema de agrupación métrica.
- Quieres agregar atributos personalizados a tu transacción para poder filtrarlos al realizar la consulta.
Utilice estas llamadas cuando desee cambiar los metadatos de una transacción existente:
Si quieres... | Hacer esto... |
---|---|
Obtener referencia a la transacción actual | Para devolver un objeto que represente la transacción actual, utilice |
Cambiar el nombre de una transacción | Utilice |
Agregar metadatos (como el nivel de suscripción de un cliente) a la transacción | Agregue un atributo personalizado a su transacción usando |
Marcar una transacción como trabajo en segundo plano | Para convertir una transacción web en una tarea en segundo plano para que aparezca como una transacción no web en la UI, utilice |
Evite que una transacción afecte su puntuación Apdex | Utilice |
Ver log relacionado
Para ver el log directamente dentro del contexto de los errores y la traza de su aplicación, utilice la llamada API get_linking_metadata
para anotar su log. Para obtener más información sobre cómo correlacionar los datos log con otros telemetry data, consulte nuestra documentación de logs en el contexto .
Reporte evento personalizado y métrica datos personalizados
El agente reporta datos en dos formas principales:
- Los datos métricos miden valores numéricos basados en el tiempo; por ejemplo, conexiones por minuto.
- Los datos de eventos capturan información de eventos discreta. evento tienen valor principal atributo adjunto a ellos. Podrás analizar y consultar datos de eventos.
Utilice estos métodos para crear nuevos datos de eventos y nuevos datos métricos:
Si quieres... | Hacer esto... |
---|---|
Envíe datos sobre un evento para utilizarlos al consultar sus datos. | Utilice |
Informe métrico basado en tiempo sobre el rendimiento de la aplicación. |
|
Informar una excepción como un error | De forma predeterminada, el agente Python solo informa excepciones no controladas. Para informar una excepción de Python como error, utilice |
Parámetro de cadena de consulta de informe | Por razones de seguridad, los parámetros de cadena de consulta asociados a la transacción web están deshabilitados de forma predeterminada. Utilice |
Etiqueta evento con metadatos | Para agregar un atributo al evento para consultas más detalladas o análisis de errores, use |
Generar métricas a partir de fuentes de datos y fábricas de datos. | Para generar métricas con una API de estilo pull en lugar de la API de estilo push implementada por |
Llamadas relacionadas con mensajes
Estas API de llamada le permiten recopilar datos de rendimiento sobre su arquitectura o servicio de paso de mensajes; por ejemplo, RabbitMQ. Para emplear estas llamadas, cerciorar de tener la versión del agente Python 2.88.0.72 o superior.
Si quieres... | Hacer esto... |
---|---|
Informar mensajes como una transacción | Utilice |
Informar detalles del mensaje como segmentos de traza de la transacción | Utilice |
Importante
El agente no recopila cola de mensajes parámetro cuando el modo de alta seguridad está habilitado.
Implementar rastreo distribuido
Estas API requieren que rastreo distribuido esté habilitado.
Los servicios y el monitor de aplicaciones de nuestro agente se pasarán automáticamente el contexto de rastreo distribuido entre sí cuando se utilice un framework compatible. Cuando no utilice un framework compatible, deberá utilizar las API distribuidas por rastreo para aceptar manualmente este contexto.
Los marcos sitio web compatibles (por ejemplo, Flask, Django, Tornado) llamarán automáticamente accept_distributed_trace_headers
al crear una transacción. Los servicios sitio web externos compatibles con biblioteca llamarán automáticamente insert_distributed_trace_headers
antes de realizar una llamada HTTP externa.
Para obtener instrucciones generales sobre cómo utilizar las siguientes llamadas para implementar rastreo distribuido, consulte Usar las API de rastreo distribuido.
Si quieres... | Hacer esto... |
---|---|
Crea un encabezado de rastreo distribuido con la carga New Relic que se enviará a un servicio llamado. | |
Aceptar encabezados de rastreo distribuido que contienen la carga New Relic enviada desde el primer servicio; esto vinculará estos servicios en un trazado | Emplee |
Configuración del agente, inicialización, apagado.
Estas llamadas lo ayudan a administrar el comportamiento del agente Python, como inicializar e integrar el agente y hacer referencia a o cambiar los ajustes de configuración :
Si quieres... | Hacer esto... |
---|---|
Inicializar el agente | Para inicializar el agente Python con un archivo de configuración específico como parte del proceso de integración avanzado, utilice |
Obtener una referencia al objeto | El objeto |
Obtener una referencia a los ajustes de configuración | Para controlar el comportamiento del agente Python, puede utilizar los ajustes de configuración.
|
Cerrar el agente | Para cerrar forzosamente el agente en lugar de permitirle realizar el intento final estándar de cargar datos, utilice |
Controlar el monitoreo del agente navegador
Puede instalar el agente de monitoreo de navegador agregándolo automáticamente a sus páginas o implementándolo en páginas específicas copiando y pegando el fragmento de JavaScript del agente . También puede controlar el agente del navegador utilizando la API de llamada del agente APM. Para obtener más información, consulte agente del navegador y el agente Python.
Si quieres... | Hacer esto... |
---|---|
Monitor vistas de páginas específicas | Para inyectar el fragmento de JavaScript del encabezado y pie de página del agente del navegador en las vistas que desea monitorear, emplee |
Deshabilitar el monitoreo de vistas de páginas específicas | Para deshabilitar el monitoreo del navegador para visitas a páginas específicas, use |