Metrics\CIM_DiscreteMetricDefinition.mof.mof (HTML version)

Return to index
CIM_DiscreteMetricDefinition Superclass: CIM_BaseMetricDefinition
Specialization of BaseMetricDefinition that represents a discrete metric type.
This class is does not have instances. Instead, it is used to define derived classes that override the Values and ValueMap qualifiers of the DiscreteValues array property, in order to define the predefined set of discrete values to be used.
The remainder of this description defines the discrete metric concept:
Discrete metrics are metrics (as defined in BaseMetricDefinition), that have an additional discrete value, which is from a set of predefined values. In order to contrast this to the general metrics that have a continuous value range, we call those 'analog metrics' in this description.
The transformation of analog values into discrete values is defined by analog thresholds that represent the transition boundary from one discrete value to the next. There are independent thresholds for each direction, so that a hysteresis can be defined.
There is a mandatory set of instances for each discrete value: Using the concepts of the dynamic metrics model, there is a DiscreteMetricValue instance representing the discrete metric value and a DiscreteMetricDefinition instance representing its according definition (associated through MetricInstance). In addition, there is a similar couple for the analog metric the discrete metric is derived from, consisting of a BaseMetricValue instance and according BaseMetricDefinition instance (again associated via MetricInstance). These two pairs of instances are connected through the DiscreteMetricDefinitionDependency association between the two metric definition classes, defining that the discrete metric definition and all its values are derived from this analog metric definition and all its values.
The existence of the DiscreteMetricDefinitionDependency association mandates that there shall be one DiscreteMetricValue instance for each analog BaseMetricValue instance in the mandatory set of instances described above. Furthermore, it mandates that there are DiscreteMetricValueDependency association instances between the discrete and analog value instances.
A recipe for creating a discrete metric type on existing analog metric type is to create a DiscreteMetricDefinition instance, and then to connect that to the analog BaseMetricDefinition by means of creating an instance of DiscreteMetricDefinitionDependency. This results in the DiscreteMetricValue and DiscreteMetricValueDependency instances coming into existence.
Please note that hysteresis is implicitly defined as the difference between the trigger value and the reset value.
Qualifiers:Version ( "2.13.0" ) Experimental UMLPackagePath ( "CIM::Metrics::BaseMetric" )
Parameters (local in grey)
uint16 BaseIndex ;
This property is an index into the DiscreteValues array, and is called the 'base index'. The value of the corresponding array entry is called the 'base value'.
The base value is the reference point for the AnalogTriggerValues and AnalogResetValues arrays. Moving away from the base value is controlled by the AnalogTriggerValues array, and moving back towards the base value is controlled by the AnalogResetValues array.
string AnalogResetValues [ ] ;
Array defining the analog values used as thresholds when the discrete value moves towards the base value. These thresholds are called 'reset values'.
The array entries are string representations of the analog values and are interpreted as a datatype and unit defined in the Datatype and Unit properties of the associated analog BaseMetricDefinition instance.
If this property is not NULL, the number of array entries shall be one less than the entries in the DiscreteValues array. Array entries in this array at indexes abover or equal to the base index control the transition to lower indexes in the DiscreteValues array. Array entries in this array at indexes below the base index control the transition to higher indexes in the DiscreteValues array.
If this property is NULL, reset values may still be in effect but are not externalized at the CIM level.
ValueMap { ".." , "0x8000..0xFFFF" }
Values { "DMTF Reserved" , "Vendor Reserved" }
Required
ModelCorrespondence { "CIM_DiscreteMetricValue.DiscreteValue" }
uint16 DiscreteValues [ ] ;
Array defining the mapping between analog and discrete values. Each array entry is the discrete value assigned to a range on the analog scale. Adjacent array entries represent adjacent ranges on the analog scale. The boundaries of the analog ranges are defined in the AnalogTriggerValues and AnalogResetValues array properties.
The possible discrete values are defined using the Values and ValueMap qualifiers. Any derived class of this class shall define the set of possible discrete values in overridden Values and ValueMap qualifiers. The Values qualifiers are string representations of the discrete values and are interpreted as a datatype and unit defined in the Datatype and Unit properties of this instance.
An according derived class of DiscreteMetricValue shall define the same set of possible discrete values in overridden qualifiers of its DiscreteValue property.
string AnalogTriggerValues [ ] ;
Array defining the analog values used as thresholds when the discrete value moves away from the base value. These thresholds are called 'trigger values'.
The array entries are string representations of the analog values and are interpreted as a datatype and unit defined in the Datatype and Unit properties of the associated analog BaseMetricDefinition instance.
If this property is not NULL, the number of array entries shall be one less than the entries in the DiscreteValues array. Array entries in this array at indexes above or equal to the base index control the transition to higher indexes in the DiscreteValues array. Array entries in this array at indexes below the base index control the transition to lower indexes in the DiscreteValues array.
If this property is NULL, trigger values may still be in effect but are not externalized at the CIM level.
ValueMap { "0" , "2" , "3" , "4" , "5..32767" , "32768..65535" }
Values { "Unknown" , "N/A" , "Counter" , "Gauge" , "DMTF Reserved" , "Vendor Reserved" }
ModelCorrespondence { "CIM_BaseMetricDefinition.IsContinuous" }
uint16 ChangeType ;
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.
Key
string Id ;
A string that uniquely identifies the metric definition. The use of OSF UUID/GUIDs is recommended.
boolean IsContinuous ;
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.
ValueMap { "0" , "2" , "3" , "4" , "5..32767" , "32768..65535" }
Values { "Unknown" , "OnChange" , "Periodic" , "OnRequest" , "DMTF Reserved" , "Vendor Reserved" }
uint16 GatheringType ;
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 { "1" , "2" , "3" }
Values { "Non-calculable" , "Summable" , "Non-summable" }
uint16 Calculable ;
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.
Write
Experimental
ModelCorrespondence { "CIM_StatisticalData.SampleInterval" }
datetime SampleInterval ;
If metric values are collected at regular intervals, the SampleInterval property indicates the length of the the interval. If non-null, the value of the SampleInterval shall be expressed in interval notation. A value of NULL shall indicate the SampleInterval is unknown. A value of 99990101000000.000000+000 shall indicate the sampling interval is irregular.
string BreakdownDimensions [ ] ;
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.
Deprecated { "CIM_BaseMetricDefinition.ProgrammaticUnits" }
string Units ;
Identifies the specific units of a value. Examples are Bytes, Packets, Jobs, Files, Milliseconds, and Amps.
string Name ;
The name of the metric. This name does not have to be unique, but should be descriptive and may contain blanks.
ValueMap { "0" , "2" , "3" , "4" , "5..32767" , "32768..65535" }
Values { "Unknown" , "Point" , "Interval" , "StartupInterval" , "DMTF Reserved" , "Vendor Reserved" }
ModelCorrespondence { "CIM_BaseMetricValue.TimeStamp" , "CIM_BaseMetricValue.Duration" }
uint16 TimeScope ;
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.
ValueMap { "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "11" , "12" , "13" , "14" }
Values { "boolean" , "char16" , "datetime" , "real32" , "real64" , "sint16" , "sint32" , "sint64" , "sint8" , "string" , "uint16" , "uint32" , "uint64" , "uint8" }
uint16 DataType ;
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.
Experimental
string ProgrammaticUnits ;
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.
string ElementName ;
A user-friendly name for the object. This property allows each instance to define a user-friendly name in addition to its key properties, identity data, and description information.
Note that the Name property of ManagedSystemElement is also defined as a user-friendly name. But, it is often subclassed to be a Key. It is not reasonable that the same property can convey both identity and a user-friendly name, without inconsistencies. Where Name exists and is not a Key (such as for instances of LogicalDevice), the same information can be present in both the Name and ElementName properties.
MaxLen ( 64 )
string Caption ;
The Caption property is a short textual description (one- line string) of the object.
string Description ;
The Description property provides a textual description of the object.