Hyperic HQ Plugin API v. 2.5.dev

## net.hyperic.hq.product
Class MeasurementPlugin

    java.lang.Object
      net.hyperic.hq.product.GenericPlugin
          net.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.