Google tcmalloc Heap Profiler Parameters ---------- - Tor commit ID: e0b8c53f56441eb0a8d9ebc5d579b520a31291c6 - Tor run with the heap profiler command: $ HEAPPROFILE=/tmp/profile ~/tor/src/app/tor - Google perf prof command to extract "inuse" data: $ google-pprof ~/tor/src/app/tor /tmp/profile.* --inuse_space --svg > out.svg - For the 10 minutes loop: --- #!/bin/bash while true do torsocks wget -q -O /dev/null echo "Next download now..." done & echo "Looping for 10 minutes..." pid=$! sleep 600 && kill -TERM $pid && pkill tor --- Profiling --------- - Bootstrapping client only up to 100%. Once reached, wait 30 seconds to catch preemptive circuit creation. SVG: inuse-client-bootstrapping.svg $ sleep 30 && pkill tor - Download (via wget/curl) low/high-bandwidth objects (10MB/100MB) via HTTP done only once. [exit] SVG: inuse-client-dl-10M-exit.svg SVG: inuse-client-dl-100M-exit.svg [.onion] SVG: inuse-client-dl-10M-onion.svg SVG: inuse-client-dl-100M-onion.svg - Download (via wget/curl) low-bandwidth objects (10MB) via HTTP. Repeat download when done for 10 minutes. [exit] SVG: inuse-client-10min-dl-10M-exit.svg [.onion] SVG: inuse-client-10min-dl-10M-onion.svg - Download (via wget/curl) high-bandwidth objects (100MB) via HTTP. Repeat download when done for 10 minutes. [exit] SVG: inuse-client-10min-dl-100M-exit.svg [.onion] SVG: inuse-client-10min-dl-100M-onion.svg