Bug 448600. Add prefs to disable Ogg and WAVE backends. r=doublec,sr=bzbarsky
[mozilla-central.git] / tools / footprint / README.reports
blobb1c68cf9bc9dffb38384d7acdf41ebd3b49c1064
1                  Gross Dynamic Footprint Reports
2              Chris Waterson <waterson@netscape.com>
3                       November 16, 2000
5 This is a short primer on how to run the ``gross dynamic footprint''
6 reports.
8 Win32
9 -----
11 I've tried this on Win2K. Should work on NT, probably not 98.
13 1. Configure your machine with a ``standard'' mozilla build
14 environment, as described at:
16   http://www.mozilla.org/build/win32.html
18 Specifically, you'll need the Cygnus tools (GNU make, awk, sed), which
19 can be downloaded from:
21   http://sourceware.cygnus.com/cygwin/download.html
23 2. Install the Win32 version of GNUplot, avaialable from:
25   ftp://ftp.dartmouth.edu/pub/gnuplot/gnuplot3.7cyg.zip
27 3. Configure a web server with the ``buster.cgi'' CGI script contained
28 in this directory.
30 4. Pull and build a ``release'' build. Besides the normal Win32 flags
31 described on the Win32 build instructions, be sure that you've set the
32 following:
34   set BUILD_OPT=1
35   set MOZ_DEBUG=
36   set MOZ_PROFILE=
38 That is, MOZ_DEBUG and MOZ_PROFILE should be unset.
40 5. To collect data and build the dynamic footprint graph, type the
41 following command from the mozilla/tools/footprint directory:
43   make --unix -fwin32-gdf.mk \
44     BUSTER_URL="http://myserver/cgi-bin/buster.cgi?refresh=10"
46 (Replace ``myserver'' with the name of the webserver where you
47 installed ``buster.cgi'' in step 3, above.)
49 This should:
51   - Build ``wm.exe'', which will spy on memory usage.
52   - Run the winEmbed program over the top 100 URLs (from top100.txt)
53     to generate a file called ``winEmbed.dat''
54   - Run mozilla over the top 100 URLs to generate a file called
55     ``mozilla.dat''
56   - Use gnuplot to create a PNG image file called win32-gdf.png
58 Linux
59 -----
61 1. Configure your machine with a ``standard'' mozilla build
62 environment, as described at:
64   http://www.mozilla.org/build/unix.html
66 2. Install GNUplot, which is available as an RPM on RedHat-6.2 CDs
67 (probably others, as well).
69 3. Configure a web server with the ``buster.cgi'' CGI script contained
70 in this directory.
72 4. Pull and build a ``release build''. Here are the settings you
73 should use in your .mozconfig file:
75    ac_add_options --enable-optimize
76    ac_add_options --disable-debug
77    ac_add_options --enable-strip-libs
79 5. To collect data and build the dynamic footprint graph, type the
80 following command from the mozilla/tools/footprint directory:
82   make -flinux-gdf.mk \
83     BUSTER_URL="http://myserver/cgi-bin/buster.cgi?refresh=10"
85 (Replace ``myserver'' with the name of the webserver where you
86 installed ``buster.cgi'' in step 3, above.)
88 Details, details, details
89 -------------------------
91 1. When running these tests, you'll probably want to use predictable
92 cache settings. You can modify $(DIST)/bin/defaults/pref/all.js to
93 tweak settings that will be used by [win|gtk]Embed (these programs
94 ignore profile-specific settings AFAIK). For example, I've used these
95 to try to cull out cache usage altogether:
97   pref("browser.cache.disk_cache_size",       0);
98   pref("browser.cache.enable",                false);
99   pref("browser.cache.disk.enable",           false);
100   pref("browser.cache.memory_cache_size",     0);
101   pref("browser.cache.disk_cache_ssl",        false);
103 I think the image cache has a pref that you can use to shut it off as
104 well. Haven't found it yet.
106 2. If you collect data using Mozilla (as Win32 will do, by default), I
107 recommend using a clean profile for consistency's sake. Otherwise,
108 results will vary based on random stuff like how big your bookmarks
109 are, how big your global history is, whether or not you've started
110 mail, etc.
112 3. I removed the ``plugin downloader plugin'' libnullplugin.so, as
113 well as all other plugins, from $(DIST)/bin/plugins so that no plugins
114 would be loaded.