Verificación y problemas habituales - Python

3 min de lectura Actualizado: 11.09.2026

En esta página Un evento controlado
  1. Un evento controlado
  2. Problemas habituales
  3. client.enabled es False aunque las variables estén definidas
  4. Un evento programado con send_later() nunca llegó
  5. HTTPException aparece en el panel como transacción, no como error
  6. Faltan Authorization, Cookie y X-Api-Key en las cabeceras de la petición
  7. No aparece ninguna transacción
  8. Una excepción reportada a mano no llegó
  9. El panel responde 200 pero no aparece el evento
  10. Sigue sin funcionar

Un evento controlado

python
import asyncio
from dock_ray import DockRayClient

async def main():
    client = DockRayClient(token="...", private_key="...")
    await client.capture_message("Mensaje de control DockRay")
    await client.close()

asyncio.run(main())

La llamada es una corrutina: sin await o sin un bucle de eventos en marcha, no se envía nada. Un intérprete con los avisos de corrutinas no esperadas activados lo señala de inmediato como un RuntimeWarning.

Problemas habituales

client.enabled es False aunque las variables estén definidas

Comprueba que el token y la clave privada llegaron al constructor como cadenas no vacías. DockRayClient() sin argumentos es una configuración válida, deliberadamente inactiva, así que una errata en el nombre de una variable de entorno o un os.environ.get(...) olvidado producen exactamente el mismo efecto silencioso. El cliente nunca lee una variable del servidor por sí mismo: a diferencia de las integraciones de PHP, aquí siempre es el código que llama quien aporta las credenciales.

Un evento programado con send_later() nunca llegó

send_later() guarda una referencia a la tarea hasta que termina, pero el propio proceso tiene que seguir vivo hasta entonces. En un script corto que termina justo después de programar el envío, la tarea puede cortarse a mitad de camino. Cierra la aplicación mediante await client.close(): espera a cada envío programado antes de devolver el control.

HTTPException aparece en el panel como transacción, no como error

Eso es intencionado, no un fallo. FastAPI gestiona HTTPException antes de que llegue al middleware de DockRay, así que una petición que termina en 404 o 422 es simplemente una transacción con ese código de estado. Si quieres ver esas respuestas como errores, captúralas con tu propio manejador de excepciones colocado antes del middleware y repórtalas a mano con capture_exception().

El middleware las elimina siempre de los datos reportados, sin importar la configuración: no es algo que se pueda volver a activar. Si necesitas su contenido para diagnosticar algo, revísalo localmente, fuera del panel.

No aparece ninguna transacción

Comprueba si el middleware realmente está añadido (app.add_middleware(DockRayFastAPIMiddleware, ...)) y si la ruta que estás probando está precisamente en la lista exclude_paths. Por defecto omite /health y /metrics.

Una excepción reportada a mano no llegó

Comprueba que la llamada a capture_exception() vaya realmente precedida de await o se pase a send_later(): una corrutina que nadie ejecutó no hace nada, y Python no siempre lo avisa a gritos.

El panel responde 200 pero no aparece el evento

Una respuesta 200 {"success": false} significa que la cuenta ha agotado su cupo mensual de errores. La integración no lo trata como una avería, y hace bien. El cupo se ve en el panel de la cuenta; hasta fin de mes se calcula a partir del consumo registrado, así que borrar errores no lo reinicia.

Sigue sin funcionar

Repasa la lista de comprobación de falta de datos y, si no ayuda, escríbenos. Indica el nombre del proyecto, la versión de la integración y la hora aproximada de la prueba: acorta el camino a la respuesta.

Sigue leyendo

Newsletter DockRay

La seguridad de tus aplicaciones en tu correo

Vulnerabilidades importantes, recomendaciones concretas y consejos prácticos para tus aplicaciones. Elige tus tecnologías y sigue lo que importa para tu proyecto.

  • Un resumen diario de nuevas vulnerabilidades, también las críticas.
  • Avisos sobre actualizaciones importantes.
  • Consejos prácticos sobre seguridad y monitorización de aplicaciones.

Déjalo vacío para recibir avisos de todas las tecnologías.

Suscripción gratuita. Date de baja con un clic en cualquier correo.