Python
Cliente para Django, FastAPI, Flask y scripts
La biblioteca oficial de DockRay para Python permite integrar aplicaciones Python con la plataforma de monitorización DockRay. Permite reportar excepciones y mensajes, así como monitorizar el tiempo de procesamiento de las solicitudes HTTP en aplicaciones basadas en asyncio.
Monitorización de errores y excepciones
DockRay permite reportar excepciones capturadas y mensajes personalizados directamente al panel de monitorización.
Los eventos reportados pueden incluir, entre otros datos:
- el tipo y el contenido de la excepción,
- el lugar donde se produjo y el stack trace,
- información sobre el entorno de la aplicación,
- datos necesarios para analizar el problema.
Las operaciones de reporte son asíncronas y pueden ejecutarse en segundo plano, sin necesidad de esperar a que finalice el envío del evento.
FastAPI y ASGI
DockRay proporciona un middleware ASGI que monitoriza automáticamente las solicitudes HTTP y reporta las excepciones no controladas. La integración funciona con FastAPI, Starlette y otras aplicaciones compatibles con ASGI.
Cada solicitud monitorizada puede incluir el método HTTP, la ruta, el tiempo de ejecución y el código de respuesta. Las respuestas esperadas gestionadas por FastAPI, como 404 y 422, se registran como transacciones y no como errores.
Monitorización del rendimiento
DockRay mide el tiempo de procesamiento de las solicitudes HTTP y permite analizar las transacciones de la aplicación. También es posible reportar transacciones manualmente, por ejemplo, para tareas ejecutadas en segundo plano.
Reporte seguro
La biblioteca está diseñada para que los problemas con el servicio de monitorización no afecten al funcionamiento de la aplicación monitorizada. Los errores de red y los eventos rechazados se registran en el logger en lugar de provocar excepciones en la aplicación.
Al monitorizar solicitudes, los encabezados sensibles, como Authorization, Cookie y X-Api-Key, se eliminan de los datos reportados.
Diseñada para aplicaciones asíncronas
DockRay funciona con asyncio y permite enviar eventos en segundo plano. De este modo, la comunicación con la plataforma de monitorización no tiene por qué retrasar la respuesta de la aplicación al usuario.
Instalación
Instala DockRay mediante pip:
pip install dock-ray
Configuración
Crea un cliente de DockRay proporcionando el token del proyecto y la clave privada:
from dock_ray import DockRayClient
client = DockRayClient(
token="project-token",
private_key="project-private-key",
environment="production",
)
Encontrarás el token del proyecto y la clave privada en el panel de DockRay.
Si el cliente se crea sin credenciales, permanecerá inactivo y no establecerá ninguna conexión con la plataforma de monitorización.
Al cerrar la aplicación, ejecuta await client.close() para finalizar las operaciones pendientes y cerrar las conexiones.