summaryrefslogtreecommitdiffstats
path: root/Schemas/CIM228/DMTF/Metrics/CIM_BaseMetricDefinition.mof
diff options
context:
space:
mode:
Diffstat (limited to 'Schemas/CIM228/DMTF/Metrics/CIM_BaseMetricDefinition.mof')
-rw-r--r--Schemas/CIM228/DMTF/Metrics/CIM_BaseMetricDefinition.mof204
1 files changed, 204 insertions, 0 deletions
diff --git a/Schemas/CIM228/DMTF/Metrics/CIM_BaseMetricDefinition.mof b/Schemas/CIM228/DMTF/Metrics/CIM_BaseMetricDefinition.mof
new file mode 100644
index 0000000..0148685
--- /dev/null
+++ b/Schemas/CIM228/DMTF/Metrics/CIM_BaseMetricDefinition.mof
@@ -0,0 +1,204 @@
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Version ( "2.22.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "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." )]
+class CIM_BaseMetricDefinition : CIM_ManagedElement {
+
+ [Key, Description (
+ "A string that uniquely identifies the metric definition. "
+ "The use of OSF UUID/GUIDs is recommended." )]
+ string Id;
+
+ [Description (
+ "The name of the metric. This name does not have to be "
+ "unique, but should be descriptive and may contain "
+ "blanks." )]
+ string Name;
+
+ [Description (
+ "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 { "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;
+
+ [Description (
+ "An enumerated value that describes the characteristics "
+ "of the metric, for purposes of performing calculations. "
+ "The property can take one of the following values: \n"
+ "1=\"Non-calculable\" -> a string. Arithmetic makes no "
+ "sense. \n"
+ "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. \n"
+ "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 { "1", "2", "3" },
+ Values { "Non-calculable", "Summable", "Non-summable" }]
+ uint16 Calculable;
+
+ [Description (
+ "Identifies the specific units of a value. Examples are "
+ "Bytes, Packets, Jobs, Files, Milliseconds, and Amps." )]
+ string Units;
+
+ [Description (
+ "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." )]
+ string BreakdownDimensions[];
+
+ [Description (
+ "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." )]
+ boolean IsContinuous;
+
+ [Description (
+ "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. \n"
+ "0=\"Unknown\": The metric designer did not qualify the "
+ "ChangeType. \n"
+ "2=\"N/A\": If the \"IsContinuous\" property is \"false\", "
+ "ChangeType does not make sense and MUST be is set to "
+ "\"N/A\". \n"
+ "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. \n"
+ "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. \n"
+ "Vendors may extend this property in the vendor reserved "
+ "range." ),
+ 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;
+
+ [Description (
+ "TimeScope indicates the time scope to which the metric "
+ "value applies. \n"
+ "0=\"Unknown\" indicates the time scope was not qualified "
+ "by the metric designer, or is unknown to the provider. \n"
+ "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. \n"
+ "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. \n"
+ "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 { "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;
+
+ [Description (
+ "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. \n"
+ "0=\"Unknown\": Indicates that the GatheringType is not "
+ "known. \n"
+ "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. \n"
+ "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. \n"
+ "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 { "0", "2", "3", "4", "5..32767", "32768..65535" },
+ Values { "Unknown", "OnChange", "Periodic", "OnRequest",
+ "DMTF Reserved", "Vendor Reserved" }]
+ uint16 GatheringType;
+
+ [Description (
+ "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 ProgrammaticUnits;
+
+
+};