Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note

There are two methods to collect statistics

  1. using MEJB (requires OpenEJB)
  2. using pure JMX (does not require OpenEJB)

Collecting Statistics Using MEJB (Method 1)

The RCP, or collecting agent, will reside on the Server Node and will be in charge of preparing information for the Management Node. Since there are many statistics for different MBeans that the admin could track, we will use the MEJB component that is already implemented in Geronimo to contact these MBeans.
The Master Controller is the collecting agent that will do the managerial tasks such as query the mbeans for their statistics and what not. Additionally, the Master Controller will set timers via the EJB TimerService in order to periodically capture "snapshots." This term will refer to the server's statistics for a given time. With the timers set, we can save the history of the server's statistics. Upon request, the Master Controller will gather all of the information (either by calling MEJB or looking into the server's history stored in a database) and respond by shipping the data back to the Management Node.
Note: All stats will be JSR-77 compliant.

...

As of now, the collecting agent will create EJB Timers, if it does not already exist, to capture the server's essential information. On each callback the snapshot information on the server itself will be stored to the local database residing on the Server Node. In order to preserve the history, there will be a monthly (default, but can be configured) archive of the server's information stored locally.

Collecting Statistics Using Pure JMX (Method 2)

There is a second flavor of a collecting agent. The second option is to use pure JMX, bypassing the retrieval of the MEJB mbean in the server. All of the functionality is the same, because EJB timers are replaced with threads. Therefore, stopping a snapshot querying may take longer because of the use of threads as opposed to EJB Timers.

MEJB Method Dependencies

  1. agent-ds // datasource plugin
  2. agent-ejb // MEJB controller library
  3. agent-ear // packaging of agent-ejb and agent-jar
  4. agent-jar // common utility classes used to talk to the DB
  5. agent-sql // common sql commands to execute during deployment (used by agent-ds)

Pure JMX Method Depenedencies

  1. agent-ds // datasource plugin
  2. agent-car-jmx // JMX controller library
  3. agent-ear // packaging of agent-ejb and agent-jar
  4. agent-jar // common utility classes used to talk to the DB
  5. agent-sql // common sql commands to execute during deployment (used by agent-ds)

Using other Databases to store snapshot information on the Server Node

...