domenica 22 giugno 2014

Il sistema di "Error Tracking" di Ubuntu



Mi è capitato di imbattermi in errors.ubuntu.com, il sito dove sono raccolti diffettosità dei vari rilasci Ubuntu ed errori più frequenti.

Il sito fa parte del sistema di tracciamento degli errori di Ubuntu, che comprende il programma per inviare le segnalazioni, e la parte per la raccolta e catalogazione degli stessi, integrato con la piattaforma Launchpad, su cui gli errori sono tracciati e catalogati.

Interessante notare che il tutto è stato pensato sia per Ubuntu su desktop che su smartphone e tablet.

Tutto il sistema di segnalazione e raccolta degli errori è basato su software libero scritto da Canonical, licenziato con licenza AGPL, il codice è su Launchpad ed è ben documentato sul wiki di Ubuntu, dove ci sono anche i mockup del sito e dei programmi utilizzati.

Il sito web errors

Il sito è semplice e si divide in due parti. Nella parte alta un grafico visualizza l'andamento della "difettosità" dei vari rilasci di Ubuntu, che sono rappresentati da linee di colore diverso, nel corso del tempo. Il grafico è appena stato "azzerato", (quello che vedete nell'immagine all'inizio del post è prima dell'azzeramento), quindi sul sito le linee sono adesso poco più che moncherini appena. Meglio sarebbe stato mostrare sempre gli ultimi giorni (mesi?), rispetto alla data odierna. Magari chissà, nella prossima versione del software!


L'indice giornaliero degli errori

Dicevo della "diffettosità": per misurarla gli sviluppatori hanno creato un apposito indice, chiamato "daily error rate" (indice giornaliero degli errori), il cui valore è dato dal risultato del "numero delle macchine che hanno segnalato errori diviso il numero delle macchine che avrebbero segnalato errori, se ne avessero trovati". In effetti il calcolo è un po' cervellotico, sulla pagina del wiki è spiegato meglio. Semplificando, basta sapere che più alto è il valore, più errori ci sono. Quindi, se l'indice fosse 0, vorrebbe dire nessun errore segnalato quel giorno (tutto perfetto!), se fosse 1 invece che tutte le macchine segnalano 1 errore.

Da quello che ho visto, l'indice generale fluttua attorno 0.2 con punte a 1 e oltre, e differenze tra un rilascio e l'altro di Ubuntu - non tutti gli errori impattano tutte le distribuzioni.

La "Top 100"

La parte bassa è invece riservata ai 100 errori più frequenti di Ubuntu (e derivate). Questa classifica è anche più interessante della rappresentazione grafica, perché è molto utile per capire dove sono i problemi più frequenti (e urgenti) di Ubuntu.

Gli errori sono elencati in una tabella che riporta:
  • Rank (posizione), dal più frequente al meno
  • Occurences (ocorrenze), numero di segnalazioni
  • Binary package, il programma o modulo
  • First seen, versione del programma in cui è stato segnalato l'errore la prima volta (per capire da quando succede)
  • Last seen, versione del programma in cui è stato segnalato l'errore l'ultima volta (per capire se è presente anche nelle versioni successive)
  • Function, la sezione del programma dove si è verificato l'errore
  • Bug report, il riferimento sul Launchpad dell'errore
Con un menu a tendina si possono impostare dei filitri: scegliendo una versione specifica di Ubuntu oppure tutte, e su base giornaliera, settimanale, mensile, annuale, oppure un intervallo preciso di date.

Gli errori poi sono barrati se sono stati già risolti. Non ho capito invece il motivo per cui alcuni errori sono evidenziati in rosso e altri sono invece in grigio. Forse i primi sono i più gravi.

I programmi più bacati

Volendo aggregare i dati si ottengono statistiche interessanti. Per esempio, quali sono i programmi con più "bachi" (=bug, cioè errori)?

