traccia - ftrace

traccia
Sviluppatore/i Steven Rotedt e altri
Versione iniziale 9 ottobre 2008 ; 12 anni fa ( 2008-10-09 )
Sistema operativo Linux
Tipo Estensione del kernel
Licenza GNU GPL versione 2
Sito web www .kernel .org /doc /Documentation /trace

ftrace ( Function Tracer ) è un framework di tracciamento per il kernel Linux . Sebbene il suo nome originale, Function Tracer, derivi dalla capacità di ftrace di registrare informazioni relative a varie chiamate di funzione eseguite mentre il kernel è in esecuzione, le capacità di tracciamento di ftrace coprono una gamma molto più ampia di operazioni interne del kernel.

Dettagli

Con i suoi vari plug-in di traccia, ftrace può essere mirato a diversi punti di traccia statici , come eventi di pianificazione , interruzioni , I/O mappati in memoria , transizioni di stato di alimentazione della CPU e operazioni relative a file system e virtualizzazione . Inoltre, è disponibile il monitoraggio dinamico delle chiamate alle funzioni del kernel, opzionalmente limitabile a un sottoinsieme di funzioni utilizzando globs e con la possibilità di generare grafici di chiamata e fornire report sull'utilizzo dello stack . Allo stesso tempo, ftrace può essere utilizzato per misurare varie latenze all'interno del kernel Linux, ad esempio per quanto tempo gli interrupt o la prelazione sono disabilitati.

Un kernel Linux abilitato per ftrace viene creato abilitando l' opzione di configurazione del kernel CONFIG_FUNCTION_TRACER . L'intera interazione runtime con ftrace viene eseguita tramite file virtuali leggibili e scrivibili contenuti in un file system debugfs appositamente montato ; di conseguenza, ftrace non richiede utility specializzate in spazio utente per funzionare. Tuttavia, esistono ulteriori utilità dello spazio utente che forniscono funzionalità più avanzate per la registrazione, l'analisi e la visualizzazione dei dati; esempi di tali utilità sono trace-cmd e KernelShark .

Internamente, ftrace si affida al gcc 's profilazione meccanismo per anteporre istruzioni macchina alle compilate versioni di tutte le sorgenti funzioni kernel -Level, che reindirizzano l'esecuzione di funzioni al di ftrace trampolini e plugin traccianti che eseguono il tracciato vero e proprio. Questi " punto di ingresso " istruzioni create da gcc sono alterati dal ftrace quando il kernel è avviato , e varia poi in fase di runtime ftrace tra PON e reali salti ai trampolini di tracciamento, a seconda dei tipi di traccia e opzioni configurate in fase di esecuzione.

ftrace è sviluppato principalmente da Steven Rostedt, ed è stato unito alla linea principale del kernel Linux nella versione del kernel 2.6.27, che è stata rilasciata il 9 ottobre 2008.

Guarda anche

  • DTrace  : un framework di tracciamento per la risoluzione dei problemi del kernel e delle applicazioni, originariamente sviluppato per Solaris
  • ktrace  – un'utilità BSD Unix e Mac OS X che traccia le interazioni kernel-programma
  • ltrace  – un'utilità di debug di Linux, visualizza le chiamate che un'applicazione userland fa alle librerie condivise
  • strace  - un'utilità di debug per Linux e alcuni altri sistemi simili a Unix, monitora le chiamate di sistema utilizzate da un programma e tutti i segnali ricevuti
  • SystemTap  : un linguaggio di scripting e un'utilità utilizzati per la strumentazione dei sistemi Linux

Riferimenti

link esterno