# Class CIM_BaseMetricDefinition
extends CIM_ManagedElement

CIM_BaseMetricDefinition represents the definitional aspects of a metric, i.e., a definition template containing meta data about a new metric. Since CIM_BaseMetricDefinition does not capture metric instance information, it does not contain the value of the metric. The associated class CIM_BaseMetricValue holds the metric value and encapsulates its runtime behavior. The purpose of CIM_BaseMetricDefinition is to provide a convenient mechanism for introducing a new metric definition at runtime and capturing its instance values in a separate class. This mechanism is targeted specifically at CIM users who would like to enhance existing CIM schemas by introducing domain-specific metrics that are not captured in the existing CIM schemas. In addition, vendors of managed resources may make use of this mechanism if a small subset of a potentially large and heterogeneous amount of performance-related data needs to be exposed, based on the context in which the data is captured. Additional meta data for a metric can be provided by subclassing from CIM_BaseMetricDefinition. The CIM_BaseMetricDefinition should be associated with the CIM_ManagedElement(s) to which it applies.

### Table of Contents
Hierarchy
Direct Known Subclasses
Class Qualifiers
Class Properties
Class Methods

## Class Hierarchy

CIM_ManagedElement
|
+--CIM_BaseMetricDefinition

## Direct Known Subclasses

CIM_AggregationMetricDefinition
CIM_MetricDefinition

## Class Qualifiers

Name | Data Type | Value
--- | --- | ---
Description | string | CIM_BaseMetricDefinition represents the definitional aspects of a metric, i.e., a definition template containing meta data about a new metric. Since CIM_BaseMetricDefinition does not capture metric instance information, it does not contain the value of the metric. The associated class CIM_BaseMetricValue holds the metric value and encapsulates its runtime behavior. The purpose of CIM_BaseMetricDefinition is to provide a convenient mechanism for introducing a new metric definition at runtime and capturing its instance values in a separate class. This mechanism is targeted specifically at CIM users who would like to enhance existing CIM schemas by introducing domain-specific metrics that are not captured in the existing CIM schemas. In addition, vendors of managed resources may make use of this mechanism if a small subset of a potentially large and heterogeneous amount of performance-related data needs to be exposed, based on the context in which the data is captured. Additional meta data for a metric can be provided by subclassing from CIM_BaseMetricDefinition. The CIM_BaseMetricDefinition should be associated with the CIM_ManagedElement(s) to which it applies.
UMLPackagePath | string | CIM::Metrics::BaseMetric
Version | string | 2.22.0

## Class Properties

### Local Class Properties