Binary Package # errori
software-center 13
chromium-browser 9
nautilus 8
update-manager 8
gvfs-backends 4
unity-services 4
rhythmbox 3
xserver-xorg-core 3
blueman 2
colord 2
compiz-core 2
file-roller 2
hud 2
notification-daemon 2
plymouth 2
unity 2
aptdaemon 1
bamfdaemon 1
calendar-indicator 1
compiz-gnome 1
everpad 1
gjs 1
gnome-control-center 1
gnome-disk-utility 1
gnome-sudoku 1
guake 1
gvfs-daemons 1
ibus 1
irqbalance 1
libgtk-3-0 1
libreoffice-core 1
lsb-release 1
my-weather-indicator 1
network-manager 1
notify-osd 1
signon-ui 1
supertux 1
thunar 1
thunderbird 1
totem 1
ttf-mscorefonts-installer 1
ubuntu-tweak 1
ubuntuone-installer 1
unattended-upgrades 1
unity-2d-shell 1
unity-scopes-runner 1
vidalia 1
xscreensaver-data-extra 1
Totale100

Tabella #1: i programmi con più errori 
(dati estratti il 21.06.2014, relativi all'ultimo anno)

Chissà perché mi sorprende poco trovare al primo posto Software Center, lo store di programmi made in Canonical. Chi l'ha utilizzato sa che è abbastanza lento, e non risparmia qualche "crash" qua e là.
Mi sorprende parecchio invece il trovare Chromium al secondo posto, perché pensavo fosse più stabile.
Seguono Nautilus, il file manager di Ubuntu e GNOME e Update Manager, il gestore degli aggiornamenti.

Da soli questi 4 programmi contano ben 38 errori (su 100), alcuni già risolti, dovrebbe essere un segnale abbastanza chiaro su cosa lavorare di più per migliorare Ubuntu e derivate.

Volendo poi guardare al numero di segnalazioni, la situazione cambia poco: i programmi con più segnalazioni sono anche quelli con più errori.

Binary Package # segnalazioni
chromium-browser 27.119
software-center 24.044
update-manager 21.100
nautilus 19.157
notification-daemon 11.922
unity-services 11.283
xserver-xorg-core 7.243
gvfs-backends 5.695
gjs 4.544
compiz-core 4.396
file-roller 3.805
unity 2.946
aptdaemon 2.824
lsb-release 2.808
hud 2.747
blueman 2.721
plymouth 2.701
rhythmbox 2.684
colord 2.369
libreoffice-core 2.009
vidalia 1.933
notify-osd 1.627
ibus 1.464
network-manager 1.433
thunderbird 1.339
thunar 1.292
ttf-mscorefonts-installer 1.260
unity-2d-shell 1.254
signon-ui 1.224
compiz-gnome 1.208
supertux 1.154
my-weather-indicator 1.153
gnome-sudoku 1.152
gvfs-daemons 1.141
calendar-indicator 1.111
guake 1.090
gnome-disk-utility 1.081
libgtk-3-0 1.043
bamfdaemon 1.014
irqbalance 1.011
xscreensaver-data-extra 993
totem 992
unattended-upgrades 956
ubuntu-tweak 945
everpad 940
ubuntuone-installer 923
gnome-control-center 921
unity-scopes-runner 866
Totale 196.637

Tabella #2: i programmi con più segnalazioni 
(dati estratti il 21.06.2014, relativi all'ultimo anno)

Impressionante comunque il numero di segnalazioni raccolte, quasi 200.000! (e sono solo i primi 100 errori!)

Urgenti e frequenti sono cose diverse

Guardando nello specifico dei singoli errori, si possono fare altre considerazioni. Il fatto che un errore sia frequente non implica (sempre) che questo abbia necessariamente una priorità alta. Per esempio: l'errore più frequente di Chromium riguarda un problema specifico con Google Maps. Trattandosi di un singolo problema su un singolo sito, è probabile che sia data meno priorità rispetto ad altri problemi che possono avere un impatto più esteso.

A questo si aggiunga che in qualche caso il problema potrebbe essere "upstream" cioè derivare da mamma Debian, e quindi si dovrebbe risolvere su Debian in prima istanza, per beneficiarne anche su Ubuntu che è una derivata. Questo è uno dei motivi per cui molti sviluppatori Ubuntu hanno risalito la corrente e sono ora Debian Developer.

Indubbiamente si tratta di un servizio molto utile per chi sviluppa Ubuntu, che ha tutte le informazioni per indirizzare lo sviluppo e le risorse dove servono realmente.

Nessun commento:

Related Posts Plugin for WordPress, Blogger...