1 Gross Dynamic Footprint Reports
2 Chris Waterson <waterson@netscape.com>
5 This is a short primer on how to run the ``gross dynamic footprint''
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
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
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.)
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
56 - Use gnuplot to create a PNG image file called win32-gdf.png
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
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:
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
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