Name | Data Type | Default Value | Qualifiers
--- | --- | --- | ---
Name | Data Type | Value
Calculable | uint16 |
Description | string | An enumerated value that describes the characteristics of the metric, for purposes of performing calculations. The property can take one of the following values: 1="Non-calculable" -> a string. Arithmetic makes no sense. 2="Summable" -> It is reasonable to sum this value over many instances of e.g., UnitOfWork, such as the number of files processed in a backup job. For example, if each backup job is a UnitOfWork, and each job backs up 27,000 files on average, then it makes sense to say that 100 backup jobs processed 2,700,000 files. 3="Non-summable" -> It does not make sense to sum this value over many instances of UnitOfWork. An example would be a metric that measures the queue length when a job arrives at a server. If each job is a UnitOfWork, and the average queue length when each job arrives is 33, it does not make sense to say that the queue length for 100 jobs is 3300. It does make sense to say that the mean is 33.
ValueMap | string | 1, 2, 3
Values | string | Non-calculable, Summable, Non-summable
ChangeType | uint16 |
Description | string | ChangeType indicates how the metric value changes, in the form of typical combinations of finer grain attributes such as direction change, minimum and maximum values, and wrapping semantics. 0="Unknown": The metric designer did not qualify the ChangeType. 2="N/A": If the "IsContinuous" property is "false", ChangeType does not make sense and MUST be is set to "N/A". 3="Counter": The metric is a counter metric. These have non-negative integer values which increase monotonically until reaching the maximum representable number and then wrap around and start increasing from 0. Such counters, also known as rollover counters, can be used for instance to count the number of network errors or the number of transactions processed. The only way for a client application to keep track of wrap arounds is to retrieve the value of the counter in appropriately short intervals. 4="Gauge": The metric is a gauge metric. These have integer or float values that can increase and decrease arbitrarily. A gauge MUST NOT wrap when reaching the minimum or maximum representable number, instead, the value "sticks" at that number. Minimum or maximum values inside of the representable value range at which the metric value "sticks", may or may not be defined. Vendors may extend this property in the vendor reserved range.
ModelCorrespondence | string | CIM_BaseMetricDefinition.IsContinuous
ValueMap | string | 0, 2, 3, 4, 5..32767, 32768..65535
Values | string | Unknown, N/A, Counter, Gauge, DMTF Reserved, Vendor Reserved
DataType | uint16 |
Description | string | The data type of the metric. For example, "boolean" (value=1) or "datetime" (=3) may be specified. These types represent the datatypes defined for CIM.
ValueMap | string | 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
Values | string | boolean, char16, datetime, real32, real64, sint16, sint32, sint64, sint8, string, uint16, uint32, uint64, uint8
GatheringType | uint16 |
Description | string | GatheringType indicates how the metric values are gathered by the underlying instrumentation. This allows the client application to choose the right metric for the purpose. 0="Unknown": Indicates that the GatheringType is not known. 2="OnChange": Indicates that the CIM metric values get updated immediately when the values inside of the measured resource change. The values of OnChange metrics truly reflect the current situation within the resource at any time. An example is the number of logged on users that gets updated immediately as users log on and off. 3="Periodic": Indicates that the CIM metric values get updated periodically. For instance, to a client application, a metric value applying to the current time will appear constant during each gathering interval, and then jumps to the new value at the end of each gathering interval. 4="OnRequest": Indicates that the CIM metric value is determined each time a client application reads it. The values of OnRequest metrics truly return the current situation within the resource if somebody asks for it. However, they do not change "unobserved", and therefore subscribing for value changes of OnRequest metrics is NOT RECOMMENDED.
ValueMap | string | 0, 2, 3, 4, 5..32767, 32768..65535
Values | string | Unknown, OnChange, Periodic, OnRequest, DMTF Reserved, Vendor Reserved
Id | string |
Description | string | A string that uniquely identifies the metric definition. The use of OSF UUID/GUIDs is recommended.
Key | boolean | true
IsContinuous | boolean |
Description | string | IsContinuous indicates whether or not the metric value is continuous or scalar. Performance metrics are an example of a linear metric. Examples of non-linear metrics include error codes or operational states. Continuous metrics can be compared using the "greater than" relation.
Name | string |
Description | string | The name of the metric. This name does not have to be unique, but should be descriptive and may contain blanks.
ProgrammaticUnits | string |
Description | string | Identifies the specific units of a value. The value of this property shall be a legal value of the Programmatic Units qualifier as defined in Appendix C.1 of DSP0004 V2.4 or later.
TimeScope | uint16 |
Description | string | TimeScope indicates the time scope to which the metric value applies. 0="Unknown" indicates the time scope was not qualified by the metric designer, or is unknown to the provider. 2="Point" indicates that the metric applies to a point in time. On the corresponding BaseMetricValue instances, TimeStamp specifies the point in time and Duration is always 0. 3="Interval" indicates that the metric applies to a time interval. On the corresponding BaseMetricValue instances, TimeStamp specifies the end of the time interval and Duration specifies its duration. 4="StartupInterval" indicates that the metric applies to a time interval that began at the startup of the measured resource (i.e. the ManagedElement associated by MetricDefForMe). On the corresponding BaseMetricValue instances, TimeStamp specifies the end of the time interval. If Duration is 0, this indicates that the startup time of the measured resource is unknown. Else, Duration specifies the duration between startup of the resource and TimeStamp.
ModelCorrespondence | string | CIM_BaseMetricValue.TimeStamp, CIM_BaseMetricValue.Duration
ValueMap | string | 0, 2, 3, 4, 5..32767, 32768..65535
Values | string | Unknown, Point, Interval, StartupInterval, DMTF Reserved, Vendor Reserved
Units | string |
Description | string | Identifies the specific units of a value. Examples are Bytes, Packets, Jobs, Files, Milliseconds, and Amps.
BreakdownDimensions | string[] |
Description | string | Defines one or more strings that can be used to refine (break down) queries against the BaseMetricValues along a certain dimension. An example is a transaction name, allowing the break down of the total value for all transactions into a set of values, one for each transaction name. Other examples might be application system or user group name. The strings are free format and should be meaningful to the end users of the metric data. The strings indicate which break down dimensions are supported for this metric definition, by the underlying instrumentation.

### Inherited Properties

Name | Data Type | Class Origin
--- | --- | ---
Caption | string | CIM_ManagedElement
Description | string | CIM_ManagedElement
ElementName | string | CIM_ManagedElement
Generation | uint64 | CIM_ManagedElement
InstanceID | string | CIM_ManagedElement

## Class Methods