Zipkin – il tracer che gli ingegneri di Twitter hanno sviluppato per rendere più veloce la diffusa piattaforma di microblogging – è stato rilasciato sotto APLv2 su GitHub. Paragonato ai profiler come Firebug, ma dedicato all’interazione con le Application Programming Interface (API), Zipkin è la somma di numerose soluzioni open source. È stato realizzato utilizzando Scala e sfrutta Scribe, uno strumento concepito da Facebook, per raccogliere i registri da analizzare. Le informazioni da elaborare sono immagazzinate da Cassandra.
A dispetto del meccanismo, che sembra piuttosto elementare, Zipkin è una soluzione abbastanza complessa: una volta installato e configurato, restituisce i risultati in un istogramma consultabile da una comoda interfaccia web. Tuttavia, adattarlo alle proprie esigenze presuppone un’approfondita esperienza con strumenti come Hadoop, ecc. — Zipkin è un sistema distribuito, molto utile nell’analisi di big data. Tutte le dipendenze, incluse le librerie realizzate da Twitter, sono già disponibili sotto licenze open source equivalenti.
Fondamentalmente, Scribe analizza ogni query inviata alle API di Twitter e stabilisce se sia il caso di prenderla a modello. In caso di un esito positivo, la spedisce a Zipkin perché sia analizzata e visualizzata sull’interfaccia web. Questa soluzione, ad esempio, ha permesso agli sviluppatori di rimuovere il ricorso a Memcache per alcune richieste — velocizzando l’output delle chiamate. Lo sviluppo di Zipkin è iniziato a seguito dell’implementazione di Google Dapper per Thrift: il tracing, quindi, è stato esteso a SQL e Redis.
Via | Twitter
Twitter ha rilasciato il codice sorgente di Zipkin, il tracer interno é stato pubblicato su Ossblog.it alle 19:00 di venerdì 08 giugno 2012. Leggete le condizioni di utilizzo del feed.