DTrace server
Celem mojej pracy w te wakacje jest umożliwienie oskryptowania DTrace w języku Tcl. O ile do tej pory pisałem raczej o moim API, albo nawet o pisanej przeze mnie dokumentacji libdtrace, dziś pokażę przykład jego użycia. Językiem Tcl warto się zainteresować dlatego, że niektóre rzeczy są w nim bardzo proste. Jedną z nich jest pisanie serwerów sieciowych. Na pierwszy ogień idzie więc prosty serwer DTrace, pozwalający na zdalne odpalanie sond wielu klientom na raz.
TclDtrace zaimplementowane w 100%
TclDtrace (mój projekt na GSoC) jest już w pełni funkcjonalne. Oznacza to, że pozwala na osiągnięcie w swoich programach wszystkiego, na co pozwala dtrace(1), z wyjątkiem obsługi annonymous state. Wszelkie testy, opinie i uwagi przed stabilizacją API mile widziane. Ewentualne pomysły na GUI do DTrace również chętnie rozważę...
Pełna obsługa prostych sond w TclDtrace
Od dzisiaj można testować TclDtrace w wersji 0.2. Zawiera ona pełną obsługę prostych sond. Udało mi się napisać już pierwszy działający program korzystający z mojej biblioteki. Działa sprawnie i bezbłędnie, acz z pewnymi ograniczeniami...
Po pierwszym dniu
Nadszedł w końcu ten dzień, kiedy to otworzyłem Vima i zacząłem kodować swój projekt na GSoC. Nie zorientowałem się nawet, gdy nadszedł czas i wyrobiłem trochę nadgodzin. Koniec końców mam kilkaset linii działającego kodu, realizującego trzy pierwsze komendy mojego API. Zrozumiałem też dzisiaj, czemu niektórzy mówią o Solarisowym CC the real compiler. Również taki debugger przydałby się pod Linuksem... Ech.
API TclDtrace oczekuje na komentarze
Rozwijając (w ramach Google Summer of Code) API DTrace dla języka Tcl doszedłem do, prawdopodobnie, końca fazy projektowej. Zdaję sobie sprawę ze statystyk. Nie dają one mi dużej szansy na to, by ten tekst trafił do kogoś kto orientuje się w Tcl i w DTrace jednocześnie, ale co mi szkodzi spróbować.
Proszę więc o komentarze co do API zawartego na wiki projektu. Mile widziane komentarze co do używalności samego API, lecz również zrozumiałości opisu. Na komentarze przeznaczona jest osobna podstrona na wiki, choć pod tym postem też mogę przeczytać. Programów przykładowych nie ma po co w tym momencie komentować ;)
Dokumentacja API DTrace
DTrace jest piękny. Jest też dobrze udokumentowany - zarówno w [i]man[/i], jak też i na Sunowym wiki. Zupełnie inaczej sprawa ma się z [em]libdtrace[/em] - biblioteką na której się opiera. Czytając jej dokumentację dowiemy się... Że dokumentacji nie ma, bo API nie jest jeszcze publiczne/stabilne. Korzysta z niego kilka projektów (jak choćby Java DTrace API czy Ruby DTrace), lecz nikt nie udostępnił dokumentacji DTrace C API. Jestem więc chyba pierwszy...
Jeszcze trochę o społeczności GSoC
Dzisiaj znowu trochę się dowiedziałem o światku GSoC. Jak się okazuje, na ponad tysiąc stu studentów przypada dwóch pracowników (a raczej dwie pracowniczki) Google na pełen etat i trzech zajmujących się tym w niepełnym wymiarze godzin. Ciekawe kwiatki wyszły też z dyskusji o kierunkach, na których kiszą się studenci...
Leslie
Przeżyłem pierwszą dobę na liście studentów na GSoC. W sumie nie mam się czym chwalić, oznaczało to przerzucenie kilkuset listów i przeczytanie raptem kilkudziesięciu, dzień jak co dzień. Ale nie da się tu nie zauważyć anioła, jakim jest Leslie. Ta miła blondynka pracuje dla Google i jej odpowiedzialnością jest właśnie kontakt z nami. Jest to przede wszystkim anioł cierpliwości, ale i rozłożyć na łopatki umie (z wątku o dowodzie bycia studentem):
Folks, we are not super sticklerish about this. Just send us something that proves you are a student. :) Cheers, LH, who will not accept photos of you drinking beer as proof you are a student
TclDtrace - zaakceptowane na GSoC
Wczoraj ogłoszone zostały zaakceptowane aplikacje na Google Summer of Code. Znalazło się wśród nich moje TclDtrace. Przyjęte zostały również wszystkie inne osoby z mojego roku (III rok Informatyki na ETI PG): Krzysztof Blicharski z Tcl/Tk Printing Support oraz Anna Pawelczyk z Update Tk test system project.