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