Zum Hauptinhalt springen
Das AppSignal-für-Elixir-Paket instrumentiert Jobs, die von Oban-Workern ausgeführt werden, und sammelt Metriken zur Performance Ihrer Jobs. Oban ist ein Job-Queueing- und Verarbeitungssystem für Elixir, basierend auf PostgreSQL und Ecto. Sie können Oban verwenden, um Jobs zu planen, die im Hintergrund ausgeführt werden sollen.

Automatische Instrumentierung

Die Oban-Unterstützung wird automatisch instrumentiert und erfordert keine Konfiguration. Um die Oban-Instrumentierung zu deaktivieren, setzen Sie die Konfigurationsoption instrument_oban auf false.
🔎 Die Konfigurationsoption instrument_oban wurde in Version 2.5.1 der AppSignal-für-Elixir-Integration hinzugefügt.

Fehlerberichterstattung

Standardmäßig erstellt die Oban-Instrumentierung ein Fehler-Sample, wenn einer Ihrer Worker einen Job nicht verarbeiten kann, entweder durch Rückgabe eines {:error, _}-Tupels oder durch das Werfen einer Ausnahme. Wenn Sie Fehler nur dann an AppSignal senden möchten, wenn der Fehlschlag dazu führt, dass der Job verworfen wird, d. h. sobald seine maximalen Wiederholungsversuche erreicht sind, setzen Sie die Konfigurationsoption report_oban_errors auf "discard". Setzen Sie sie auf "none", um niemals Oban-Job-Fehler an AppSignal zu senden.
Die Konfigurationsoption report_oban_errors wurde in Version 2.5.1 der AppSignal-für-Elixir-Integration hinzugefügt.Wenn Sie Oban-Version 2.3.1 oder niedriger verwenden, sind die Informationen über den Zustand des Jobs nicht verfügbar, und die Option "discard" verhält sich wie "all".

Performance- und Fehler-Samples

AppSignal erstellt Performance-Samples aus Jobs, die von Ihren Oban-Workern ausgeführt werden: Performance-Sample aus einer Oban-Job-Ausführung Es benachrichtigt auch über Fehler, die dazu führen, dass Ihre Worker einen Job nicht verarbeiten können: Fehler-Sample aus einer Oban-Job-Ausführung Innerhalb der Performance- und Fehler-Samples enthalten die Tags Informationen über den Job:
  • Job-ID, Queue, Worker und Priorität
  • Anzahl früherer Versuche
  • Job-Zustand und Ergebnis nach der Ausführung
Alle Tags oder Metadatenwerte, die dem Job hinzugefügt werden, sind ebenfalls als Tags im Sample vorhanden, sodass Sie die Samples nach einem bestimmten Tag filtern können. Sie können auch sehen, wann ein Oban-Job in der Event-Timeline der Performance-Samples Ihrer Anwendung eingefügt wird: Event-Timeline mit einer Oban-Job-Einfügung
🔎 Einige Funktionen sind nur in bestimmten Oban-Versionen verfügbar:
  • 2.1.0+: Tags
  • 2.3.1+: Metadatenwerte und Job-Priorität
  • 2.4.0+: Job-Zustand nach der Ausführung
  • 2.5.0+: Job-Ergebnis nach der Ausführung
  • 2.11.0+: Job-Einfügungs-Event
Um alle oben beschriebenen Funktionen nutzen zu können, aktualisieren Sie auf die neueste Oban-Version.

Metriken

Zusätzlich zu den Performance- und Fehler-Samples sammelt AppSignal für Elixir Metriken zur Performance Ihrer Oban-Jobs:
  • oban_job_duration: die Dauer der verarbeiteten Jobs, getaggt nach Worker, Queue und Status des Jobs.
  • oban_job_queue_time: die Zeit, die Jobs in der Queue gewartet haben, getaggt nach Queue.
  • oban_job_count: die Anzahl der verarbeiteten Jobs, getaggt nach Worker, Queue und Status des Jobs.
Mit diesen Metriken erstellt AppSignal automatisch das Oban-Magic-Dashboard, das wichtige Einblicke in die Performance Ihres Oban-Systems bietet: Magic Dashboard mit wichtigen Oban-Metriken