Verificación y problemas habituales - Laravel
Un evento de prueba controlado
php artisan tinker --execute="\Dock\Ray\Laravel\Ray::message('Mensaje de control DockRay');"
El mensaje debería aparecer en el panel, en la sección Errores del proyecto al que apunta el token. Revisa el entorno y la hora: el entorno viene de RAY_ENVIRONMENT o, si no está, de APP_ENV.
Para comprobar la captura automática, provoca una excepción no gestionada desde una ruta temporal en un entorno de pruebas. Borra esa ruta cuando la prueba salga bien: las llamadas siguientes incrementan el contador de un error artificial y consumen el cupo mensual.
Problemas habituales
No llega nada al panel
Comprueba en orden: si RAY_TOKEN y RAY_PRIVATE_KEY están definidos y pertenecen al mismo proyecto, si sigue vigente un config:cache antiguo (ejecuta php artisan config:clear tras cambiar .env), si la clave ha sido revocada en el panel y si el servidor permite HTTPS saliente.
Las excepciones no se notifican aunque la prueba funcione
Lo más frecuente es que falte el enganche reportable(). Comprueba también si la excepción está en ray.ignore_exceptions o en la propia lista dontReport de Laravel: ValidationException y HttpException se omiten por defecto, y así debe ser.
Faltan transacciones
Dos causas independientes: ray.traces_sample_rate a 0, o el middleware TrackTransaction ausente del grupo. El token y la clave por sí solos no activan la medición.
La lista de transacciones se ha partido en miles de filas
Una transacción toma su nombre del patrón de la ruta, así que esa imagen significa que la ruta está declarada sin parámetro: por ejemplo registrada en un bucle sobre identificadores o servida por un único Route::any('{path}'). Corrige la definición de la ruta, no el panel.
Los errores de cola llegan pero sin transacciones
Es lo previsto: las colas y los comandos de Artisan se ejecutan fuera de la pila de middleware HTTP, así que notifican errores y no generan transacciones.
Un worker de cola no recoge un cambio de configuración
El hub es un singleton para todo el proceso y un worker lee la configuración al arrancar. Después de cambiar .env o config/ray.php, reinicia los workers (php artisan queue:restart).
Un mismo error se parte en muchas entradas
El panel agrupa por la huella sha256(token del proyecto + tipo + mensaje). Un mensaje con el identificador de un registro incrustado parte un error en mil filas. Lleva la parte variable al contexto o a las etiquetas.
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.