Hyperic HQ Plugin API v. 2.5.dev

net.hyperic.hq.product
Class MeasurementPlugin

java.lang.Object
  extended bynet.hyperic.hq.product.GenericPlugin
      extended bynet.hyperic.hq.product.MeasurementPlugin
Direct Known Subclasses:
SigarMeasurementPlugin, SNMPMeasurementPlugin

public abstract class MeasurementPlugin
extends GenericPlugin

Define and collect metrics.


Field Summary
static java.lang.String PROP_TEMPLATE_CONFIG
           
 
Fields inherited from class net.hyperic.hq.product.GenericPlugin
config, FILE_DELIM, FILE_DELIM_ESC, PROP_NAME
 
Constructor Summary
MeasurementPlugin()
           
 
Method Summary
 ConfigSchema getConfigSchema(TypeInfo info, ConfigResponse config)
          The ConfigSchema used to render config options for this resource in the UI and client shell.
 java.lang.String getHelp(TypeInfo info, java.util.Map props)
           
protected  MeasurementPluginManager getManager()
           
protected  java.util.Map getMeasurementProperties()
          Allow xml template properties to be added by a plugin.
 MeasurementInfo[] getMeasurements(TypeInfo info)
           
protected  java.lang.String[][] getPlatformHelpProperties()
           
protected  java.lang.String getPluginXMLHelp(TypeInfo info, java.lang.String name, java.util.Map props)
           
abstract  MetricValue getValue(Metric metric)
          This method is called when the plugin is asked for a metric value.
 void init(PluginManager manager)
          Called when the plugin is loaded on the server and on the agent side.
 java.lang.String translate(java.lang.String template, ConfigResponse config)
          Translate a measurement as returned from getMeasurements() into a value which can be passed into the plugin's getValue() routine.
 
Methods inherited from class net.hyperic.hq.product.GenericPlugin
configure, getAbsoluteFiles, getConfig, getConfig, getCustomPropertiesSchema, getCustomPropertiesSchema, getCustomPropertiesSchema, getDefaultInstallPath, getLog, getLogName, getName, getPlatformName, getPluginClassName, getProductPlugin, getProperties, getProperty, getTypeInfo, getTypeNameProperty, getTypeNameProperty, getTypeProperty, getTypeProperty, getTypeProperty, isWin32, openResource, setName, setTypeInfo, shutdown, toFileList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROP_TEMPLATE_CONFIG

public static final java.lang.String PROP_TEMPLATE_CONFIG
See Also:
Constant Field Values
Constructor Detail

MeasurementPlugin

public MeasurementPlugin()
Method Detail

init

public void init(PluginManager manager)
          throws PluginException
Description copied from class: GenericPlugin
Called when the plugin is loaded on the server and on the agent side.

Overrides:
init in class GenericPlugin
Parameters:
manager - The plugin manager for this plugin type.
Throws:
PluginException

getManager

protected MeasurementPluginManager getManager()

getMeasurementProperties

protected java.util.Map getMeasurementProperties()
Allow xml template properties to be added by a plugin. The properties can be used as if the hq-plugin.xml defined <property name="..." value="..."/> for each entry in the Map returned. Properties with the same name in the xml file will override these.


getMeasurements

public MeasurementInfo[] getMeasurements(TypeInfo info)

getPlatformHelpProperties

protected java.lang.String[][] getPlatformHelpProperties()

getPluginXMLHelp

protected java.lang.String getPluginXMLHelp(TypeInfo info,
                                            java.lang.String name,
                                            java.util.Map props)

getHelp

public java.lang.String getHelp(TypeInfo info,
                                java.util.Map props)

getValue

public abstract MetricValue getValue(Metric metric)
                              throws PluginException,
                                     MetricNotFoundException,
                                     MetricUnreachableException
This method is called when the plugin is asked for a metric value. The Metric is a translated value as returned by the getMeasurements() routine, and then run through the translate() method.

Parameters:
metric - Value returned from translate(), representing a specific metric to retrieve
Returns:
The value of the Metric and timestamp of collection time
Throws:
MetricInvalidException - The plugin is unable to use the metric, generally a developer bug where the template is malformed. I.e. JMX MalformedObjectNameException
MetricNotFoundException - The monitored resource does not know about the requested Metric. I.e. JMX AttributeNotFoundException
MetricUnreachableException - The monitored resource is unreachable. I.e. ConnectException
PluginException - Thrown when an internal plugin error occurs

translate

public java.lang.String translate(java.lang.String template,
                                  ConfigResponse config)
Translate a measurement as returned from getMeasurements() into a value which can be passed into the plugin's getValue() routine.

Parameters:
template - Measurement template from one of the plugins measurements returned from getMeasurements()
config - Configuration used to perform translation on the template
Throws:
PluginException - When an internal plugin error occurs
MetricInvalidException - When the template passed cannot be mapped to a template returned via getMeasurements()

getConfigSchema

public ConfigSchema getConfigSchema(TypeInfo info,
                                    ConfigResponse config)
Description copied from class: GenericPlugin
The ConfigSchema used to render config options for this resource in the UI and client shell.

Overrides:
getConfigSchema in class GenericPlugin
Parameters:
info - The TypeInfo of this plugin from ProductPlugin.getTypes
config - ConfigReponse of the parent resource (if any).
Returns:
ConfigSchema for this resource.

Hyperic HQ Plugin API v. 2.5.dev

Copyright © 2004-2005 Hyperic LLC support@hyperic.net, All Rights Reserved.