Follow these guidelines when specifying ModelMBeanAttributeInfo descriptors.

The vRealize Hyperic agent interprets ModelMBeanAttributeInfo as property or metric data. If the metricType descriptor is defined, vRealize Hyperic interprets the data as a metric.

An attribute that represents a property must be JMX SimpleType or an array of JMX SimpleTypes.

An attribute that represents a metric must be numeric JMX SimpleType.

Table 1. ModelMBeanAttributeInfo Descriptors

ModelMBean Field

Description

Type

Expected Format

Default Value

ModelMBeanAttributeInfo. getDescription()

Description of the property or metric.

Note:

In the vRealize Hyperic user interface, a property is identified by its description.

String

Must not be null.

N/A

ModelMBeanAttributeInfo. getDescriptor(). getField("metricCategory")

Category of a Metric

String

Allowable values:

  • PERFORMANCE - a metric that provides time-related information. For example, average elapsed time per method call.

  • UTILIZATION - a metric that indicates resource usage. For example, memory usage, cache size, thread pool size.

  • THROUGHPUT - a metric that indicates the amount of work done over a period of time. For example, transactions per second.

UTILIZATION

ModelMBeanAttributeInfo. getDescriptor(). getField("displayName")

Name that uniquely identifies the metric for a service type.

String

This value is used to uniquely identify the metric per service type.

Defaults to the name of the ModelMBean attribute.

getDescriptor(). getField("indicator")

Designates a metric as an Indicator in vRealize Hyperic. Indicators are presented on a resource's Indicator page in vRealize Hyperic.

String

If set to true, the metric is an Indicator, and is collected by default.

True

ModelMBeanAttributeInfo. getDescriptor(). getField("metricType")

Indicates how the value of the metric changes over time.

The presence of this field indicates the MBeanAttribute is a metric. If not set, the attribute will be considered a custom property.

vRealize Hyperic sets the collection interval for a metric based on the value of metricType.

Counter metrics are collected every 10 minutes.

Gauge metrics are collected every 5 minutes.

String

The JMX specification requires metricType have a value of either:

  • counter - a metric whose value does not decrease unless it is reset to a starting value. "Number of requests received" is an example of a counter metric. Counter metrics usually have a positive integer value.

  • gauge - a metric whose value can either increase or decrease. Cache Hit Rate is an example of a gauge metric.

Gauge

ModelMBeanAttributeInfo. getDescriptor(). getField("units")

The unit in which an metric is measured.

String

Hyperic specifies these allowable values:

  • B- Bytes

  • KB - Kilobytes

  • MB - Megabytes

  • GB - Gigabytes

  • TB - Terabytes

  • epoch-millis - Time since January 1, 1970 in milliseconds.

  • epoch-seconds - Time since January 1, 1970 in seconds.

  • mu - Microseconds

  • MS - Milliseconds.

  • jiffys - Jiffies (1/100 sec)

  • s - Seconds.

  • cents - Cents (1/100 of 1 US Dollar)

None, if not specified or if set to an unrecognized unit.