1Summary of function
2===================
3
4This tool monitors the memory, timing and garbage collectionstatistics of
5ECLiPSe at regular intervals. 
6
7Layout
8======
9
10This tool consists of several subsections that reports on various
11statistics of ECLiPSe, from top to bottom, these are:
12
13
14Local and Control stack memory statistics
15
16Global and Trail stack memory statistics
17
18Shared Heap memory statistics
19
20Timings and garbage collection statistics
21
22At the bottom of the window, there are two buttons:
23
24Change Interval: Change the interval at which the tool updates the
25   statistics
26
27Close: Closes the tool
28
29
30Functionality
31=============
32
33This tool displays a window with statistical information on ECLiPSe which
34is updated at regular intervals. Implementationally, ECLiPSe is interrupted
35at regular intervals by a timer event, and statistical information is
36gathered and then displayed on the statistics window. The timed intervals
37are measured in user CPU time if this is possible, or real time if not
38(currently only MS Windows based systems uses real time). In the case of
39CPU time, this means that the statistics is not updated if tkeclipse is
40idling (e.g. waiting for a query from the user). 
41
42The statistical data displayed are divided into two types: memory
43statistics and timing/garbage collection statistics.
44
45Memory Statistics:
46------------------
47
48These display memory usage information on various ECLiPSe memory
49areas. As ECLiPSe memory usage are divided into several memory areas which
50are allocated separately, the display for memory is also divided into
51several sections, each corresponding to a memory area. Note that ECLiPSe
52stacks which uses the same memory areas are displayed together. See the
53user manual chapter on ECLiPSe memory organisation for more details on what
54the various memory areas are used for.
55
56Each individual section are divided into two two main parts: the left part
57consists of a pie chart which shows the proportion of memory currently used
58and allocated; and the right part are the actual numbers (in bytes) of
59currently allocated memory for the particular stack (alloc), the actual
60amount of memory currently used on the stack (used) and the remaining
61memory on the allocated stack (free). The colours for the `used' and `free'
62numbers are the same as the colour representing the same information on the
63pie chart. For the stack areas (i.e. all areas except the shared heap), the
64pie chart proportions are relative to the maximum size to which the memory
65area can grow -- this maximum is fixed when the ECLiPSe session is
66started. In most cases this is significantly more than the actual allocated
67memory for the area. It is intended that in future releases, the display
68will be supplemented by `perfmeter' style displays which will show the
69history of memory usage of each stack in more detail.
70
71The various sections are:
72
73Global and trail stacks
74
75Local and control stacks
76
77Shared heap - note that here the pie chart is relative to currently
78allocated memory for the heap. This is because the maximum size for the
79heap is not always known.
80
81Note that information on the private heap is not displayed, as this memory
82area is in general not of much interest to the user. Information on this
83area can still be obtained using statistics/2. Note also the memory usage
84by Tcl/Tk, and also any other external libraries are not displayed -- such
85information are generally not available to ECLiPSe.
86
87
88Timing and Garbage Collection Statistics:
89-----------------------------------------
90
91The section is divided into a pie-chart which shows the portion of time
92(in blue) with respect to total user CPU time spent garbage collecting, and
93sections on the timing and garbage collection. 
94
95In the timing (User CPU time) section, the data shown are: the total user
96CPU time for this ECLiPSe session, in seconds (total time), the total user
97CPU time spent on garbage collection, in seconds (gc time), and the % of
98time spent (with respect to elapsed real time) by the CPU on the ECLiPSe
99process since the last update. Note that the total time includes all time
100used by the ECLiPSe process -- including garbage collection, execution of
101Tcl code, and time spent on any external programs.
102
103In the garbage collection section, the data displayed are: the total number
104of bytes collected in this session (total collected), the number of times
105the garbage collector has been invoked (# gc) and the % of memory recovered
106(% recovered).
107
108
109Changing Update Interval
110------------------------
111
112The interval at which the statistics window is updated can be changed by
113clicking on the Change interval button. An entry window will appear in
114which the user can specify the new interval. The specified time can either
115be an integer or a real number, and the units are seconds. Click on `Set'
116in the entry window to set the new interval, or `Cancel' to not change the
117interval. The initial default interval is 1 second.
118
119
120
121
122
123