mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-19 09:50:29 +01:00
Add support for running "calltool" on Tor via "make callgraph".
Closes #19307.
This commit is contained in:
parent
8421756da3
commit
283be00b0b
1
.gitignore
vendored
1
.gitignore
vendored
@ -70,6 +70,7 @@ uptime-*.json
|
||||
/Tor*Bundle.dmg
|
||||
/tor-*-win32.exe
|
||||
/coverage_html/
|
||||
/callgraph/
|
||||
|
||||
# /contrib/
|
||||
/contrib/dist/tor.sh
|
||||
|
@ -224,6 +224,10 @@ check-changes:
|
||||
update-versions:
|
||||
$(PERL) $(top_builddir)/scripts/maint/updateVersions.pl
|
||||
|
||||
.PHONY: callgraph
|
||||
callgraph:
|
||||
$(top_builddir)/scripts/maint/run_calltool.sh
|
||||
|
||||
version:
|
||||
@echo "Tor @VERSION@"
|
||||
@if test -d "$(top_srcdir)/.git" && test -x "`which git 2>&1;true`"; then \
|
||||
|
7
changes/19037
Normal file
7
changes/19037
Normal file
@ -0,0 +1,7 @@
|
||||
o Minor features (development support):
|
||||
- Developers can now generate a call-graph for Tor using the
|
||||
"calltool" python program, which post-processes object dumps. It
|
||||
should work okay on many Linux and OSX platforms, and might work
|
||||
elsewhere too. To run this, install calltool from
|
||||
https://gitweb.torproject.org/user/nickm/calltool.git and run
|
||||
"make callgraph". Closes ticket 19307.
|
29
scripts/maint/run_calltool.sh
Executable file
29
scripts/maint/run_calltool.sh
Executable file
@ -0,0 +1,29 @@
|
||||
#!/bin/sh
|
||||
|
||||
# You can find calltool at https://gitweb.torproject.org/user/nickm/calltool.git
|
||||
|
||||
set -e
|
||||
|
||||
if test "x$CALLTOOL_PATH" != "x"; then
|
||||
PYTHONPATH="${CALLTOOL_PATH}:${PYTHONPATH}"
|
||||
export PYTHONPATH
|
||||
fi
|
||||
|
||||
mkdir -p callgraph
|
||||
|
||||
SUBITEMS="fn_invgraph fn_scc fn_scc_weaklinks module_graph module_invgraph module_scc module_scc_weaklinks"
|
||||
|
||||
for calculation in $SUBITEMS; do
|
||||
echo "======== $calculation"
|
||||
python -m calltool $calculation > callgraph/$calculation
|
||||
done
|
||||
|
||||
echo <<EOF > callgraph/README
|
||||
This directory holds output from calltool, as run on Tor. For more
|
||||
information about each of these files, see the NOTES and README files in
|
||||
the calltool distribution.
|
||||
|
||||
You can find calltool at
|
||||
https://gitweb.torproject.org/user/nickm/calltool.git
|
||||
EOF
|
||||
|
Loading…
Reference in New Issue
Block a user