| 7 | | as for the selected time intervals with the currently available events, but in general, intevals require more kinds of events and more samples. Similarly, when we visualise some of this as graphs and especially graphs of rates of change of some values (e.g., memory usage), more frequent sampling will be required. |
| | 7 | as for the selected time intervals with the currently available events, but in general, intervals require more kinds of events and more samples. Similarly, when we visualize some of this as graphs and especially graphs of rates of change of some values (e.g., memory usage), more frequent sampling will be required. |
| | 151 | A rough proposal, in particular the names are ad hoc and the units are provisional (e.g., words or blocks would be more natural for memory events, but TS does not know their sizes). |
| | 152 | |
| | 153 | === Memory stats events === |
| | 154 | |
| | 155 | * MEM_ALLOCATED(number_of_bytes) emitted after (or just before?) each GC, with the number of bytes allocated in the heap since the previous GC |
| | 156 | |
| | 157 | * MEM_COPIED(number_of_bytes) emitted after each GC, with the number of bytes copied during that GC |
| | 158 | |
| | 159 | * MEM_RESIDENCY(number_of_bytes) emitted after each major GC (too rarely, but after minor GC the figure is too inaccurate, probably), with the total number of bytes of memory actually used (as opposed to allocated from the OS) by the program |
| | 160 | |
| | 161 | * MEM_SLOP(number_of_bytes) emitted after each GC, with the current slop in bytes |
| | 162 | |
| | 163 | * MEM_TOTAL(number_of_bytes) emitted after each GC, with the total number of mblocks allocated from the OS |
| | 164 | |
| | 165 | * MEM_TOTAL_BLOCK(number_of_bytes) emitted after each GC, with the total memory of blocks allocated inside the mblocks allocated from the OS, used to calculated the memory lost due to fragmentation of mblocks |
| | 166 | |
| | 167 | === GC stats events === |
| | 168 | |