Skip to main content
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-Trace, 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 eine Oban-Version vor 2.4.0 verwenden, sind die Informationen über den Zustand des Jobs nicht verfügbar, und die Option "discard" verhält sich wie "all".

Performance- und Fehler-Traces

AppSignal erstellt Performance-Traces aus Jobs, die von Ihren Oban-Workern ausgeführt werden: Performance-Trace 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-Trace aus einer Oban-Job-Ausführung Innerhalb der Performance- und Fehler-Traces 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 Trace vorhanden, sodass Sie die Traces nach einem bestimmten Tag filtern können. Sie können auch sehen, wann ein Oban-Job in der Event-Timeline der Performance-Traces Ihrer Anwendung eingefügt wird: Event-Timeline mit einer Oban-Job-Einfügung
🔎 Einige Funktionen sind nur in bestimmten Oban-Versionen verfügbar:
  • 2.2.0+: Tags
  • 2.3.0+: 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-Traces sammelt AppSignal für Elixir Metriken zur Performance Ihrer Oban-Jobs:
  • oban_job_duration: die Dauer der verarbeiteten Jobs, getaggt nach dem Worker des Jobs sowie nach Worker kombiniert mit Zustand oder Hostname.
  • 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 Zustand des Jobs.
Anhand dieser Metriken erstellt AppSignal das Oban Intelligence dashboard, das die folgenden Graphen enthält:
  • Job-Dauer: die mittlere Dauer der Jobs, pro Worker.
  • Wartezeit der Jobs: das 95. Perzentil der Zeit zwischen Planung und Start der Jobs, pro Queue.
  • Abgeschlossene Jobs: die Anzahl erfolgreicher Jobs, pro Worker und Queue.
  • Job-Exceptions: die Anzahl fehlgeschlagener Jobs, pro Worker.
Intelligence dashboard mit wichtigen Oban-Metriken