GcRadar is a library that will monitor the activities of the Java Garbage collector on the objects of the client codes choosing. It is designed to give the client source code access to such information. The library can provide this information by using callbacks, log4j and simple polling by the client code. The library can also be used by developers for unit-testing memory intensive code.
[gcRadar Usage]
[Example - SimpleObjectSingleThreadedMonitor]
[Example - SingleObjectSingleThreadedLog4jMonitor]
[Example - ObjectTreeMonitor]
A very important concept used while the design of gcRadar is that of Object Monitor.
An object monitor is the entity that is responsible for identifying an object, then detecting the garbage collection events relating to an object and then passing the information of the event vian an appropriate medium.
These responsibilities are managed by 3 separate sub-modules,
This module is represented by the java interface com.gcr.monitors.modules.in.InputModule, the module is expected to be responsible for the enumeration of objects for monitoring, also adding and removing the objects while the the monitoring is onging.
This module is represented by the interface com.gcr.monitors.modules.monitoring.MonitoringModule, the module is responsible for capturing garbage collection events pertaining to the objects enlisted by the Input Module.
This module is represented by the interface com.gcr.monitors.modules.notification.NotificationModule, the module is responsible for passing-on or recording the garbage collection events that were detected by the Monitoring Module.
PS: Please pass any suggestions regarding the usability to the developers using email
Wiki: Example - ObjectTreeMonitor
Wiki: Example - SimpleObjectSingleThreadedMonitor
Wiki: Example - SingleObjectSingleThreadedLog4jMonitor
Wiki: How it works ?
Wiki: gcRadar Usage