È stato pubblicato il rilascio del sistema di tracciamento dinamico SystemTap 5.0, che fornisce strumenti di debug per la piattaforma Linux simili alla tecnologia DTrace. SystemTap consente un monitoraggio approfondito del sistema Linux in esecuzione, la raccolta di statistiche sulle prestazioni delle applicazioni, il profiling e il controllo delle chiamate di sistema. La gestione avviene tramite un'interfaccia a riga di comando e un linguaggio di scripting speciale simile al C. Il sistema è compatibile con i kernel Linux a partire dalla versione 3.10 fino alla 6.6-rc0.
Al progetto partecipano aziende come Red Hat, IBM, Intel, Hitachi e Oracle. Nel catalogo degli esempi sono disponibili oltre 190 script per diverse situazioni, adatti a monitorare la distribuzione della memoria, le operazioni di input/output, le operazioni sui dischi, il traffico di rete (ad esempio, l'analisi del funzionamento di NFS), il lavoro dello scheduler, la gestione delle interruzioni, l'uso dei buffer di sistema, l'impostazione di lock, l'esecuzione di chiamate di sistema, la gestione dei segnali, ecc.
Variazioni principali:
- È stata interrotta la supporto della branch del kernel 2.6.32, utilizzato in RHEL6. Il testing di SystemTap ora avviene con i kernel 3.10 (RHEL7), 4.18 (RHEL8 + CentOS Stream 8), 5.14.0 (RHEL9 + CentOS Stream 9), 6.4 (Fedora 38), 6.5 (Fedora 39) e 6.6-rc (Fedora rawhide).
- È stata aggiunta la supporto per il processo debuginfod per l'ottenimento dinamico di informazioni di debug e metadati sui file eseguibili installati.
- È stato aggiunto il supporto per i dati di debug nel formato DWARF5, utilizzabili nella funzione print_ubacktrace_fileline().
- Nel frontend (utility stap) è disponibile server debuginfod la possibilità di utilizzare maschere nella definizione dei processi target, ad esempio, stap -e ‘probe debuginfod.process(«/usr/*/curl»).begin { log(«hi»)}. È stata migliorata la granularità delle informazioni sui processi nella lista, mostrata quando si utilizza l'opzione «-L» insieme a più «-v».
- Nel backend sono state migliorate le prestazioni della registrazione uprobe e accelerato l'avvio del modulo del kernel. È stata proposta una sistema di trasferimento messaggi tra il kernel e lo spazio utente più veloce e affidabile.
- Sono stati aggiunti macro elaborabili durante il runtime: STP_TIMING_NSECS per ottenere informazioni sui tempi di verifica in nanosecondi e STP_FORCE_STDOUT_TTY per sovrascrivere STP_STDOUT_NOT_ATTY.
Fonte: opennet.ru
