diff options
author | Nick Mathewson <nickm@torproject.org> | 2015-08-25 11:53:20 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2015-08-25 11:53:20 -0400 |
commit | 1eb210637539ce71794ff49fc462c35511b8a141 (patch) | |
tree | 04183d1f943a115dc8d1f2a769849bae08b35b40 /doc | |
parent | f8a51068235cbc59fcb80efcc7f79b9b2689261d (diff) | |
download | tor-1eb210637539ce71794ff49fc462c35511b8a141.tar.gz tor-1eb210637539ce71794ff49fc462c35511b8a141.zip |
Document callgraph analysis code
Diffstat (limited to 'doc')
-rw-r--r-- | doc/HACKING | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/doc/HACKING b/doc/HACKING index 7ee5cf846b..e92d675a43 100644 --- a/doc/HACKING +++ b/doc/HACKING @@ -265,6 +265,23 @@ Here are some basic instructions * "opreport -l that_dir/*" - Profit +Generating and analyzing a callgraph +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Run ./scripts/maint/generate_callgraph.sh . This will generate a + bunch of files in a new ./callgraph directory. + +2. Run ./scripts/maint/analyze_callgraph.py callgraph/src/*/* . This + will do a lot of graph operations and then dump out a new + "callgraph.pkl" file, containing data in Python's "pickle" format. + +3. Run ./scripts/maint/display_callgraph.py . It will display: + - the number of functions reachable from each function. + - all strongly-connnected components in the Tor callgraph + - the largest bottlenecks in the largest SCC in the Tor callgraph. + +Note that currently the callgraph generator can't detect calls that pass +through function pointers. Coding conventions ------------------ |