Python
Klient dla Django, FastAPI, Flask i skryptów
Oficjalna biblioteka DockRay dla Pythona pozwala zintegrować aplikacje Python z platformą monitoringu DockRay. Umożliwia raportowanie wyjątków i komunikatów oraz monitorowanie czasu obsługi żądań HTTP w aplikacjach opartych na asyncio.
Monitoring błędów i wyjątków
DockRay pozwala raportować przechwycone wyjątki i własne komunikaty bezpośrednio do panelu monitoringu.
Zgłoszone zdarzenia mogą zawierać między innymi:
- typ i treść wyjątku,
- miejsce wystąpienia i stos wywołań,
- informacje o środowisku aplikacji,
- dane potrzebne do analizy problemu.
Operacje raportowania są asynchroniczne i mogą być wykonywane w tle, bez oczekiwania na zakończenie wysyłania zdarzenia.
FastAPI i ASGI
DockRay udostępnia middleware ASGI, który automatycznie monitoruje żądania HTTP i raportuje nieobsłużone wyjątki. Integracja działa z FastAPI, Starlette oraz innymi aplikacjami zgodnymi z ASGI.
Każde monitorowane żądanie może zawierać metodę HTTP, ścieżkę, czas wykonania oraz kod odpowiedzi. Oczekiwane odpowiedzi obsługiwane przez FastAPI, takie jak 404 i 422, są rejestrowane jako transakcje, a nie błędy.
Monitoring wydajności
DockRay mierzy czas obsługi żądań HTTP i pozwala analizować transakcje aplikacji. Możliwe jest również ręczne raportowanie transakcji, na przykład dla zadań wykonywanych w tle.
Bezpieczne raportowanie
Biblioteka została zaprojektowana tak, aby problemy z usługą monitoringu nie wpływały na działanie monitorowanej aplikacji. Błędy sieciowe i odrzucone zdarzenia są zapisywane w loggerze zamiast powodować wyjątki w aplikacji.
Podczas monitorowania żądań wrażliwe nagłówki, takie jak Authorization, Cookie i X-Api-Key, są usuwane z raportowanych danych.
Stworzone dla aplikacji asynchronicznych
DockRay współpracuje z asyncio i pozwala wysyłać zdarzenia w tle. Dzięki temu komunikacja z platformą monitoringu nie musi opóźniać odpowiedzi aplikacji dla użytkownika.
Instalacja
Zainstaluj DockRay za pomocą pip:
pip install dock-ray
Konfiguracja
Utwórz klienta DockRay, podając token projektu i klucz prywatny:
from dock_ray import DockRayClient
client = DockRayClient(
token="project-token",
private_key="project-private-key",
environment="production",
)
Token projektu oraz klucz prywatny znajdziesz w panelu DockRay.
Jeśli klient zostanie utworzony bez danych dostępowych, pozostanie nieaktywny i nie będzie wykonywał żadnych połączeń z platformą monitoringu.
Przy zamykaniu aplikacji wywołaj await client.close(), aby zakończyć oczekujące operacje i zamknąć połączenia.