|
ABLE 2.0.0 07/02/2003 10:25:01 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.ibm.able.AbleObject | +--com.ibm.able.AbleDefaultAgent | +--com.ibm.able.AbleRemoteDefaultAgent | +--com.ibm.able.autotune.AutotuneAgent
Base Autotune Agent for Generic Adaptive Control
An Autotune Agent contains adaptors which gather data at specified intervals. It maintains a registry of all the metrics collected by the adaptors. It contains a master controller which takes actions using the adaptor-collected data as input.
Field Summary | |
---|---|
protected int |
controllerRate
The rate at which the agent's masterController is processed; in milliseconds. |
protected AutotuneDataBean |
dataBean
Holder for data to be shipped between remote agent and client agent |
protected java.lang.String |
dataRepositoryPath
The base directory used to store logging data. |
protected int |
defaultAdaptorRate
The rate in milliseconds at which the agent's masterController is processed. |
protected AutotuneController |
masterController
The controller that gets called each time the autotune agent is processed. |
protected AutotuneMetricManager |
metricManager
A registry of all metrics available for use in this agent. |
protected AutotuneAgentIf |
remoteAgent
The remote agent (if connected via customizer) |
protected boolean |
synchronousAdaptorMode
A boolean indicating whether or not adaptors collect their data synchronously when this agent is prcoessed. |
Fields inherited from class com.ibm.able.AbleRemoteDefaultAgent |
---|
agentAddr, agentHost, agentName, defaultName, myRemoteStub |
Fields inherited from class com.ibm.able.AbleDefaultAgent |
---|
activeDataSource, eventConnections, myBeans, numEpochs, processList, processListOK, userDefinedFunctions |
Fields inherited from class com.ibm.able.AbleObject |
---|
changed, chgSupport, comment, dataFlowEnabled, destBufferConnections, eventQueue, fileName, inputBuffer, listeners, logger, name, outputBuffer, parent, propertyConnectionMgr, sourceBufferConnections, state, stateChgSupport, trace |
Constructor Summary | |
---|---|
AutotuneAgent()
|
|
AutotuneAgent(java.lang.String aName)
|
Method Summary | |
---|---|
static java.lang.String |
Copyright()
Determine the copyright of this class. |
java.util.Vector |
getAdaptors()
Return all beans which are AutotuneAdaptors. |
int |
getControllerRate()
Return the time period between processing the masterController. |
java.util.Vector |
getControllers()
Return all beans which are AutotuneControllers. |
java.lang.Object |
getDataBean()
|
java.lang.String |
getDataRepositoryPath()
Get the base directory used to store logging data. |
int |
getDefaultAdaptorRate()
|
boolean |
getLogData()
Return whether logging is on or off. |
java.lang.String |
getLogDataFileName()
Get the name of the file where log data is written. |
AutotuneMetricCollection |
getLoggingMetrics()
Get the collection of selected metrics for logging. |
AutotuneController |
getMasterController()
Return the controller serving as masterController in this agent. |
AutotuneMetric |
getMetric(java.lang.String metricName)
Return the metric with the specified name. |
AutotuneMetricCollection |
getMetrics()
Get all metrics defined by all adaptors in this agent. |
AutotuneAgentIf |
getRemoteAgent()
Retrieve the remote agent reference (if any) |
boolean |
hasRemoteAgent()
Returns true if this agent is acting as a local proxy for a remote agent |
void |
init()
Initialize the autotune agent. |
boolean |
isLogData()
Return whether logging is on or off. |
boolean |
isSynchronousAdaptorMode()
Return the flag indicating whether adaptors are to be processed synchronously. |
void |
process()
Check the current state of the target system if the adaptor mode is synchronous by processing each adaptor. |
void |
processAbleEvent(AbleEvent theAbleEvent)
Process an Able event synchronously; that is, on the same thread as the caller. |
void |
processTimerEvent()
Current behavior is to simply call the process() method. |
void |
reset()
Restore processing options to default values. |
void |
setControllerRate(int rate)
Set the time period between processing the masterController. |
void |
setDataBean(java.lang.Object theDataBean)
|
void |
setDataRepositoryPath(java.lang.String path)
Set the base directory used to store logging data. |
void |
setDefaultAdaptorRate(int rate)
|
void |
setLogData(boolean state)
Turn logging on or off. |
void |
setLogDataFileName(java.lang.String fileName)
Set the name of the file used to write log data. |
void |
setLoggingMetrics(AutotuneMetricCollection loggingMetrics)
Set the collection of selected metrics for logging. |
void |
setMasterController(AutotuneController controller)
Select which controller should be master. |
boolean |
setMasterController(java.lang.String theName)
Set the master controller using its name. |
void |
setRemoteAgent(AutotuneAgentIf theRemoteAgent)
Set the remote agent reference |
void |
setSynchronousAdaptorMode(boolean state)
Set the flag used to determine whether to process each adaptor before processing the masterController. |
void |
writeLogData()
Write system state and control actions to log file for post mortem analysis, and replay if desired. |
Methods inherited from class com.ibm.able.AbleRemoteDefaultAgent |
---|
getAgentAddr, getAgentHost, getAgentName, init, rmiRebind, rmiUnbind |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.ibm.able.AbleRemoteAgent |
---|
addEventConnection, getAgentAddr, getAgentHost, getAgentName, getDataSource, isActiveDataSource, removeEventConnection, setActiveDataSource |
Methods inherited from interface com.ibm.able.AbleRemoteBean |
---|
getName, getState, init, process, quitAll, resumeAll, suspendAll |
Methods inherited from interface com.ibm.able.AbleRemoteEventListener |
---|
handleAbleEvent |
Methods inherited from interface com.ibm.able.AbleEventListenerRemoteManager |
---|
addAbleEventListener, notifyAbleEventListeners, removeAbleEventListener |
Methods inherited from interface com.ibm.able.AbleBeanRemoteContainer |
---|
addBean, containsBean, containsBean, getBean, getBeans, removeAllBeans, removeBean, removeBean |
Methods inherited from interface com.ibm.able.AbleUserDefinedFunctionRemoteManager |
---|
addUserDefinedFunction, containsUserDefinedFunction, getUserDefinedFunction, getUserDefinedFunctions, invokeUserDefinedFunction, removeUserDefinedFunction, setUserDefinedFunctions |
Methods inherited from interface com.ibm.able.AbleBean |
---|
getComment, getLogger, getName, getParent, getState, getTraceLogger, isChanged, process, setChanged, setComment, setLogger, setName, setParent, setState, setTraceLogger |
Methods inherited from interface com.ibm.able.AbleEventListenerManager |
---|
addAbleEventListener, dataChanged, getAbleEventListeners, notifyAbleEventListeners, removeAbleEventListener |
Methods inherited from interface com.ibm.able.AbleEventQueueProcessor |
---|
processNoEventProcessingEnabledSituation |
Methods inherited from interface com.ibm.able.AblePropertyChangeManager |
---|
addPropertyChangeListener, addPropertyConnection, getPropertyConnectionManager, removeAllPropertyConnections, removePropertyChangeListener, removePropertyConnection |
Methods inherited from interface com.ibm.able.AbleSerializable |
---|
getFileName, restoreFromFile, restoreFromFile, saveToFile, saveToFile, setFileName |
Methods inherited from interface com.ibm.able.AbleBeanContainer |
---|
getName |
Field Detail |
protected AutotuneController masterController
protected AutotuneMetricManager metricManager
protected int controllerRate
protected boolean synchronousAdaptorMode
protected int defaultAdaptorRate
protected java.lang.String dataRepositoryPath
protected AutotuneAgentIf remoteAgent
protected AutotuneDataBean dataBean
Constructor Detail |
public AutotuneAgent() throws AbleException, java.rmi.RemoteException
public AutotuneAgent(java.lang.String aName) throws AbleException, java.rmi.RemoteException
Method Detail |
public void setSynchronousAdaptorMode(boolean state) throws AbleException
setSynchronousAdaptorMode
in interface AutotuneAgentIf
public boolean isSynchronousAdaptorMode() throws AbleException
isSynchronousAdaptorMode
in interface AutotuneAgentIf
public void setControllerRate(int rate) throws AbleException
setControllerRate
in interface AutotuneAgentIf
public int getControllerRate() throws AbleException
getControllerRate
in interface AutotuneAgentIf
public void setDefaultAdaptorRate(int rate) throws AbleException
setDefaultAdaptorRate
in interface AutotuneAgentIf
public int getDefaultAdaptorRate() throws AbleException
getDefaultAdaptorRate
in interface AutotuneAgentIf
public void setDataRepositoryPath(java.lang.String path) throws AbleException
setDataRepositoryPath
in interface AutotuneAgentIf
public java.lang.String getDataRepositoryPath() throws AbleException
getDataRepositoryPath
in interface AutotuneAgentIf
public AutotuneController getMasterController() throws AbleException
getMasterController
in interface AutotuneAgentIf
public void setMasterController(AutotuneController controller) throws AbleException
setMasterController
in interface AutotuneAgentIf
public boolean setMasterController(java.lang.String theName) throws AbleException
setMasterController
in interface AutotuneAgentIf
theName
- A String containing the name of the controller.public AutotuneMetricCollection getMetrics() throws AbleException
getMetrics
in interface AutotuneAgentIf
public AutotuneMetricCollection getLoggingMetrics() throws AbleException
getLoggingMetrics
in interface AutotuneAgentIf
public void setLoggingMetrics(AutotuneMetricCollection loggingMetrics) throws AbleException
setLoggingMetrics
in interface AutotuneAgentIf
public AutotuneMetric getMetric(java.lang.String metricName) throws AbleException
getMetric
in interface AutotuneAgentIf
public void setLogData(boolean state) throws AbleException
setLogData
in interface AutotuneAgentIf
public boolean getLogData() throws AbleException
getLogData
in interface AutotuneAgentIf
public boolean isLogData() throws AbleException
isLogData
in interface AutotuneAgentIf
public void setLogDataFileName(java.lang.String fileName) throws AbleException
setLogDataFileName
in interface AutotuneAgentIf
public java.lang.String getLogDataFileName() throws AbleException
getLogDataFileName
in interface AutotuneAgentIf
public void process() throws AbleException
process
in interface AbleRemoteBean
process
in class AbleDefaultAgent
writeLogData()
public void processTimerEvent() throws AbleException
processTimerEvent
in class AbleObject
process()
public void processAbleEvent(AbleEvent theAbleEvent) throws AbleException
Note that the exceptions IllegalAccess, InvocationTarget, NoSuchMethod, and Security are all caught here, so that this method simply returns to the caller with no error indication. If logging is in effect, the exceptions are logged.
processAbleEvent
in class AbleObject
theAbleEvent
- The event to process.
AbleObject.setAbleEventProcessingEnabled(int)
,
AbleObject.startEnabledEventProcessing()
,
AbleDefaultAgent.handleAbleEvent(AbleEvent)
public void writeLogData() throws AbleException
writeLogData
in interface AutotuneAgentIf
public void reset() throws AbleException
reset
in interface AbleRemoteBean
reset
in class AbleDefaultAgent
com.ibm.able.AbleRemoteBean
java.rmi.RemoteException
- If an error occurs.public void init() throws AbleException
Note: All adaptors and controllers should already be in the agent/ The initialization steps are:
init
in interface AbleRemoteBean
init
in class AbleRemoteDefaultAgent
com.ibm.able.AbleRemoteBean
java.rmi.RemoteException
- If an error occurs.public java.util.Vector getAdaptors() throws AbleException
getAdaptors
in interface AutotuneAgentIf
public java.util.Vector getControllers() throws AbleException
getControllers
in interface AutotuneAgentIf
public void setRemoteAgent(AutotuneAgentIf theRemoteAgent)
setRemoteAgent
in interface AutotuneAgentIf
public AutotuneAgentIf getRemoteAgent()
public boolean hasRemoteAgent()
public void setDataBean(java.lang.Object theDataBean)
public java.lang.Object getDataBean()
public static java.lang.String Copyright()
|
ABLE 2.0.0 07/02/2003 10:25:01 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |