2 visitas

Monitorear tus apps: el superpoder que todo dev freelance debería tener 🚀

Cuando trabajás como freelance, el tiempo de respuesta ante un problema **puede ser la diferencia entre un cliente feliz y uno buscando otro proveedor**. En mi experiencia, el **monitoreo en tiempo real** se convirtió en uno de mis mayores aliados. Gracias a él, detecto y resuelvo errores antes incluso de que el cliente los note. Uno de mis favoritos para esto es **Sentry**, especialmente por su integración con **Laravel** y el soporte directo desde **Forge**. Con la capa gratuita, puedo monitorear excepciones en al menos **10 sitios**… y créeme, eso ya es mucho.

📌 ¿Por qué monitorear tus apps?

Monitorear no es solo “loggear errores”. Es tener una central de control que te dice:

  • Qué pasó
  • Cuándo pasó
  • En qué usuario o request ocurrió
  • Qué contexto tenía la aplicación en ese momento

Esto significa que puedo recibir una notificación en segundos después de una excepción crítica y actuar de inmediato. En muchos casos, el cliente nunca se entera de que algo falló… porque ya lo corregí antes de que llegara a su inbox o teléfono.


🛠 Integrando Sentry con Laravel

Sentry se integra en minutos y sin grandes dolores de cabeza. Ejemplo de instalación y configuración:

composer require sentry/sentry-laravel
php artisan vendor:publish --tag="sentry-config"

En el archivo .env:

SENTRY_LARAVEL_DSN="https://mi-token@o123456.ingest.sentry.io/789123"
SENTRY_TRACES_SAMPLE_RATE=0.5
SENTRY_PROFILES_SAMPLE_RATE=1.0

Y en app/Exceptions/Handler.php, podés enviar excepciones manualmente cuando necesites control extra:

<?php

namespace App\Exceptions;

use Throwable;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Sentry\State\HubInterface;

class Handler extends ExceptionHandler
{
    public function register(): void
    {
        $this->reportable(function (Throwable $e) {
            if (app()->bound(HubInterface::class)) {
                app(HubInterface::class)->captureException($e);
            }
        });
    }
}

Esto asegura que cualquier excepción —incluyendo las que capturás manualmente— llegue a Sentry.


💡 Tips para optimizar el monitoreo

Tip Descripción Beneficio
Filtrar excepciones Evitá enviar errores triviales o esperados Reducís ruido y ahorrás cuota en plan gratuito
Agregar contexto Adjuntá datos del usuario, request y variables Acelera la resolución de problemas
Configurar alertas inteligentes Notificaciones solo para errores críticos o repetitivos No saturar tu bandeja
Usar breadcrumbs Registrar eventos previos al error Permite entender la secuencia que llevó al fallo
Integrar con Forge Activá Sentry directamente desde Forge Menos fricción en despliegues

Ejemplo de agregar contexto extra en Laravel:

app(HubInterface::class)->configureScope(function (\Sentry\State\Scope $scope) use ($user, $request) {
    $scope->setUser(['id' => $user->id, 'email' => $user->email]);
    $scope->setExtra('url', $request->fullUrl());
    $scope->setExtra('payload', $request->all());
});

✅ Pros y ❌ Contras de Sentry

Pros Contras
Integración muy simple con Laravel Plan gratuito con límite mensual de eventos
Contexto detallado de cada excepción Puede ser demasiado si solo querés un log básico
Alertas en tiempo real Requiere conexión a internet estable
Excelente visualización y búsqueda de errores No es ideal para métricas de rendimiento profundas (usar APM para eso)
Integración directa con Forge Algunas features avanzadas son solo en planes pagos

📌 Conclusiones

Si trabajás como freelance o en un equipo pequeño, monitorear tus apps no es opcional. Es la forma de mantener el control, reaccionar rápido y demostrar profesionalismo. En mi caso, Sentry me ha permitido resolver problemas antes de que el cliente siquiera los detecte, ahorrando tiempo, dinero y estrés.

Con la capa gratuita, podés monitorear múltiples proyectos y ganar visibilidad total sobre lo que pasa en tus desarrollos. Si todavía no lo usás, probalo en tu próximo proyecto y vas a notar la diferencia desde el primer error.


📖 Glosario

  • Sentry: Plataforma para monitoreo y seguimiento de errores en tiempo real.
  • Forge: Herramienta para desplegar y gestionar servidores PHP/Laravel.
  • Breadcrumbs: Eventos registrados antes de un error, útiles para reconstruir el contexto.
  • DSN (Data Source Name): URL con credenciales que conecta tu app con Sentry.
  • APM (Application Performance Monitoring): Monitoreo de rendimiento de aplicaciones.
Monitorear tus apps: el superpoder que todo dev freelance debería tener 🚀
14 August 2025

Me dedico a crear soluciones web eficientes y a compartir mi conocimiento con la comunidad de desarrolladores.

Alejandro Leone
Backend Developer