Hyperic HQ Plugin API v. 4.4.0.2

org.hyperic.hq.product
Class MeasurementPlugin

java.lang.Object
  extended by org.hyperic.hq.product.GenericPlugin
      extended by org.hyperic.hq.product.MeasurementPlugin
Direct Known Subclasses:
ExecutableMeasurementPlugin, JDBCMeasurementPlugin, MxMeasurementPlugin, SigarMeasurementPlugin, SNMPMeasurementPlugin, Win32MeasurementPlugin

public class MeasurementPlugin
extends GenericPlugin

Define and collect metrics.


Field Summary
static java.lang.String PROP_TEMPLATE_CONFIG
           
static java.lang.String TYPE_COLLECTOR
           
 
Fields inherited from class org.hyperic.hq.product.GenericPlugin
config, FILE_DELIM, FILE_DELIM_ESC, PROP_NAME
 
Constructor Summary
MeasurementPlugin()
           
 
Method Summary
 java.util.Properties getCollectorProperties(Metric metric)
           
 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)
           
 Collector getNewCollector()
           
protected  java.lang.String[][] getPlatformHelpProperties()
           
protected  java.lang.String getPluginXMLHelp(TypeInfo info, java.lang.String name, java.util.Map props)
           
 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 org.hyperic.hq.product.GenericPlugin
adjustClassPath, configure, getAbsoluteFiles, getConfig, getConfig, getCustomPropertiesSchema, getCustomPropertiesSchema, getCustomPropertiesSchema, getDefaultInstallPath, getLog, getLogName, getManagerProperty, getName, getPlatformName, getPluginClassName, getPluginData, getPluginProperty, getProductPlugin, getProperties, getScriptExtension, getScriptExtension, getScriptExtension, getTypeInfo, getTypeNameProperty, getTypeNameProperty, getTypeProperties, getTypeProperty, getTypeProperty, getTypeProperty, isNetStatEnabled, isWin32, openResource, setData, 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

TYPE_COLLECTOR

public static final java.lang.String TYPE_COLLECTOR
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 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

getNewCollector

public Collector getNewCollector()

getCollectorProperties

public java.util.Properties getCollectorProperties(Metric metric)

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. 4.4.0.2

Copyright © 2004-2006 Hyperic, Inc. support@hyperic.net, All Rights Reserved.