bk99.de entertain the web since 1997

Wie Linux-Tracing-Systeme zusammenpassen

Zusammenfassung

Julia Evans ordnet strace, perf, ftrace, kprobes und BPF danach, welche Ereignisse sie beobachten und welchen Aufwand sie verursachen.

Ideen

  • strace protokolliert Systemaufrufe eines Prozesses.
  • perf zählt Hardwareereignisse und erstellt Stichprobenprofile.
  • ftrace verfolgt Funktionen und Ereignisse im Kernel.
  • BPF führt überprüfte Messprogramme an ausgewählten Hooks aus.

Einsichten

  • Das beste Tracing-Werkzeug folgt aus der Frage und dem benötigten Messpunkt.
  • Mehr Sichtbarkeit verursacht unterschiedliche Laufzeitkosten und Datenmengen.
  • Mehrere Werkzeuge können dasselbe Symptom aus verschiedenen Schichten erklären.

Fakten

  • Linux besitzt mehrere unabhängig entstandene Tracing-Subsysteme.
  • kprobes setzt dynamische Messpunkte im Kernel.
  • uprobes ermöglicht entsprechende Messpunkte in Userspace-Programmen.

Empfehlungen

  • Formuliere zuerst Ereignis, Zielprozess und gewünschte Häufigkeit.
  • Miss den Beobachtungsaufwand vor längeren Produktionsaufzeichnungen.

Referenzen

Originalartikel lesen →