Kaynağa Gözat

Initial oprofile instructions based on original by weasel.

Nick Mathewson 13 yıl önce
ebeveyn
işleme
2be5effe9a
1 değiştirilmiş dosya ile 27 ekleme ve 0 silme
  1. 27 0
      doc/HACKING

+ 27 - 0
doc/HACKING

@@ -130,6 +130,33 @@ compiler generated  no code for that line.  '######' means that the
 line was never reached.  Lines with numbers were called that number
 of times.
 
+Profiling Tor with oprofile
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The oprofile tool runs (on Linux only!) to tell you what functions Tor is
+spending its CPU time in, so we can identify berformance pottlenecks.
+
+Here are some basic instructions
+
+ - Build tor with debugging symbols (you probably already have, unless
+   you messed with CFLAGS during the build process).
+ - Build all the libraries you care about with debugging symbols
+   (probably you only care about libssl, maybe zlib and Libevent).
+ - Copy this tor to a new directory
+ - Copy all the libraries it uses to that dir too (ldd ./tor will
+   tell you)
+ - Set LD_LIBRARY_PATH to include that dir.  ldd ./tor should now
+   show you it's using the libs in that dir
+ - Run that tor
+ - Reset oprofiles counters/start it
+   * "opcontrol --reset; opcontrol --start", if Nick remembers right.
+ - After a while, have it dump the stats on tor and all the libs
+   in that dir you created.
+   * "opcontrol --dump;"
+   * "opreport -l that_dir/*"
+ - Profit
+
+
 Coding conventions
 ------------------