Índice de contenido
- ¿Qué es Laravel Debugbar y para qué sirve realmente?
- Cuándo usarla y cuándo evitarla
- Cómo instalar Laravel Debugbar paso a paso
- Cómo activar o desactivar Laravel Debugbar correctamente
- Activar o desactivar desde código
- Archivos generados y comportamiento inicial tras la instalación
- Depuración en Inertia con Inertia DevTools
- Monitoreo de peticiones e inspección de rutas
- Inspección de componentes y transferencia de datos (Props)
- Activación de la extensión
- Buenas prácticas para evitar subir Debugbar a producción
- Secciones clave de Laravel Debugbar
- Ejemplos prácticos de uso (casos reales de desarrollo)
- Laritor: Monitorea un proyecto en Laravel - Requests, Queries, Jobs, Logs...
- Métricas y Panel de Control
- Modelo de Servicio y Planes
- Preguntas frecuentes sobre Laravel Debugbar (FAQ)
- Conclusión
Si desarrollas con Laravel, tarde o temprano te encuentras revisando queries, midiendo tiempos de respuesta, cazando un N+1 o simplemente tratando de entender qué está pasando en segundo plano — incluso para auditar cada operación CRUD ejecutada por Eloquent. Para todo eso, Laravel Debugbar es de esos paquetes que te salvan el día sin pedir nada a cambio: una barra visual, directa y sin burocracia, que se activa al instante y te revela todo lo que ocurre en cada petición HTTP.
En mi caso, la primera vez que lo instalé apareció de inmediato sin tocar nada, y eso me permitió revisar al momento qué consultas se estaban ejecutando y cuánto tardaban. Desde entonces, lo tengo en todos mis entornos de desarrollo sin excepción.
Nos quedamos en que conocemos cómo importar o exportar documentos Excel en Laravel
¿Qué es Laravel Debugbar y para qué sirve realmente?
Laravel Debugbar es una herramienta de depuración visual que muestra información clave sobre la petición HTTP actual: consultas SQL ejecutadas, tiempo total de ejecución, excepciones capturadas, rutas resueltas, vistas renderizadas, logs de aplicación y mucho más. Piensa en ella como una ventana transparente al interior de tu aplicación — todo lo que antes estaba oculto ahora queda expuesto de un vistazo.
Principales ventajas frente a la depuración tradicional:
- Ves las queries en tiempo real y sabes exactamente cuántas se ejecutan por petición.
- Puedes detectar un problema N+1 en segundos, sin añadir logs manuales.
- Te permite validar rutas, middleware, vistas y datos de forma centralizada.
- Monitorea tiempos y rendimiento de forma visual, sin instrumentación adicional.
- No requiere configuración compleja: instala y funciona.
Cuando lo uso en proyectos grandes, lo que más agradezco es que saca a la luz todo lo que pasa "por detrás", incluso cosas que normalmente ignoraría: una consulta de sesión extra, un evento que se dispara de forma inesperada o un middleware que se ejecuta dos veces.
Cuándo usarla y cuándo evitarla
Úsala en desarrollo siempre, sin dudarlo.
Evítala en producción… salvo casos extremadamente controlados y de corta duración. En ese escenario, preferiría Laravel Telescope, que está pensado precisamente para entornos productivos.
Cómo instalar Laravel Debugbar paso a paso
El paquete es un imprescindible al desarrollar en Laravel. Desde él podemos inspeccionar qué consultas a la base de datos se están realizando, cuántas hay por petición, el tiempo de respuesta del servidor y mucho más. El repositorio oficial es:
https://github.com/barryvdh/laravel-debugbar
$ composer require barryvdh/laravel-debugbar --devLa flag
--devgarantiza que el paquete solo se instale en dependencias de desarrollo y no llegue a producción. En mi experiencia, apenas terminé de instalarlo y recargué la app, la barra apareció "así de gratis" sin tocar ningún archivo de configuración.
Una vez instalado, veremos algo similar a esto en la parte inferior del navegador:
Cómo activar o desactivar Laravel Debugbar correctamente
Para habilitar o deshabilitar la barra, la forma más limpia es usar la variable de entorno en tu archivo .env (por defecto aparece habilitada cuando APP_DEBUG=true):
DEBUGBAR_ENABLED=true # para habilitar
DEBUGBAR_ENABLED=false # para deshabilitarTambién puedes controlarla directamente desde el código PHP cuando necesites activarla o desactivarla de forma condicional durante una petición específica:
Activar o desactivar desde código
\Debugbar::enable();
\Debugbar::disable();Archivos generados y comportamiento inicial tras la instalación
Debugbar introduce un archivo de configuración en config/debugbar.php que puedes publicar con php artisan vendor:publish si necesitas personalizarlo. Por defecto, se activa de forma automática en cuanto detecta que APP_DEBUG está en true. Personalmente, creo que debería venir deshabilitada por defecto, pero entiendo que el autor lo hace para que el desarrollador pruebe la barra de inmediato sin fricción.
Depuración en Inertia con Inertia DevTools
Inertia DevTools es una extensión de navegador que ofrece un panel de herramientas dedicado para depurar aplicaciones construidas con Inertia.js de manera eficiente. Existen varias extensiones similares en el mercado, por lo que es importante asegurarse de instalar la versión oficial o la recomendada por la comunidad de Inertia.
https://chromewebstore.google.com/detail/inertiajs-devtools/cbaffpghpcbmgbnlpamegieokkpdlnih
Para garantizar su funcionamiento correcto, el primer requisito es mantener las dependencias del proyecto totalmente actualizadas. En proyectos creados meses atrás —por ejemplo, durante las primeras versiones de Inertia 3 o Laravel 13— es indispensable ejecutar un composer update seguido de un npm run build para actualizar tanto los paquetes del backend como los assets del frontend.
Sin esta actualización previa, la extensión puede presentar fallos de detección o simplemente no activarse.
Monitoreo de peticiones e inspección de rutas
Una vez activa, la herramienta comienza a registrar todas las solicitudes realizadas por la aplicación, para verlas, abre las herramientas de desarrolladores de Google Chrome con F12 y busca la pestaña de Inertia.
Entre sus funciones principales, permite filtrar la actividad según el tipo de petición:
- HTTP convencionales: Solicitudes estándar de navegación entre páginas.
- Peticiones consecutivas (
poll): Consultas periódicas ejecutadas en segundo plano, típicas de componentes que se actualizan automáticamente. - Navegación inicial (
initial): La carga completa del documento al ingresar por primera vez a la aplicación, donde Inertia inyecta el estado inicial en la página.
Al seleccionar una petición dentro de la herramienta, se puede examinar la traza completa de ejecución en Laravel: desde la resolución de la ruta y los controladores asignados, hasta los middlewares involucrados en la solicitud.
Inspección de componentes y transferencia de datos (Props)
A diferencia del panel Network nativo del navegador, Inertia DevTools organiza la información estructurada que se transfiere directamente al frontend. Al inspeccionar la vista de un listado o de un detalle, la extensión permite revisar los datos pasados a través de las props del componente de Vue, React o Svelte:
- Estructura de la paginación y colecciones de datos.
- Filtros aplicados y categorías cargadas.
- Información global inyectada mediante middlewares (como datos de sesión, usuario autenticado o carritos de compra compartidos vía
Inertia::share()). - Estado HTTP de la respuesta, identificando rápidamente errores
400o500.
Activación de la extensión
El uso de la herramienta es sumamente intuitivo. Tras su instalación en el navegador, se añade un icono en el panel de herramientas de desarrollo (similar a las Vue DevTools). Al detectar que la página inspeccionada utiliza Inertia, la extensión se habilita automáticamente desplegando todo el panel de diagnóstico de la sesión actual.
En resumen, la extensión es bastante útil para cuando estes desarrollando la aplicación y puedas ver lo que está pasando en cada momento.
Buenas prácticas para evitar subir Debugbar a producción
- Agrega
DEBUGBAR_ENABLED=falseen tu.envde producción. - Nunca incluyas configuraciones personalizadas de Debugbar en el caché de configuración (
config:cache) si vas a desplegar a producción. - Adopta la regla mental: "si está habilitada en producción, puede romper la vista o exponer datos sensibles".
- Instálalo siempre con la flag
--devpara que Composer lo excluya automáticamente del autoload de producción.
Secciones clave de Laravel Debugbar
- Queries: detectar N+1, número de consultas y tiempos
- Aquí es donde paso más tiempo. Debugbar lista todas las consultas SQL que se ejecutan en la petición, con su tiempo individual y la traza de origen. Una vez trabajando en un proyecto grande, noté un incremento absurdo de queries por página. Al abrir Debugbar vi un N+1 que se había colado en un componente Livewire — me ahorró horas de búsqueda.
- Timeline: medir rendimiento en cada petición
- Mide los tiempos de cada fase del ciclo de vida de la petición. Sirve para detectar cuellos de botella, cargas duplicadas o eventos que tardan más de lo esperado.
- Views: carga de plantillas y datos inyectados
- Si algo no cuadra en tu template Blade, aquí puedes ver exactamente qué variables está recibiendo la vista en tiempo de renderizado.
- Exceptions: errores capturados al vuelo
- Si algo revienta durante la petición, Debugbar lo captura con el stack trace limpio, sin necesidad de abrir los logs del servidor.
- Routes: rutas ejecutadas y middlewares aplicados
- Perfecto para validar qué
routeestá manejando la petición y qué middlewares se aplicaron. Me ha ayudado más de una vez cuando un middleware bloqueaba accidentalmente un flujo de autenticación.
- Perfecto para validar qué
- Mensajes personalizados, logs y eventos
- Puedes enviar mensajes personalizados a Debugbar directamente desde tu código PHP:
\Debugbar::info("Probando debug"); \Debugbar::warning("Algo sospechoso aquí"); \Debugbar::error("Esto no debería ocurrir");
Ejemplos prácticos de uso (casos reales de desarrollo)
- Detectando un problema N+1
- Cada vez que veo un número de queries mayor de lo esperado, abro Debugbar y la consulta repetida aparece inmediatamente. La solución suele ser añadir un
with()en el query Eloquent para hacer eager loading de las relaciones.
- Cada vez que veo un número de queries mayor de lo esperado, abro Debugbar y la consulta repetida aparece inmediatamente. La solución suele ser añadir un
- Analizando rendimiento en proyectos grandes
- Cuando hice pruebas de rendimiento en un proyecto complejo, Debugbar fue mi herramienta principal: timeline completo, eventos del framework, consultas individuales, rutas resueltas y vistas renderizadas, todo en un solo panel.
- Validando que una ruta devuelve lo esperado
- Si alguna ruta no responde como debería, el panel de rutas y de vistas te da la respuesta de inmediato: qué controlador se ejecutó, qué middleware intervino y qué datos llegaron a la vista.
Laritor: Monitorea un proyecto en Laravel - Requests, Queries, Jobs, Logs...
Laritor es un paquete y servicio diseñado para medir y monitorear en tiempo real la actividad y el rendimiento de aplicaciones desarrolladas en Laravel. El cliente que se instala en el proyecto es de código abierto, mientras que la interfaz gráfica y el panel de control (dashboard) se gestionan a través de un servicio externo.
Métricas y Panel de Control
La interfaz del servicio centraliza múltiples indicadores clave para la supervisión continua del sistema:
- Rendimiento general: Análisis de peticiones HTTP, tiempos de respuesta y volumen de tráfico semanal.
- Gestión de errores: Detección y registro de excepciones del sistema y páginas no encontradas (errores 404).
- Actividad del sistema: Seguimiento de sesiones de usuario activas, comandos de Artisan ejecutados y tareas en segundo plano (jobs y colas de procesamiento).
- Usuarios autenticados: Métricas sobre el total de accesos e interacción de los usuarios registrados.
Modelo de Servicio y Planes
El uso de la plataforma se ofrece mediante planes de suscripción que definen la cantidad mensual de eventos procesados (por ejemplo, 300.000 eventos) y el tiempo de retención de datos (como 14 días). Esto permite supervisar aplicaciones en producción sin necesidad de desplegar ni mantener una infraestructura propia de monitoreo.
Preguntas frecuentes sobre Laravel Debugbar (FAQ)
- ¿Por qué no aparece Laravel Debugbar?
- Generalmente porque tienes
DEBUGBAR_ENABLED=falseen tu.env, porqueAPP_DEBUG=false, o porque estás en un entorno de producción donde se deshabilita automáticamente.
- Generalmente porque tienes
- ¿Consume muchos recursos?
- En desarrollo sí puede añadir un pequeño overhead por petición, pero nada alarmante. Para benchmarks reales de rendimiento, desactívala temporalmente con
DEBUGBAR_ENABLED=false.
- En desarrollo sí puede añadir un pequeño overhead por petición, pero nada alarmante. Para benchmarks reales de rendimiento, desactívala temporalmente con
- ¿Puedo usarlo en producción?
- No es recomendable. Puede exponer información sensible de tu aplicación (queries, rutas internas, variables de entorno). Para monitoreo en producción, la herramienta adecuada es Laravel Telescope.
- ¿Debugbar o Telescope?
- Debugbar para desarrollo rápido y feedback visual inmediato; Telescope para análisis profundo, historial de peticiones y monitoreo en staging o producción controlada.
- ¿Qué pestaña es la más útil?
- Queries, sin duda. Es donde más problemas de rendimiento se detectan. La pestaña Timeline también es oro puro cuando el problema no está en las consultas sino en el ciclo de vida de la petición.
Conclusión
Laravel Debugbar es una herramienta imprescindible en cualquier entorno de desarrollo con Laravel. Te permite entender qué hace realmente tu aplicación en cada petición, detectar errores que ni sabías que existían y optimizar tiempos sin necesidad de instrumentación adicional. Para mí es de esas utilidades que instalo por puro reflejo cada vez que arranco un nuevo proyecto.
Siguiente paso: aprende a desplegar tu aplicación Laravel en un servidor Apache.