Symfony
Bundle dla Symfony 6.4+
Oficjalna paczka DockRay integruje aplikacje Symfony z platformą monitoringu i automatycznie raportuje wyjątki, błędy komend konsolowych oraz czas obsługi żądań HTTP. Zdarzenia trafiają bezpośrednio do panelu DockRay wraz z informacjami potrzebnymi do szybkiej diagnostyki problemów.
Monitoring błędów i wyjątków
DockRay integruje się z mechanizmem obsługi wyjątków Symfony i raportuje błędy występujące podczas obsługi żądań HTTP.
Zgłoszone zdarzenia mogą zawierać między innymi:
- typ i treść wyjątku,
- miejsce wystąpienia i stos wywołań,
- informacje o środowisku i wersji aplikacji,
- kontekst obsługiwanego żądania.
Wybrane klasy wyjątków można wykluczyć z raportowania, na przykład błędy 404 generowane przez NotFoundHttpException.
Monitoring wydajności
Paczka może monitorować czas obsługi głównych żądań HTTP i przesyłać transakcje do DockRay. Częstotliwość zbierania danych można kontrolować za pomocą współczynnika próbkowania.
Wybrane ścieżki, takie jak profiler Symfony, mogą być pomijane podczas monitorowania wydajności.
Komendy konsolowe
DockRay może również raportować błędy komend Symfony Console. Zdarzenia są oznaczane nazwą komendy, co ułatwia diagnozowanie problemów występujących poza standardowymi żądaniami HTTP.
Kontekst użytkownika i prywatność
Jeżeli aplikacja korzysta z komponentu Symfony Security, DockRay może opcjonalnie dołączać do zdarzeń informacje o zalogowanym użytkowniku. Przesyłanie adresu IP i user agenta jest kontrolowane osobnym ustawieniem.
Możliwości dla programistów
Hub DockRay jest dostępny jako serwis Symfony i może być wstrzykiwany do własnych klas. Pozwala to ręcznie raportować przechwycone wyjątki z dowolnego miejsca aplikacji.
Integracja obsługuje również długotrwałe procesy i workery, wykorzystując jedną instancję klienta DockRay przez cały czas działania procesu.
Instalacja
Instalacja paczki
Zainstaluj DockRay za pomocą Composer:
composer require dockcodes/dock-ray-symfony
Jeśli projekt korzysta z Symfony Flex, bundle zostanie zarejestrowany automatycznie.
W przypadku projektu bez Symfony Flex dodaj bundle ręcznie w pliku config/bundles.php:
<?php
return [
// ...
Dock\Ray\Symfony\RayBundle::class => ['all' => true],
];
Konfiguracja
Utwórz lub uzupełnij plik 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
Następnie dodaj dane projektu DockRay do pliku .env:
RAY_TOKEN=project-token
RAY_PRIVATE_KEY=project-private-key
Token projektu oraz klucz prywatny znajdziesz w panelu DockRay. Bez tych wartości bundle zostanie załadowany, ale nie będzie wysyłał żadnych danych.
Pozostałe ustawienia pozwalają między innymi skonfigurować środowisko, wersję aplikacji, próbkowanie błędów i transakcji, dane użytkownika oraz wyjątki i ścieżki pomijane podczas monitorowania.