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 registro relacionado
Para ver el registro directamente dentro del contexto de los errores y la traza de su aplicación, utilice la llamada API get_linking_metadata
para anotar su registro. Para obtener más información sobre cómo correlacionar los datos log con otros telemetry data, consulte nuestra documentación de contexto de registro .
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 en su arquitectura o servicio de paso de mensajes; por ejemplo, RabbitMQ. Para utilizar estas llamadas, asegúrese de tener la versión 2.88.0.72 o superior del agente Python.
Si quieres... | Hacer esto... |
---|---|
Informar mensajes como una transacción | Utilice |
Informar detalles del mensaje como segmentos de traza de la transacción | Utilice |
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 frameworkcompatible. Cuando no utilice un framework compatible, deberá utilizar las API distribuidas por rastreo para aceptar manualmente este contexto.
El marco web compatible (por ejemplo, Flask, Django, Tornado) llamará automáticamente accept_distributed_trace_payload
al crear una transacción. La biblioteca de servicios web externos admitidos llamará automáticamente create_distributed_trace_payload
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... |
---|---|
Cree una carga útil para enviarla a un servicio llamado. | Utilice |
Aceptar una carga útil enviada desde el primer servicio; Esto unirá estos servicios en una traza. | Utilice |
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 monitor, use |
Deshabilitar el monitoreo de vistas de páginas específicas | Para deshabilitar el monitoreo del navegador para visitas a páginas específicas, use |