Mellékleteink: HUP | Gamekapocs
Keres
>> A HWSW csapata munkatársakat keres! <<

Elkészült a DTrace linuxos portja

Bizó Dániel, 2009. június 15. 16:36
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

Elkészült a Sun Microsystems Solaris operációs rendszeréhez kifejlesztett DTrace teljesítményanalitikai eszköz teljes linuxos portja. A DTrace forráskódját több mint négy évvel ezelőtt tette közzé a Sun, a portolás lényegében egy év alatt készült el egyetlen ember kitartó munkájának eredményeként.

A DTrace for Linux forráskód formájában tölthető le CDDL (Common Developer and Distribution License) alatt, majd fordítás után egy futó, 32 vagy 64 bites kernelbe lehet betölteni. A portot készítő Paul Fox programozó számos Linux kernelváltozattal tesztelte a DTrace-t, 2.6.9-tól a 2.6.29 kiadásig, ami lényegében négy és fél évet ölel fel. Fox szerint nem szükséges a kernel módosítása, és a DTrace működése nincs függőségben a kernellel.

Az eredetileg mintegy 90 ezer sornyi kódból álló DTrace, vagyis a Dynamic Tracing a négy évvel ezelőtt megjelent Solaris 10 egyik legfontosabb újdonsága volt. A DTrace képes az operációs rendszer és az alkalmazások futását átfogóan elemezni, feltérképezve azok erőforráshasználatát, így könnyen azonosítható, hogy mely folyamatok hol okoznak jelentős terhelést. Ellentétben más, hasonló technológiákkal, ez a szoftver nem igényli a szoftverek speciális verzióját, akár éles üzemű szerveren is lehet alkalmazni. A DTrace támogatása a Solaris kernel szerves részét képezi, és használata nem jár érzékelhető teljesítménycsökkenéssel. Több mint harmincezer ponton lehet figyelni a rendszer teljesítményét, aminek vizsgálatára összetett szkriptek is készíthetőek.

Ezt a képességet irigyelte meg a Linux-közösség egy része, és próbálta megalkotni saját dinamikus futáskövetési megoldását, Fox azonban elégedetlen volt az olyan eredményekkel, mint a SystemTap, és a DTrace portolására várt. Mindhiába, a levelezőlistákat többnyire a GPL és a CDDL összeférhetősége töltötte ki a kérdés kapcsán. További motivációt jelentett, hogy Fox munkahelyén olyan problémák adódtak, melyeket a DTrace segítségével órák alatt meg lehetett volna oldani, anélkül azonban hónapokig is tarthatott volna a gondok forrásának feltérképezése. A várakozást megelégelve végül Fox nekilátott a portolásnak, aminek megszületett az eredménye.

A programozó arra figyelmeztet, hogy élesen futó rendszerre csak akkor alkalmazzuk, ha már egy azonos rendszerképet futtató tesztrendszeren meggyőződtünk a működőképességről, és hogy nem okoz rendszerösszeomlást. Egyes funkciók, mint a felhasználói térben futó alkalmazásfolyamathoz történő csatlakozás, egyelőre nem működnek. A DTrace for Linux forrása letölthető innen, míg leírás használatához a Sun wikijén található. A DTrace portolása FreeBSD és MacOS X operációs rendszerekre is megtörtént már, így a Solarissal és Linuxszal együtt immár négy platformon elérhető.