ftrace - ftrace

ftrace
Vývojáři Steven Rostedt a další
První vydání 9. října 2008 ; Před 12 lety ( 2008-10-09 )
Operační systém Linux
Typ Rozšíření jádra
Licence GNU GPL verze 2
webová stránka www .kernel .org /doc /Dokumentace /trasování

ftrace ( Function Tracer ) je trasovací rámec pro linuxové jádro . Ačkoli jeho původní název, Function Tracer, pochází ze schopnosti ftrace zaznamenávat informace týkající se různých volání funkcí prováděných za běhu jádra , možnosti sledování ftrace pokrývají mnohem širší škálu interních operací jádra.

Podrobnosti

Díky různým doplňkům pro sledování lze ftrace cílit na různé statické sledovací body , jako jsou události plánování , přerušení , I/O mapované v paměti , přechody stavu napájení procesoru a operace související se souborovými systémy a virtualizací . K dispozici je také dynamické sledování volání funkcí jádra, volitelně omezitelné na podmnožinu funkcí pomocí globů a s možností generovat grafy hovorů a poskytovat zprávy o využití zásobníku . Současně lze ftrace použít k měření různých latencí v jádře Linuxu, například pro to, jak dlouho jsou zakázána přerušení nebo preemption .

Linuxové jádro s podporou ftrace je postaveno povolením možnosti konfigurace jádra CONFIG_FUNCTION_TRACER . Celá runtime interakce s ftrace se provádí prostřednictvím čitelných a zapisovatelných virtuálních souborů obsažených ve specificky připojeném systému souborů debugfs ; v důsledku toho ftrace nevyžaduje k provozu žádné specializované nástroje pro uživatelský prostor . Existují však další nástroje uživatelského prostoru, které poskytují pokročilejší funkce pro záznam, analýzu a vizualizaci dat; příklady takových nástrojů jsou trace-cmd a KernelShark .

Interně ftrace se opírá o gcc ‚s profilování mechanismu předřadit strojových instrukcí k kompilované verze všech zdrojových funkcí úrovňového jádra, které přesměrovávají výkon funkcí do ftrace je trampolíny a sledovacích pluginů, které vykonávají skutečnou trasování. Tyto „ vstupní bod “ instrukce vytvořené pomocí gcc jsou pozměněny ftrace, když je jádro spuštěn , a měnil později za běhu ftrace mezi NOP a skutečných skoky k vysledování trampolíny, v závislosti na dohledávání typů a možností nakonfigurovaných za běhu.

ftrace je vyvinut primárně Stevenem Rostedtem a byl začleněn do hlavní linie jádra Linuxu ve verzi jádra 2.6.27, která byla vydána 9. října 2008.

Viz také

  • DTrace  - trasovací rámec pro řešení problémů s jádrem a aplikacemi, původně vyvinutý pro Solaris
  • ktrace  - nástroj BSD Unix a Mac OS X, který sleduje interakce jádra a programu
  • ltrace  - nástroj pro ladění Linuxu, který zobrazuje volání aplikace userland do sdílených knihoven
  • strace  -nástroj pro ladění pro Linux a některé další unixové systémy, monitoruje systémová volání používaná programem a všechny přijímané signály
  • SystemTap  - skriptovací jazyk a nástroj používaný pro instrumentaci systémů Linux

Reference

externí odkazy