Il ftrace del kernel Linux

👣 Introduzione Gli strumenti di tracciamento sono piuttosto popolari nell’ecosistema Unix/Linux; ad esempio, nello userspace abbiamo ltrace per tracciare le chiamate di libreria dei programmi e strace per andare più a fondo e ispezionare l’uso delle syscall. Una delle molte caratteristiche che il kernel Linux offre dal 2008 (poi evolutasi nel tempo) è ftrace, che permette diversi tipi di tracciamento a runtime. Sebbene non sia flessibile come la tecnologia eBPF, può rivelarsi utile in alcune occasioni e non richiede un vero e proprio linguaggio di programmazione. ...

1 ottobre 2024 · Andrea Manzini

Giocare con le capabilities del kernel Linux

🔐 Introduzione Come sysadmin esperti, avrete probabilmente familiarità con il tradizionale approccio “tutto o niente”: se una shell o un processo è in esecuzione con UID==0, può fare quasi tutto sul sistema; al contrario, un processo utente comune è limitato in vari modi: tipicamente non può aprire socket RAW, non può fare il bind di porte “privilegiate” inferiori alla 1024, non può cambiare la proprietà di un file (chown) e così via. ...

2 agosto 2024 · Andrea Manzini

Misurare il consumo energetico dei propri programmi

🌡️ Introduzione Per chi gestisce un datacenter, o anche un semplice server homelab, l’arrivo del caldo estivo si traduce in un aumento dell’uso dell’aria condizionata. In questo post mi sono chiesto come un ingegnere Linux possa misurare quanta energia sta consumando il sistema, in modo da poter iniziare a ragionare sull’ottimizzazione dei carichi di lavoro (workload) per ottenere pattern di consumo energetico migliori. 🔋 Consumo energetico in idle Come punto di partenza, misuriamo quanta energia consuma il mio PC quando è in idle, cioè non fa assolutamente nulla; o meglio: nulla di utile ai fini del calcolo o di un servizio, ma esegue solo le solite attività predefinite del sistema operativo. ...

30 giugno 2024 · Andrea Manzini

Testing Headless di Applicazioni GUI PySide/PyQt con pytest-qt

🤓 Introduzione Il testing manuale delle applicazioni GUI può diventare noioso e soggetto a errori con l’aumento delle funzionalità e della complessità. Il testing headless offre una soluzione automatizzando le interazioni dell’interfaccia utente (UI) senza la necessità di un display fisico. Questo approccio consente un’esecuzione più rapida dei test, una migliore ripetibilità e una perfetta integrazione con le pipeline di continuous integration e continuous delivery (CI/CD). In questo post esploreremo come sfruttare pytest-qt, un potente framework per il testing headless di applicazioni PySide/PyQt. ...

22 maggio 2024 · Andrea Manzini

This site does not use cookies or collect any personal data. © 2026 Andrea Manzini.