How to add support for Minimum and Maximum metric values in CA Performance Management (CAPM)
search cancel

How to add support for Minimum and Maximum metric values in CA Performance Management (CAPM)

book

Article ID: 9917

calendar_today

Updated On:

Products

CA Infrastructure Management CA Performance Management - Usage and Administration

Issue/Introduction

When creating a tabular style chart it may be useful to display Minimum and Maximum values for metrics being reviewed. Not all factory metrics support the gathering and storage of Minimum and Maximum data points for reporting needs by default.

A tabular Top style report can show Minimum and Maximum values for selected metrics that support that data.

Some metrics do not gather this data by default. To enable this for selected metrics we need to add support for these values, changing it from False to True.

How can we validate if a metric provides this data or not? To determine if a lack of support for Min/Max values is the reason that option for select metrics can't be found determine the Metric Family in use. Go to the Metric Family entry in the Data Aggregator Views. In the Metrics tab, review the value in the Min and Max columns for the metrics involved. False means it is not gathering this data and storing it. True means it is gathered and stored for reporting purposes.

Environment

All CA Performance Manager releases

Resolution

This example shows how to add support for the Bits In and Bits Out metrics from the Alternate Interface Metric Family (MF).

Step One: Find the internal name for the MF involved to use in REST URLs.

  1. Identify the Metric Family involved.
  2. Navigate to the Metric Families list within the Data Aggregator (DA) views in CA Performance Manager (CAPM)
  3. Select the MF involved
  4. Hold the mouse over any column in the Metric Families tab and select the Gear icon presented
  5. Select the Columns option to expose the list of choices
  6. Check off the box to expose the Internal Name column and values
  7. Make note of the internal name; NormalizedAlternatePortInfo in this example

 

Step Two: Display the default MF extension XML code that will be edited

  1. Open a preferred REST API client
  2. Set it to perform a GET request
  3. Request the data from, in this example, the URL "http://DA_HostName:8581/typecatalog/metricfamilies/extension/NormalizedAlternatePortInfo"
  4. The resulting data should appear similar to the following:
<!-- Auto-generated by the type catalog local manager. -->
<DataModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" namespace="http://im.ca.com/normalizer" xsi:noNamespaceSchemaLocation="IMDBCertificationFacet.xsd">
<Author>CA</Author>
<Version>1.5</Version>
<FacetType name="NormalizedAlternatePortInfo" descriptorClass="com.ca.im.core.datamodel.certs.NormalizedFacetDescriptorImpl">
<FacetOf namespace="http://im.ca.com/core" name="Item"/>
</FacetType>
</DataModel>

This is the default code used. If it a reset back to default is ever required, the same operation to edit the extension can be used to reset it to default. Save this code for later reference if ever needed.

 

Step Three: Edit the XML for update to the MF extension, overriding the default behavior.

This is the full set of XML code to be used in a REST API PUT statement. Note that we only include the changes we need to make, to 'extend' the certification and override the default behavior.

<!-- Auto-generated by the type catalog local manager. -->
<DataModelxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"namespace="http://im.ca.com/normalizer"xsi:noNamespaceSchemaLocation="IMDBCertificationFacet.xsd">
<Author>CA</Author>
<Version>1.6</Version>
<FacetTypename="NormalizedAlternatePortInfo"descriptorClass="com.ca.im.core.datamodel.certs.NormalizedFacetDescriptorImpl">
<FacetOfnamespace="http://im.ca.com/core"name="Item"/>
<AttributeGroupname="AlternatePortInfo"external="true"list="true">
<Attributename="BitsOut"type="Double">
<Minimum>true</Minimum>
<Maximum>true</Maximum>
</Attribute>
<Attributename="BitsIn"type="Double">
<Minimum>true</Minimum>
<Maximum>true</Maximum>
</Attribute>
</AttributeGroup>
</FacetType>
</DataModel>
 
Step Four: Psot the XML using a REST client to http://DA_HostName:8581/typecatalog/metricfamilies/extension/NormalizedAlternatePortInfo

The first way to confirm success by first seeing a status code 200 returned by the REST API.

The second way to confirm this change is bring up the extension via the URL "http://DA_HostName:8581/typecatalog/metricfamilies/extension/NormalizedAlternatePortInfo". It should show something like this. Note the full Attribute section listing which is normal in this View, despite our having input change for only two of the values.

<!-- Auto-generated by the type catalog local manager. -->
<DataModelxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"namespace="http://im.ca.com/normalizer"xsi:noNamespaceSchemaLocation="IMDBCertificationFacet.xsd">
<Author>CA</Author>
<Version>1.6</Version>
<FacetTypename="NormalizedAlternatePortInfo"descriptorClass="com.ca.im.core.datamodel.certs.NormalizedFacetDescriptorImpl">
<FacetOfnamespace="http://im.ca.com/core"name="Item"/>
<AttributeGroupname="AlternatePortInfo"external="true"list="true">
<Attributename="BitsOut"type="Double">
<Documentation>Number of bits sent.</Documentation>
<Minimum>true</Minimum>
<Percentile>95</Percentile>
<Rate>true</Rate>
<Percentile2>0</Percentile2>
<Percentile3>0</Percentile3>
<Baseline>false</Baseline>
<Polled>true</Polled>
<Variance>false</Variance>
<Units>Bits</Units>
<RollupExpression/>
<Maximum>true</Maximum>
<ProjectionPercentile>0</ProjectionPercentile>
<RollupStrategy>Sum</RollupStrategy>
<StandardDeviation>false</StandardDeviation>
<IsDbColumn>true</IsDbColumn>
</Attribute>
<Attributename="BitsIn"type="Double">
<Documentation>Number of bits received.</Documentation>
<Minimum>true</Minimum>
<Percentile>95</Percentile>
<Rate>true</Rate>
<Percentile2>0</Percentile2>
<Percentile3>0</Percentile3>
<Baseline>false</Baseline>
<Polled>true</Polled>
<Variance>false</Variance>
<Units>Bits</Units>
<RollupExpression/>
<Maximum>true</Maximum>
<ProjectionPercentile>0</ProjectionPercentile>
<RollupStrategy>Sum</RollupStrategy>
<StandardDeviation>false</StandardDeviation>
<IsDbColumn>true</IsDbColumn>
</Attribute>
</AttributeGroup>
</FacetType>
</DataModel>

 

Step Five : Edit the Views to include the now present Minimum and Maximum values for the selected metrics.

 

Additional Information

  • This can be made to base Metric Family code, but we recommend simple changes such as this be made via the extension functionality.
  • This can be applied to other Metric Family extensions as well. Simply change the internal name.
  • This will gather and store Min/Max values starting with the first poll cycle taking place after the changes are made to the certification.
  • This article assumes familiarity with REST API clients