Equinox Incubator - Resource Monitoring
To provide a framework for monitoring resources that are contributed by bundles installed on the host machine. The term 'resources' is used to describe something as specific as a single object or something as abstract as an OSGI bundle.
See the incubator proposal for more detail.
|February 28, 2007- Added Extension Registry extension. Moved XMLRPC server code to use JeTTY.|
|June 6, 2006 - Added a new feature for the common code and removed duplicate bundles from the client and server.|
|May, 2006 - Initial release.|
Here is some documentation to get you started.
Working with the resource monitoring framework
The monitoring incubator uses the main incubator resources with the following refinements.
|Bugs||Summaries start with [monitoring]|
|Equinox Incubator Release Engineering
This project contains the Team Project Set files to aid developers in loading the projects into their workspace. Developers interested in loading the monitoring projects into their workspace should load this project, navigate to the monitoring folder, selecting the project set file (.psf) that they are interested in, and then choose Import Project Set... from the context menu.
This is the feature project for the common code.
This bundle contains the resource monitoring code which is common to both the client and the server.
|Apache Commons Codec
This bundle contains Apache Common Codec code which is a requirement of the Apache XML-RPC bundle.
|Apache Commons HTTP Client
This bundle contains Apache Commons HTTP Client code which is a requirement of the Apache XML-RPC bundle.
|Apache Commons Logging
This bundle contains Apache Commons Logging code which is a requirement for the Apache XML-RPC bundle.
|Apache Web Services Common Utils
This bundle contains Apache Web Services Common Utils code which is a requirement for the Apache XML-RPC bundle.
|Apache Web Services JaxME
This bundle contains Apache Web Services JaxME code which is a requirement for the Apache XML-RPC bundle.
This bundle contains the code for Apache XML-RPC. This is an alternative transport for the resource monitoring framework.
This is the feature project for the client.
This project contains the client-specific code.
This project contains the client portion of the code which contributes RMI as a transport.
This project contains the client portion of the code which contributes XML-RPC as a transport.
This is the feature project for the server.
This project contains the server-specific code.
This project contains the server-specific code which contributes RMI as a transport. By default, RMI is the default transport for the resource monitoring server.
This comment contains the server-specific code which contributes XML-RPC as a transport. To enable XML-RPC as the default transport for the server, you need to set the following system property:
|Extension Registry Extension
This project contributes information about the Equinox Extension Registry and its contributions.
This project contributes information about OSGi bundles and services.
This project contributes the server-specific code which contributes information about the preferences including the different scopes and defined key/value pairs.
This project contributes information and methods for manipulation of workspace resources. (as defined by the org.eclipse.core.resources bundle.
This project contributes information about SWT resources by exposing the Sleak tool and the information it provides.
This project provides the server-specific code that contributes information about the VM such as the number of classes loaded, the amount of memory used, etc.
DownloadsIf you don't want to check the code out of the repository and export your own plug-ins and features, there are some pre-built zip files for the client and server on the Equinox download page in the Incubator section.
Running the FrameworkThe current implementation consists of a set of features and bundles that are intended to be placed in your eclipse install.
|Java runtime version 1.4 or 1.5 depending on which plugins are to be used.|
|Tested with Eclipse 3.3 (build I20070228).|
|Note: The XMLRPC server code was recently changed from using the default web server that comes with XMLRPC, to use JeTTY. Because of this, we are still in the process of getting the server code to run on a Foundation VM.|
|Running the server:|
|Start the Eclipse application which contains the installed server feature (starting Eclipse by default starts the JMX server).|
|Running the client:|
|Start the Eclipse application (if not already running) which contains the installed client feature and switch to the JMX Resource Management perspective.|
|Select JMX Server -> Open Connection and enter the host and protocol to use to connect to the server. Note, if a server's resources (objects) are found to exist in the same virtual machine as the one which the client is running, a dialog will notify you of this and give you the option of bypassing the setup of a tranport layer to facilitate communication between the client and server.|
|Once connected, the list of available 'contributions' (mbeans) registered with the server are shown in a tree view. Navigating the tree view allows you to inspect and invoke operations exposed by the resources contributed as mbeans.|
|To disconnect, select JMX Server -> Disconnect.|
- Jeff McAffer (IBM)
- DJ Houghton (IBM)
- Robert Connell (UNB)