Symfony
Bundle para Symfony 6.4+
Para qué sirve
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.
Cómo usarlo
La integración informa de las excepciones por sí sola. Esto es para los informes que envías a propósito.
<?php
use Dock\Ray\State\HubInterface;
final class ImportService
{
public function __construct(private HubInterface $ray) {
}
public function import(): void
{
try {
$this->run();
} catch (\Throwable $exception) {
$this->ray->captureException($exception);
throw $exception;
}
}
}
Artículos de la base de conocimiento
Otras integraciones
Todas las integracionesPlugin para WordPress y WooCommerce
Ver integraciónMódulo para PrestaShop 1.7.8+, 8.x y 9.x
Ver integraciónPlugin para Joomla 4, 5 y 6
Ver integraciónMódulo para Drupal 10.2+ y 11
Ver integraciónMódulo para Magento 2.4 y Adobe Commerce
Ver integraciónPaquete para Laravel 10+
Ver integraciónBiblioteca para aplicaciones PHP
Ver integraciónCliente para Django, FastAPI, Flask y scripts
Ver integraciónEmpieza a monitorizar
Conecta tu primera aplicación y obtén una visión completa de lo que ocurre en producción.