Die Veröffentlichung der SystemTap 5.0 dynamischen Tracing-Software wurde bekannt gegeben, die für die Linux-Plattform Debugging-Tools bereitstellt, die der DTrace-Technologie ähnlich sind. SystemTap ermöglicht eine gründliche Überwachung eines laufenden Linux-Systems, das Sammeln von Statistiken über die Anwendungsleistung, Profiling und die Kontrolle von Systemaufrufen. Die Steuerung erfolgt über eine Befehlszeilenoberfläche und eine spezielle C-ähnliche Skriptsprache. Das System ist mit Linux-Kernversionen von 3.10 bis 6.6-rc0 kompatibel.
An der Entwicklung des Projekts sind Unternehmen wie Red Hat, IBM, Intel, Hitachi und Oracle beteiligt. Das Katalogbeispiel enthält über 190 Skripte für verschiedene Anwendungsfälle, die zur Überwachung der Speicherauslastung, der Ein-/Ausgabe, der Festplattenoperationen, des Netzwerkverkehrs (z. B. zur Analyse der NFS-Leistung), der Funktionsweise des Task-Schedulers, der Interrupt-Verarbeitung, der Nutzung von Systempuffern, der Sperrung, der Ausführung von Systemaufrufen, der Signalverarbeitung usw. geeignet sind.
Hauptänderungen:
- Die Unterstützung für den Kernel-Zweig 2.6.32, der in RHEL6 verwendet wird, wurde eingestellt. Das Testen von SystemTap wird nun 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.
- Die Unterstützung für den debuginfod-Prozess zur dynamischen Abfrage von Debugging-Informationen und Metadaten über installierte ausführbare Dateien wurde hinzugefügt.
- Die Unterstützung für Debugging-Daten im DWARF5-Format wurde hinzugefügt, die in der Funktion print_ubacktrace_fileline() verwendet werden können.
- Im Frontend (Hilfsprogramm stap) wurde in Anwesenheit von Server debuginfod die Möglichkeit zur Verwendung von Masken bei der Definition von Zielprozessen implementiert, z. B. stap -e 'probe debuginfod.process("/usr/*/curl").begin { log("hi")}'. Die Detailgenauigkeit der Informationen über die Prozesse, die mit der Option '-L' zusammen mit mehreren '-v' ausgegeben werden, wurde verbessert.
- Im Backend wurde die Leistung der Uprobe-Registrierung verbessert und der Start des Kernel-Moduls beschleunigt. Ein schnelleres und zuverlässigeres Nachrichtensystem zwischen dem Kernel und dem Benutzermodus wurde vorgeschlagen.
- Zu den zur Laufzeit verarbeiteten Makros gehören: STP_TIMING_NSECS zum Abrufen von Daten über die Überprüfungszeit in Nanosekunden und STP_FORCE_STDOUT_TTY zum Überschreiben von STP_STDOUT_NOT_ATTY.
Quelle: opennet.ru
