6 Punkte von GN⁺ 2024-07-04 | Noch keine Kommentare. | Auf WhatsApp teilen
  • 0x.tools ist eine Sammlung von Open-Source-Dienstprogrammen zur Analyse der Anwendungsperformance unter Linux
  • Ziel sind einfache Bereitstellung und minimale Abhängigkeiten, um Reibungsverluste bei der Fehlersuche im System zu verringern
  • Es sind weder OS-Upgrades noch die Installation von Kernel-Modulen, schweren Monitoring-Frameworks, Java-Agenten oder Datenbanken erforderlich
  • Aktivität kann auf Ebene einzelner Threads gemessen werden; Codeausführung, Sleep-Zustände, Systemaufrufe und Kernel-Wartepositionen werden verfolgt und gesampelt

Veröffentlichung der Beta von xcapture-bpf & xtop 2.0.2

  • xcapture-bpf und xtop ähneln dem Linux-Tool top, nutzen aber eBPF, um Performancedaten aus verschiedenen Blickwinkeln zu betrachten
  • Drill-down von einer Übersicht auf Systemebene bis hin zu einzelnen Thread-Aktivitäten und Kernel-Events ist möglich
  • eBPF ist vollständig programmierbar, und das soll bestmöglich genutzt werden

Terminal-Highlighting und Stacktiles in xcapture-bpf

  • Textsuche/Highlighting und Scroll-Funktionen im Terminal arbeiten gut mit dem neuen Stacktile-Format zusammen
  • Stacktiles können nicht nur Funktionsnamen, sondern auch Dateinamen oder Gründe für Speicherallokationen und weitere Informationen enthalten

Installation von xcapture-bpf

  • xcapture-bpf ist noch eine Beta-Version und sollte nicht auf Produktionssystemen ausgeführt werden
  • Es verwendet eBPF und setzt derzeit auf BCC und python3 als Frontend
  • Getestet auf RHEL 8.1 oder Ubuntu 24.04 und neuer

Enthaltene Tools

  • Bietet interaktive Echtzeit-Tools und Low-Frequency-Profiling-Tools
  • Beschreibung der wichtigsten Tools:
    • psn: sampelt die aktuelle Aktivität der Top-Threads
    • xcapture: Low-Overhead-Sampler für Thread-Zustände
    • xcapture-bpf: programmierbarer Low-Overhead-Sampler für Thread-Zustände mit eBPF
    • syscallargs: Liste von Systemaufrufen und Argumenten
    • schedlat: zeigt CPU-Scheduling-Latenzen eines einzelnen Prozesses an
    • run_xcapture.sh: einfaches Daemon-Skript, das xcapture kontinuierlich ausführt
    • run_xcpu.sh: kontinuierliches Stack-Sampling von Threads auf der CPU mit niedriger Frequenz

Nutzung und Beispielausgabe

  • Mit xcapture lässt sich die Aktivität von Linux-Threads sampeln und in einer Ausgabe mit fester Breite darstellen
  • Ausgabe in eine CSV-Datei ermöglicht Performanceanalyse auf der Kommandozeile

Installation und Nutzung

  • xcapture, schedlat und psn sampeln das /proc-Dateisystem wie Standard-Linux-Tools
  • Funktioniert ohne zusätzliche Konfiguration auf Linux-Kernel-Version 2.6 und höher

FAQ

  • 0x.tools ist ein Open-Source-Produkt unter der GPL-v3-Lizenz
  • Der Mess-Overhead liegt bei unter 1 % der CPU-Kapazität des Servers
  • Kann sicher in Produktionsumgebungen verwendet werden
  • Warum /proc-Sampling statt Perf und eBPF: weil eBPF in bestehenden Unternehmen nicht großflächig für die Produktion eingesetzt werden kann

Meinung von GN⁺

  • 0x.tools ist eine leistungsstarke Tool-Sammlung zur Analyse der Linux-Systemperformance
  • Die Nutzung von eBPF ist hilfreich, weil sich Performancedaten aus verschiedenen Blickwinkeln betrachten lassen
  • Es wurde so entwickelt, dass es sicher in Produktionsumgebungen eingesetzt werden kann
  • Im Vergleich zu anderen Performanceanalyse-Tools sind der geringe Overhead und die einfache Installation Vorteile
  • Durch den Einsatz moderner Technologien wie eBPF werden Genauigkeit und Flexibilität der Performanceanalyse verbessert

Noch keine Kommentare.

Noch keine Kommentare.