This code is not from Google. It is a copy of thttpd 2.25b downloaded from http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz but then adapted to be a tiny minimal HTTP server that can be linked into any program to serve profiling information for google-perftools's pprof. It has been chopped up significantly compared to the original. After running make (which assumes you have the google-perftools libraries installed in /usr/local/lib or a standard place like /usr/lib), you can profile an arbitrary program with: LD_PRELOAD=/usr/local/lib/libghttpd-preload.so ./a.out and then while it is running, execute: pprof a.out http://localhost:9999/pprof/heap The preload library starts the HTTP server at the first call to malloc. Alternately, you can link with -lghttpd and call ghttpd() during program initialization (e.g., in main). You can change the port number by setting the environment variable GHTTPPORT: GHTTPPORT=12345 LD_PRELOAD=libghttpd-preload.so ./a.out Russ Cox 18 October 2006 rsc@swtch.com