Sentry : ne ratez plus aucune erreur
Sentry est un outil de monitoring d'erreurs qui capture, agrège et alerte sur les exceptions de votre application en temps réel.
Installation Symfony
composer require sentry/sentry-symfony
Configuration
# config/packages/sentry.yaml
sentry:
dsn: '%env(SENTRY_DSN)%'
options:
environment: '%kernel.environment%'
release: '%env(APP_VERSION)%'
traces_sample_rate: 0.2
profiles_sample_rate: 0.1
Contexte utilisateur
use Sentry\State\Scope;
class SentryUserListener
{
#[AsEventListener(event: KernelEvents::REQUEST)]
public function onRequest(RequestEvent $event): void
{
$user = $this->security->getUser();
if ($user) {
\Sentry\configureScope(function (Scope $scope) use ($user): void {
$scope->setUser([
'id' => $user->getId(),
'email' => $user->getEmail(),
]);
});
}
}
}
Alertes et notifications
- Configurez des alertes Slack pour les nouvelles erreurs
- Définissez des seuils de volume d'erreurs
- Utilisez les traces de performance pour identifier les goulots
- Intégrez avec votre workflow GitHub pour le suivi des correctifs
Performance Monitoring
// Mesurer une opération spécifique
$transaction = \Sentry\startTransaction(['name' => 'process-order']);
\Sentry\configureScope(fn(Scope $scope) => $scope->setSpan($transaction));
$span = $transaction->startChild(['op' => 'db.query']);
// ... requête base de données
$span->finish();
$transaction->finish();