Das AppSignal-für-Elixir-Paket integriert sich mit Phoenix. Um die
Integration einzurichten, folgen Sie bitte unserem Installationsleitfaden.
Diese Seite beschreibt weitere Möglichkeiten zur Konfiguration von AppSignal für das Phoenix-
Framework. Um Ihrer Phoenix-Anwendung weitere benutzerdefinierte Instrumentierung
hinzuzufügen, lesen Sie die Elixir-
Instrumentierungs-Dokumentation.
Weitere Informationen finden Sie in der AppSignal-Hex-Paket-
Dokumentation.
Installation
- Die AppSignal-Instrumentierung für Phoenix ist Teil eines
separaten Pakets, das vom primären
appsignal-Paket abhängt. Fügen Sie das Paket appsignal_phoenix zu Ihrer mix.exs-Datei hinzu.
- Führen Sie dann
mix deps.get aus.
- Führen Sie dann
mix appsignal.install YOUR_PUSH_API_KEY aus.
Nach der Installation und Konfiguration startet das AppSignal-für-Phoenix-Paket automatisch mit der Instrumentierung von HTTP-Anfragen, was bedeutet, dass keine weitere Einrichtung erforderlich ist.
Um tiefere Einblicke zu erhalten, kann AppSignal so eingerichtet werden, dass es Channels und Live-Views instrumentiert.
Channels
Channel-Instrumentierung mit dem Handle eines Channels
Eingehende Channel-Anfragen können instrumentiert werden, indem der Code in Ihren
handle_in/3-Funktionen mit Appsignal.Phoenix.Channel.instrument/5 umschlossen wird:
Alternativ können Sie Funktions-Decoratoren verwenden, um Channels zu instrumentieren. Obwohl
weniger flexibel als die Instrumentierungsfunktion, minimieren Decoratoren die Menge an
Code, die Sie zu den Channels Ihrer Anwendung hinzufügen müssen.
Channel-Events werden unter dem Tab „Background jobs“ angezeigt und zeigen das
Channel-Modul und das Action-Argument, das Sie eingegeben haben.
LiveView
Es gibt zwei verschiedene Möglichkeiten, Live-Views zu instrumentieren. Sie können entweder unsere
automatischen Telemetry-Handler verwenden oder Sie können Ihre Live-View-Handler manuell mit unseren Helferfunktionen instrumentieren.
Automatische Telemetry-Handler
Hinweis: Die LiveView-Telemetry-Integration ist ab AppSignal-für-
Phoenix-Version 2.1.0 verfügbar.
Die LiveView-Telemetry-Integration von AppSignal instrumentiert automatisch LiveView-Events.
Um sie einzurichten, rufen Sie Appsignal.Phoenix.LiveView.attach/0 auf, um die LiveView-Telemetry-Handler anzuhängen.
Wir empfehlen, diese Funktion in der application.ex Ihrer App aufzurufen:
AppSignal instrumentiert nun automatisch alle mount-, handle_event- und handle_param-Events unter dem live_view-Namespace, was bedeutet, dass Sie sowohl Performance- als auch Fehlereinblicke in Ihre Live-Views erhalten.
Manuelle Helferfunktionen
Wenn Sie die automatische Telemetry-Instrumentierung oben bereits konfiguriert haben,
müssen Sie Ihre Live-View-Handler nicht manuell instrumentieren.
Hinweis: Die LiveView-Helferfunktionen sind ab AppSignal-für-
Elixir-Version 1.13.0 verfügbar.
Eine LiveView-Action kann auch manuell instrumentiert werden, indem ihr Inhalt in einen
Appsignal.Phoenix.LiveView.instrument/4-Block eingewickelt wird.
Bei einer Live-View, die ihren eigenen Zustand jede Sekunde aktualisiert, können wir
AppSignal-Instrumentierung hinzufügen, indem wir sowohl die Funktionen mount/2 als auch handle_info/2
mit einem Appsignal.Phoenix.LiveView.instrument/4-Aufruf umschließen:
Der Aufruf einer dieser Funktionen in Ihrer App erstellt jetzt automatisch ein
Sample, das an AppSignal gesendet wird. Diese werden unter dem :live_view-Namespace angezeigt.
Instrumentierung für eingebundene Plugs
Ausnahmen in eingebundenen Plugs werden automatisch von AppSignal abgefangen, aber
Performance-Samples müssen manuell mit den benutzerdefinierten Instrumentierungs-
Helfern oder Decoratoren eingerichtet werden. Weitere Informationen finden Sie in der
Plug-
Dokumentation.
Benutzerdefinierte Instrumentierung
Fügen Sie benutzerdefinierte Instrumentierung hinzu, um
komplexeren Code zu verfolgen und vollständigere Aufschlüsselungen langsamer
Anfragen zu erhalten.