Pubblicazione del sistema di debug dinamico SystemTap 5.0

È stata rilasciata la versione 5.0 del sistema di tracciamento dinamico SystemTap, che offre agli utenti di Linux strumenti di debug simili al DTrace. SystemTap permette di eseguire un monitoraggio minuzioso del sistema Linux in esecuzione, raccogliere statistiche sulle prestazioni delle applicazioni, profilerare e controllare le chiamate di sistema. La gestione avviene tramite un'interfaccia a riga di comando e un linguaggio di scripting simile al C. Il sistema è compatibile con i kernel Linux dalla versione 3.10 fino alla 6.6-rc0.

Il progetto coinvolge aziende come Red Hat, IBM, Intel, Hitachi e Oracle. Nel catalogo degli esempi sono disponibili oltre 190 script per vari scenari, adatti a monitorare la distribuzione della memoria, l'input/output, le operazioni su disco, il traffico di rete (ad esempio, per l'analisi delle prestazioni di NFS), il funzionamento dello scheduler, la gestione delle interruzioni, l'uso dei buffer di sistema, l'impostazione dei lock, l'esecuzione delle chiamate di sistema, l'elaborazione dei segnali e altro ancora.

Principali modifiche:

  • È stata interrotta la supporto della serie di kernel 2.6.32 utilizzata in RHEL6. I test di SystemTap vengono ora eseguiti 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).
  • Aggiunto supporto per il processo debuginfod per ottenere dinamicamente le informazioni di debugging e i metadati sui file eseguibili installati.
  • Aggiunto supporto per i simboli di debug nel formato DWARF5, utilizzabile nella funzione print_ubacktrace_fileline().
  • Nel frontend (utilità stap) con debuginfod è possibile utilizzare maschere nella definizione dei processi target, ad esempio, stap -e ‘probe debuginfod.process(«/usr/*/curl»).begin { log(«hi»)}. È migliorata la granularità delle informazioni sui processi nell'elenco visualizzato con l'opzione «-L» insieme a più «-v». server debuginfod ha implementato la possibilità di utilizzare maschere per la determinazione dei processi target, ad esempio, stap -e 'probe debuginfod.process("/usr/*/curl").begin { log("hi") }'. È stata migliorata la granularità delle informazioni sui processi nell'elenco restituito utilizzando l'opzione '-L' insieme a più '-v'.
  • Nel backend è stata aumentata la performance della registrazione uprobe e accelerato l'avvio del modulo del kernel. È stata proposta una soluzione più rapida e affidabile per la comunicazione tra kernel e spazio utente.
  • Sono stati aggiunti i macro elaborati durante l'esecuzione: STP_TIMING_NSECS per ottenere informazioni sui tempi di controllo in nanosecondi e STP_FORCE_STDOUT_TTY per sovrascrivere STP_STDOUT_NOT_ATTY.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster