Michal Toman z týmu ABRT v poštovní konferenci vývojářů Fedory oznámil vydání ABRT (Automatic Bug Reporting Tool) 2.0.12, s kterým přichází nový ABRT server pro Fedoru. Tento server sbírá mikroreporty o problémech, na které uživatelé naráží, a mimo jiné z nich vytváří zajímavé statistiky.

Když mluvil na Fedora 17 release party Karel Klíč o novinkách v ABRTu, na kterých pracují, byla to velmi zajímavá přednáška. Největším problémem ABRTu totiž bylo, že zahlcoval bugzillu hlášeními chyb, které vývojáři neměli šanci zpracovávat. Uměl sice rozpoznávat duplikáty, ale nefungovalo to úplně dobře a bugzilla stejně vývojářům přehledně neukazovala, které bugy mají nejvíce „hitů“ a trápí tak největší počet uživatelů, aby mohli mít prioritní seznam. Proces hlášení bugů pomocí ABRTu také nebyl úplně snadný, především pro technicky méně zdatné uživatele.

Vývojáři se na tyto problémy u ABRT 2 snažili zaměřit. Výsledkem je nová architektura, která obsahuje ABRT server. Ten sbírá tzv. uReporty (mikroreporty). Jedná se o malé „otisky“ pádů (většinou do 4 kB), které obsahují základní informace jako název balíčku, architekturu, verzi kernelu, poslední volané funkce. Naopak neobsahují žádná potenciálně citlivá data jako hesla, uživatelská jména, hostname počítače atd. Na serveru se doplní chybějící informace z debuginfo balíčků a vytvoří se zjednodušený backtrace, nad kterým se použije vyhledávací algoritmus pro podobnost pádů. Podobné uReporty se potom sdružují do tzv. Problémů.

Nad těmito problémy systém vytváří užitečnou statistiku. Problémy jsou rozděleny na tzv. palčivé (hot problems), které se objevily nedávno, ovlivňují velké množství uživatelů a měly by tedy být rychle vyřešeny, a dlouhodobé problémy, které sice nezasahují tolik uživatelů, ale objevují se pravidelně už delší dobu. ABRT server nabízí přehledné statistiky v podobě webového Problem Trackeru. Naleznete tam graf vývoje hlášení reportů podle jednotlivých verzí Fedory, můžete si nechat zobrazit jen graf reportů jednotlivých komponent.

Na kartě Problems jsou seznamy palčivých a dlouhodobých problémů (tento seznam je zatím prázdný, protože server začal fungovat teprve nedávno). Opět je můžete filtrovat podle distribucí a komponent, ale tady také podle správců balíčků. Můžete vidět, v jakém stavu se nacházejí a jestli už je k nim přiřazený bug report. Pokud si nějaký rozkliknete, dozvíte se i další informace: na jakých architekturách se problém vyskytuje, kdy byl nahlášený poprvé, kdy naposledy atd. Pokud zvolíte kompletní report, zobrazí se vám i grafy vývoje daného problému. V neposlední řadě je k dispozici i seznam samotných uReportů. Podobné statistiky opravdu můžou vývojářům pomoci zjistit, kterým problémům se věnovat.

Nový ABRT server ale pomáhá i při samotném hlášení chyb do bugzilly. Výrazně totiž zpřesňuje odhalování duplikátů. V momentě, kdy existuje problém, ke kterému váš report na základě podobnosti patří a který je již v bugzille nahlášený, zaznamená se váš report na serveru, vy jste maximálně přidáni do kopie bug reportu a tím celý proces končí.

Novinky v ABRTu se mi opravdu líbí. Konečně začíná naplňovat svůj potenciál. A pokud na vás příště vyskočí okno ABRTu, nezavírejte jej, ale zkuste problém nahlásit. Odeslání uReportu zabere chvilku a hlášení chyb s ABRTem nedávalo nikdy větší smysl.

Nový ABRT je k dispozici pouze pro Fedoru 17, 18 a rawhide.