Symfony
Bundle para Symfony 6.4+
El paquete oficial de DockRay integra aplicaciones Symfony con la plataforma de monitorización y reporta automáticamente excepciones, errores de comandos de consola y el tiempo de procesamiento de las solicitudes HTTP. Los eventos se envían directamente al panel de DockRay junto con la información necesaria para diagnosticar rápidamente los problemas.
Monitorización de errores y excepciones
DockRay se integra con el mecanismo de gestión de excepciones de Symfony y reporta los errores que se producen durante el procesamiento de las solicitudes HTTP.
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 y la versión de la aplicación,
- el contexto de la solicitud procesada.
Puedes excluir determinadas clases de excepciones del reporte, por ejemplo, los errores 404 generados por NotFoundHttpException.
Monitorización del rendimiento
El paquete puede monitorizar el tiempo de procesamiento de las solicitudes HTTP principales y enviar las transacciones a DockRay. La frecuencia de recopilación de datos puede controlarse mediante una tasa de muestreo.
Determinadas rutas, como el profiler de Symfony, pueden excluirse de la monitorización del rendimiento.
Comandos de consola
DockRay también puede reportar errores de los comandos de Symfony Console. Los eventos se etiquetan con el nombre del comando, lo que facilita el diagnóstico de problemas que se producen fuera de las solicitudes HTTP estándar.
Contexto del usuario y privacidad
Si la aplicación utiliza el componente Symfony Security, DockRay puede incluir opcionalmente en los eventos información sobre el usuario que ha iniciado sesión. El envío de la dirección IP y del user agent se controla mediante un ajuste independiente.
Opciones para desarrolladores
El Hub de DockRay está disponible como servicio de Symfony y puede inyectarse en tus propias clases. Esto permite reportar manualmente las excepciones capturadas desde cualquier parte de la aplicación.
La integración también es compatible con procesos de larga duración y workers, utilizando una única instancia del cliente de DockRay durante toda la ejecución del proceso.
Instalación
Instalación del paquete
Instala DockRay mediante Composer:
composer require dockcodes/dock-ray-symfony
Si el proyecto utiliza Symfony Flex, el bundle se registrará automáticamente.
Si el proyecto no utiliza Symfony Flex, añade el bundle manualmente en el archivo config/bundles.php:
<?php
return [
// ...
Dock\Ray\Symfony\RayBundle::class => ['all' => true],
];
Configuración
Crea o completa el archivo config/packages/ray.yaml:
ray:
token: '%env(RAY_TOKEN)%'
private_key: '%env(RAY_PRIVATE_KEY)%'
traces_sample_rate: 0.2
ignore_exceptions:
- Symfony\Component\HttpKernel\Exception\NotFoundHttpException
A continuación, añade las credenciales del proyecto de DockRay al archivo .env:
RAY_TOKEN=project-token
RAY_PRIVATE_KEY=project-private-key
Encontrarás el token del proyecto y la clave privada en el panel de DockRay. Sin estos valores, el bundle se cargará, pero no enviará ningún dato.
El resto de los ajustes permiten configurar, entre otras cosas, el entorno, la versión de la aplicación, el muestreo de errores y transacciones, los datos del usuario, así como las excepciones y rutas que deben excluirse de la monitorización.