ftrace - ftrace
| Vývojáři | Steven Rostedt a další |
|---|---|
| První vydání | 9. října 2008 |
| Operační systém | Linux |
| Typ | Rozšíření jádra |
| Licence | GNU GPL verze 2 |
| webová stránka | www |
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
- Ladění jádra pomocí Ftrace - část 1 a část 2 , LWN.net , prosinec 2009, Steven Rostedt
- Tajemství sledovače funkcí Ftrace , LWN.net, 20. ledna 2010, Steven Rostedt
- Ftrace: Skrytý světelný spínač , LWN.net, 13. srpna 2014, od Brendana Gregga
- Zdroj korupční chyby e1000e , LWN.net, 21. října 2008, od Jonathana Corbeta