- 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.