Die Veröffentlichung der Dynamic Tracing-Systemsoftware SystemTap 5.0 bietet Debugging-Tools für die Linux-Plattform, ähnlich der DTrace-Technologie. Mit SystemTap können Sie eine detaillierte Überwachung eines laufenden Linux-Systems einrichten, Statistiken über die Anwendungsleistung sammeln, Profiling durchführen und Systemaufrufe überwachen. Die Verwaltung erfolgt über eine Kommandozeilen-Schnittstelle und eine spezielle C-artige Scriptsprache. Das System ist mit Linux-Kernen von Version 3.10 bis 6.6-rc0 kompatibel.
Am Projekt sind Unternehmen wie Red Hat, IBM, Intel, Hitachi und Oracle beteiligt. Im Beispielkatalog sind über 190 Skripte für verschiedene Anwendungsfälle aufgeführt, die geeignet sind, um den Speicherverbrauch, Ein- und Ausgaben, Festplattenoperationen, den Netzwerkverkehr (z. B. die Analyse der NFS-Leistung), die Arbeitsweise des Task-Schedulers, die Verarbeitung von Unterbrechungen, die Nutzung von Systempuffern, die Einrichtung von Sperren, die Ausführung von Systemaufrufen, die Signalverarbeitung usw. zu überwachen.
Wesentliche Änderungen:
- Die Unterstützung für den Kernelzweig 2.6.32, der in RHEL6 verwendet wird, wurde eingestellt. SystemTap-Tests werden jetzt mit den Kernen 3.10 (RHEL7), 4.18 (RHEL8 + CentOS Stream 8), 5.14.0 (RHEL9 + CentOS Stream 9), 6.4 (Fedora 38), 6.5 (Fedora 39) und 6.6-rc (Fedora rawhide) durchgeführt.
- Unterstützung für den debuginfod-Prozess zum dynamischen Abrufen von Debug-Informationen und Metadaten über installierte ausführbare Dateien hinzugefügt.
- Unterstützung für Debug-Daten im DWARF5-Format hinzugefügt, die in der Funktion print_ubacktrace_fileline() verwendet werden können.
- Im Frontend (Tool stap) besteht die Möglichkeit, Server debuginfod zu nutzen, wobei Masken zur Bestimmung zielgerichteter Prozesse verwendet werden können, z.B. stap -e 'probe debuginfod.process("/usr/*/curl").begin { log("hi") }'. Die Detailgenauigkeit der Prozessinformation in der Liste, die bei Verwendung der Option '-L' in Verbindung mit mehreren '-v' ausgegeben wird, wurde verbessert.
- Im Backend wurde die Leistung der uprobe-Registrierung erhöht und der Start des Kernelmoduls beschleunigt. Ein schnelleres und zuverlässigeres System zur Nachrichtenübertragung zwischen Kernel und Benutzerspeicher wurde vorgeschlagen.
- Zur Laufzeit verarbeitete Makros hinzugefügt: STP_TIMING_NSECS zur Erfassung von Überprüfungszeitinformationen in Nanosekunden und STP_FORCE_STDOUT_TTY zur Überschreibung von STP_STDOUT_NOT_ATTY.
Quelle: opennet.ru
