ftrace - dem Kernel bei der Arbeit zusehen ftrace umfasst verschiedene Logging-Möglichkeiten, die seit langem Bestandteil des Linux Kernels sind. Obwohl sich ftrace primär an Kernel-Entwickler richtet, ist es generell ein interessantes Werkzeug, um die Abläufe in einem Linux-System besser zu verstehen. Die gängigen Linux-Distributionen unterstützen ftrace in ihren Standard-Kernels. Im einfachsten Fall lässt sich ftrace ohne Installation weiterer Tools auf der Kommandozeile mit echo und cat bedienen. Mit dem Vortrag möchte ich die ZuhörerInnen motivieren, ftrace selbst auszuprobieren und zu sehen, wo es für ihre Fehlersuche nützlich sein kann. Der Aufbau des Vortrags wird in etwa der folgende sein: * Definition, Umfang von ftrace * verschiedene tracer * events * Design-Ziele * Abgrenzung zu strace * tracefs * pseudo-filesystem analog zu sysfs, debugfs * files zum Konfigurieren von ftrace, Auslesen der geloggten Daten * ringbuffer * function tracer * loggen von Funktionsaufrufen * Filtermöglichkeiten * Prozess-ID * Funktionsnamen * Trigger * function_graph tracer * hierarchische Darstellung der aufgerufenen Funktionen * trace events * Definitionen: event, tracepoint, probe-Funktion * events in tracefs * Verzeichnisstruktur * Beschreibung der event-Daten * eventuell noch kprobes * events, die zur Laufzeit vom Benutzer definiert werden * Tools, die auf ftrace aufsetzen * trace-cmd * eventuell auch kernelshark, perf, sysdig * Beispiele * etwas komplexere Beispiele mit verschiedenen Filtern * z.B. genauere Untersuchung eines system calls, SD-Karte, WLAN, Netzwerkpakete, serielle Konsole * ganz kurzer Blick auf die Implementierung von ftrace * Kernel mit ftrace-support ist nicht nennenswert langsamer als ohne * patchen des Codes zur Laufzeit Neben den Folien wird es zumindest eine Demo auf der Kommandozeile geben.