summaryrefslogtreecommitdiffstats
path: root/Schemas/CIM236/DMTF/Metrics
diff options
context:
space:
mode:
Diffstat (limited to 'Schemas/CIM236/DMTF/Metrics')
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricDefinition.mof51
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricValue.mof36
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricDefinition.mof204
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricValue.mof135
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementPerformsUoW.mof22
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementUnitOfWorkDef.mof24
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_MetricDefForME.mof39
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_MetricDefinition.mof33
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_MetricForME.mof19
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_MetricInstance.mof28
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_MetricService.mof495
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_MetricServiceCapabilities.mof114
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_StartedUoW.mof21
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_SubUoW.mof34
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_SubUoWDef.mof27
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_TraceLevelType.mof95
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWork.mof128
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWorkDefinition.mof64
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_UoWDefTraceLevelType.mof24
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_UoWMetric.mof33
-rw-r--r--Schemas/CIM236/DMTF/Metrics/CIM_UoWMetricDefinition.mof25
21 files changed, 1651 insertions, 0 deletions
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricDefinition.mof b/Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricDefinition.mof
new file mode 100644
index 0000000..8db1637
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricDefinition.mof
@@ -0,0 +1,51 @@
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Version ( "2.22.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "CIM_AggregationMetricDefinition represents the definitional "
+ "aspects of a metric that is derived from another metric value. "
+ "The CIM_AggregationMetricDefinition should be associated with "
+ "the CIM_ManagedElement(s) to which it applies." )]
+class CIM_AggregationMetricDefinition : CIM_BaseMetricDefinition {
+
+ [Override ( "ChangeType" ),
+ 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"
+ "5=\"Simple Function\": indicates that the derived metric "
+ "value is calculated by applying the basic mathematical "
+ "function identified by the SimpleFunction property to "
+ "the underlying metric values." ),
+ ValueMap { "5", "..", "32768..65535" },
+ Values { "Simple Function", "DMTF Reserved", "Vendor Reserved" },
+ ModelCorrespondence {
+ "CIM_AggregationMetricDefinition.IsContinuous" }]
+ uint16 ChangeType = 5;
+
+ [Description (
+ "The SimpleFunction property identifies the basic "
+ "computation performed on an underlying metric to arrive "
+ "at the value of this derived metric. This property shall "
+ "be NULL when the ChangeType property has a value other "
+ "than 5 \"Simple Function\". \n"
+ "2=\"Minimum\" indicates that the metric reports the "
+ "lowest value detected for the associated monitored "
+ "entity. This is also known as a low watermark.\n"
+ ".3=\"Maximum\" indicates that the metric reports the "
+ "maximum value detected for the associated monitored "
+ "entity. This is also known as a high watermark.\n"
+ "4=\"Average\" indicates the metric reports the average "
+ "value of the underlying metric values.\n"
+ "5=\"Median\" indicates the metric reports the median "
+ "value of the underlying metric values.\n"
+ "6=\"Mode\" indicates the metric reports the modal value "
+ "of the underlying metric values." ),
+ ValueMap { "..", "2", "3", "4", "5", "6", "32768..65535" },
+ Values { "DMTF Reserved", "Minimum", "Maximum", "Average",
+ "Median", "Mode", "Vendor Reserved" }]
+ uint16 SimpleFunction;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricValue.mof b/Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricValue.mof
new file mode 100644
index 0000000..a4411f6
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_AggregationMetricValue.mof
@@ -0,0 +1,36 @@
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Version ( "2.22.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "Each CIM_AggregationMetricValue object represents the instance "
+ "value of a metric defined by an instance of "
+ "CIM_AggregationMetricDefinition. The properties inherited from "
+ "CIM_BaseMetricValue provide the actual metric value. The "
+ "properties introduced in CIM_AggregationMetricValue provide "
+ "information about the interval over which the aggregation "
+ "function was applied." )]
+class CIM_AggregationMetricValue : CIM_BaseMetricValue {
+
+ [Description (
+ "Identifies the time when the aggregation function was "
+ "applied to determine the value of the metric instance. "
+ "Note that this is different from the time when the "
+ "instance is created. For a given "
+ "CIM_AggregationMetricValue instance, the "
+ "AggregationTimeStamp changes whenever the aggregation "
+ "function is applied to calculate the value." ),
+ ModelCorrespondence { "CIM_AggregationMetricValue.Duration" }]
+ datetime AggregationTimeStamp;
+
+ [Description (
+ "Property that represents the time duration over which "
+ "the aggregation was computed. The start of a monitoring "
+ "interval over which the aggregation function is applied "
+ "is determined by subtracting the AggregationDuration "
+ "from the AggregationTimestamp." ),
+ ModelCorrespondence {
+ "CIM_AggregationMetricValue.AggregationTimeStamp" }]
+ datetime AggregationDuration;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricDefinition.mof b/Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricDefinition.mof
new file mode 100644
index 0000000..0148685
--- /dev/null
+++ b/Schemas/CIM236/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;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricValue.mof b/Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricValue.mof
new file mode 100644
index 0000000..9d53dde
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_BaseMetricValue.mof
@@ -0,0 +1,135 @@
+// Copyright (c) 2008 DMTF. All rights reserved.
+ [Version ( "2.19.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "Each CIM_BaseMetricValue object represents the instance value "
+ "of a metric. Since the gathering of metric information can "
+ "involve large quantities of information there may be many "
+ "instances of this class. The use of this class as an "
+ "instrumentation source may be inefficient unless the rate of "
+ "metrics are known. The length of time a CIM_BaseMetricValue "
+ "instance exists after the metric information is captured is "
+ "not defined and is implementation dependent. \n"
+ "Most metric data values change over time. There are two ways "
+ "of mapping this into CIM_BaseMetricValue objects: The value "
+ "for the next point in time may use the same object and just "
+ "change its properties (such as the value or timestamp), or the "
+ "existing objects remain unchanged and a new object is created "
+ "for the new point in time. The first method is typically used "
+ "for snapshot data and the second method for historical data. "
+ "Which method is used, is indicated by the Volatile property." )]
+class CIM_BaseMetricValue : CIM_ManagedElement {
+
+ [Key, Override ( "InstanceID" ),
+ Description (
+ "Within the scope of the instantiating Namespace, "
+ "InstanceID opaquely and uniquely identifies an instance "
+ "of this class. In order to ensure uniqueness within the "
+ "NameSpace, the value of InstanceID SHOULD be constructed "
+ "using the following \'preferred\' algorithm: \n"
+ ": \n"
+ "Where and are separated by a colon \':\', and where MUST "
+ "include a copyrighted, trademarked or otherwise unique "
+ "name that is owned by the business entity "
+ "creating/defining the InstanceID, or is a registered ID "
+ "that is assigned to the business entity by a recognized "
+ "global authority (This is similar to the <Schema "
+ "Name>_<Class Name> structure of Schema class names.) In "
+ "addition, to ensure uniqueness MUST NOT contain a colon "
+ "(\':\'). When using this algorithm, the first colon to "
+ "appear in InstanceID MUST appear between and . \n"
+ "is chosen by the business entity and SHOULD not be "
+ "re-used to identify different underlying (real-world) "
+ "elements. If the above \'preferred\' algorithm is not "
+ "used, the defining entity MUST assure that the resultant "
+ "InstanceID is not re-used across any InstanceIDs "
+ "produced by this or other providers for this instance\'s "
+ "NameSpace. \n"
+ "For DMTF defined instances, the \'preferred\' algorithm "
+ "MUST be used with the set to \'CIM\'." )]
+ string InstanceID;
+
+ [Required, Description (
+ "The key of the BaseMetricDefinition instance for this "
+ "CIM_BaseMetricValue instance value." ),
+ ModelCorrespondence { "CIM_BaseMetricDefinition.Id" }]
+ string MetricDefinitionId;
+
+ [Description (
+ "A descriptive name for the element to which the metric "
+ "value belongs (i.e., the measured element). This "
+ "property is required by behavior if there is no "
+ "association defined to a ManagedElement, but may be used "
+ "in other cases to provide supplemental information. This "
+ "allows metrics to be captured independently of any "
+ "ManagedElement. An example is where a metric value "
+ "belongs to a combination of elements, such as the input "
+ "and output ports of the traffic in a switch. If there "
+ "are multiple ManagedElements associated with the metric "
+ "value, then usually there is one that naturally belongs "
+ "to the metric value and that one should be used to "
+ "create the supplemental information. The property is not "
+ "meant to be used as a foreign key to search on the "
+ "measured element. Instead, the association to the "
+ "ManagedElement should be used." )]
+ string MeasuredElementName;
+
+ [Description (
+ "Identifies the time when the value of a metric instance "
+ "is computed. Note that this is different from the time "
+ "when the instance is created. For a given "
+ "CIM_BaseMetricValue instance, the TimeStamp changes "
+ "whenever a new measurement snapshot is taken if Volatile "
+ "is true. A managmenet application may establish a time "
+ "series of metric data by retrieving the instances of "
+ "CIM_BaseMetricValue and sorting them according to their "
+ "TimeStamp." ),
+ ModelCorrespondence { "CIM_BaseMetricDefinition.TimeScope",
+ "CIM_BaseMetricValue.Duration" }]
+ datetime TimeStamp;
+
+ [Description (
+ "Property that represents the time duration over which "
+ "this metric value is valid. This property should not "
+ "exist for timestamps that apply only to a point in time "
+ "but should be defined for values that are considered "
+ "valid for a certain time period (ex. sampling). If the "
+ "\"Duration\" property exists and is nonNull, the "
+ "TimeStamp is to be considered the end of the interval." ),
+ ModelCorrespondence { "CIM_BaseMetricDefinition.TimeScope",
+ "CIM_BaseMetricValue.TimeStamp" }]
+ datetime Duration;
+
+ [Required, Description (
+ "The value of the metric represented as a string. Its "
+ "original data type is specified in "
+ "CIM_BaseMetricDefinition." )]
+ string MetricValue;
+
+ [Description (
+ "If present, specifies one BreakdownDimension from the "
+ "BreakdownDimensions array defined in the associated CIM_ "
+ "BaseMetricDefinition. This is the dimension along which "
+ "this set of metric values is broken down. For a "
+ "description of the concept, see the class "
+ "CIM_BaseMetricDefinition." )]
+ string BreakdownDimension;
+
+ [Description (
+ "Defines a value of the BreakdownDimension property "
+ "defined for this metric value instance. For instance, if "
+ "the BreakdownDimension is \"TransactionName\", this "
+ "property could name the actual transaction to which this "
+ "particular metric value applies." )]
+ string BreakdownValue;
+
+ [Description (
+ "If true, Volatile indicates that the value for the next "
+ "point in time may use the same object and just change "
+ "its properties (such as the value or timestamp). If "
+ "false, the existing objects remain unchanged and a new "
+ "object is created for the new point in time." )]
+ boolean Volatile;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementPerformsUoW.mof b/Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementPerformsUoW.mof
new file mode 100644
index 0000000..f026449
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementPerformsUoW.mof
@@ -0,0 +1,22 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "This association identifies a specific execution of a UnitOf "
+ "Work with the specific LogicalElement that is performing/ has "
+ "performed it. Where the LogicalElementUnitOfWorkDef "
+ "association describes what an Element can do, this "
+ "relationship describes what a particular Element is doing or "
+ "has done." )]
+class CIM_LogicalElementPerformsUoW : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Description ( "The LogicalElement performing the UnitOfWork." )]
+ CIM_LogicalElement REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description ( "The UnitOfWork being performed." )]
+ CIM_UnitOfWork REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementUnitOfWorkDef.mof b/Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementUnitOfWorkDef.mof
new file mode 100644
index 0000000..33c4711
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_LogicalElementUnitOfWorkDef.mof
@@ -0,0 +1,24 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "This association links a LogicalElement to the UnitsOfWork "
+ "that it can perform. For example, a Printer Device may have "
+ "associated UnitOfWorkDefinitions representing PrintJobs. This "
+ "is a Dependency relationship since the Definitions are given "
+ "context by the LogicalElement." )]
+class CIM_LogicalElementUnitOfWorkDef : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Description (
+ "The LogicalElement that is providing the UnitOfWork." )]
+ CIM_LogicalElement REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description (
+ "The UnitOfWorkDefinition associated with the LogicalElement."
+ )]
+ CIM_UnitOfWorkDefinition REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_MetricDefForME.mof b/Schemas/CIM236/DMTF/Metrics/CIM_MetricDefForME.mof
new file mode 100644
index 0000000..30ef01f
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_MetricDefForME.mof
@@ -0,0 +1,39 @@
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Association, Version ( "2.22.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "This association ties a CIM_BaseMetricDefinition to a "
+ "CIM_ManagedElement to define metrics for the latter. The "
+ "metrics definition is given context by the ManagedElement, "
+ "which is why the definition is dependent on the element." )]
+class CIM_MetricDefForME : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Description (
+ "The CIM_ManagedElement that can have metrics of this "
+ "type associated with it." )]
+ CIM_ManagedElement REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description (
+ "A CIM_BaseMetricDefinition for a CIM_ManagedElement." )]
+ CIM_BaseMetricDefinition REF Dependent;
+
+ [Description (
+ "MetricCollectionEnabled indicates whether the metric "
+ "defined by the referenced CIM_BaseMetricDefinition is "
+ "being collected for the referenced CIM_ManagedElement. A "
+ "value of 2 \"Enabled\" shall indicate the metric is "
+ "being collected. A value of 3 \"Disabled\" shall "
+ "indicate the metric is not being collected. When "
+ "collection of a metric is re-enabled, the metric is "
+ "re-initialized such that any values for a current access "
+ "metric reflect data collected after the time at which "
+ "collection was re-enabled." ),
+ ValueMap { "2", "3", "4", "..", "32768..65535" },
+ Values { "Enabled", "Disabled", "Reserved", "DMTF Reserved",
+ "Vendor Reserved" }]
+ uint16 MetricCollectionEnabled = 2;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_MetricDefinition.mof b/Schemas/CIM236/DMTF/Metrics/CIM_MetricDefinition.mof
new file mode 100644
index 0000000..9c5c97c
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_MetricDefinition.mof
@@ -0,0 +1,33 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "The metrics that are associated with a UnitOfWork. These "
+ "metrics usually describe some aspect of a UnitOfWork such as "
+ "how much work was done, or the size of the UnitOfWork. For "
+ "example, the size of a print job or the number of pages "
+ "printed could be metrics of a \'print\' UnitOfWork." )]
+class CIM_MetricDefinition : CIM_BaseMetricDefinition {
+
+ [Override ( "Id" ),
+ Description (
+ "A 16 byte value that uniquely identifies the Metric "
+ "Definition. The use of OSF UUID/GUIDs is recommended." ),
+ MaxLen ( 16 )]
+ string Id;
+
+ [Description (
+ "An enumerated value describing when the Metric may be "
+ "considered valid. Some metrics are valid only at the "
+ "beginning of a transaction (e.g., bytes to print), while "
+ "the transaction is running (e.g., percent complete), or "
+ "when the transaction is finished (e.g., pages printed). "
+ "If a metric is valid at more than one of the enumerated "
+ "values, such as both when the unit of work starts and "
+ "when it stops, it is recommended to not use Validity." ),
+ ValueMap { "1", "2", "3" },
+ Values { "At Start", "In Middle", "At Stop" }]
+ uint16 Validity;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_MetricForME.mof b/Schemas/CIM236/DMTF/Metrics/CIM_MetricForME.mof
new file mode 100644
index 0000000..ef804d4
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_MetricForME.mof
@@ -0,0 +1,19 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "This association links a ManagedElement to the metric values "
+ "being maintained for it." )]
+class CIM_MetricForME : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Description (
+ "ManagedElement to which the metric values belong." )]
+ CIM_ManagedElement REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description ( "A metric value for the ManagedElement." )]
+ CIM_BaseMetricValue REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_MetricInstance.mof b/Schemas/CIM236/DMTF/Metrics/CIM_MetricInstance.mof
new file mode 100644
index 0000000..dbb3f16
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_MetricInstance.mof
@@ -0,0 +1,28 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "Weak association of metric value objects with their metric "
+ "definition. This association ties an instance of "
+ "CIM_BaseMetricValue to its CIM_BaseMetricDefinition; it is "
+ "weak because the existence of a CIM_BaseMetricValue depends on "
+ "the existence of its associated CIM_BaseMetricDefinition: An "
+ "instance of CIM_BaseMetricValue must not exist without being "
+ "associated to its corresponding CIM_BaseMetricDefinition." )]
+class CIM_MetricInstance : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Min ( 1 ),
+ Max ( 1 ),
+ Description (
+ "The CIM_BaseMetricDefinition for this particular "
+ "CIM_BaseMetricValue." )]
+ CIM_BaseMetricDefinition REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description (
+ "A CIM_BaseMetricValue instance holding the Value." )]
+ CIM_BaseMetricValue REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_MetricService.mof b/Schemas/CIM236/DMTF/Metrics/CIM_MetricService.mof
new file mode 100644
index 0000000..9be3ce1
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_MetricService.mof
@@ -0,0 +1,495 @@
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Version ( "2.23.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetric" ),
+ Description (
+ "CIM_MetricService provides the ability to manage metrics. For "
+ "each metric that the service manages, there shall be an "
+ "instance of CIM_ServiceAffectsElement that associates the "
+ "CIM_MetricService to the instance of CIM_BaseMetricDefinition "
+ "that defines the metric, where the value of the "
+ "CIM_ServiceAffectsElement.ElementAffects property is 5 "
+ "\"Manages\". The capabilities of the CIM_MetricService "
+ "instance are advertised through an instance of "
+ "CIM_MetricServiceCapabilities associated with the "
+ "CIM_MetricService instance through CIM_ElementCapabilities." )]
+class CIM_MetricService : CIM_Service {
+
+
+ [Description (
+ "ShowMetrics reports the Metrics available to be "
+ "collected for a ManagedElement, the ManagedElements for "
+ "which a metric defined by an instance of "
+ "CIM_BaseMetricDefinition is available to be collected, "
+ "and whether or not a particular metric is currently "
+ "being collected for a ManagedElement. \n"
+ "If the Subject parameter is specified and the Definition "
+ "parameter is NULL, upon successful completion of the "
+ "method, the DefinitionList[] parameter shall contain a "
+ "reference to an instance of CIM_BaseMetricDefinition for "
+ "each instance of CIM_BaseMetricDefinition to which the "
+ "instance of CIM_ManagedElement identified by the Subject "
+ "parameter is associated through CIM_MetricDefForME where "
+ "the CIM_BaseMetricDefinition instance is associated to "
+ "the CIM_MetricService instance through "
+ "CIM_ServiceAffectsElement, the MetricCollectionEnabled "
+ "parameter shall contain a value corresponding to the "
+ "value of the MetricCollectionEnabled property of the "
+ "instance of CIM_MetricDefForME that associates the "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "with the CIM_BaseMetricDefinition for which a reference "
+ "is returned in the DefinitionList parameter at the same "
+ "array index.\n"
+ "If the Definition parameter is non-NULL and the Subject "
+ "parameter is NULL, upon successful completion of the "
+ "method the ManagedElements parameter shall contain a "
+ "reference to each CIM_ManagedElement instance to which "
+ "the CIM_BaseMetricDefinition instance referenced by the "
+ "Definition parameteris associated through "
+ "CIM_MetricDefForME and the MetricCollectionEnabled "
+ "parameter shall contain a value corresponding to the "
+ "value of the MetricCollectionEnabled property of the "
+ "instance of CIM_MetricDefForME that associates the "
+ "CIM_BaseMetricDefinition identified by the Definition "
+ "parameter with the CIM_ManagedElement for which a "
+ "reference is returned in the ManagedElements parameter "
+ "at the same array index as the reference to the CIM_ManagedElement.\n"
+ "If the Subject parameter and Definition parameter are "
+ "both non-NULL, the method shall return NULL values for "
+ "the DefinitionList and ManagedElements parameters, and "
+ "the MetricCollectionEnabled parameter shall contain a "
+ "single value that corresponds to the value of the "
+ "MetricCollectionEnabled property of the instance of "
+ "CIM_MetricDefForME that associates the instance of "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "with the instance of CIM_BaseMetricDefinition identified "
+ "by the Definition parameter. If the Subject and "
+ "Definition parameters are both NULL, the method shall "
+ "return 2 \"Failed\". If the Definition parameter is a "
+ "reference to an instance of CIM_BaseMetricDefinition "
+ "that is not associated to the CIM_MetricService through "
+ "CIM_ServiceAffectsElement, the method shall return 2 "
+ "\"Failed\". If the Subject parameter does not identify a "
+ "single instance the Method shall return 2 \"Failed\"." ),
+ ValueMap { "0", "1", "2", "..", "32768..65535" },
+ Values { "Success", "Not Supported", "Failed",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 ShowMetrics(
+ [IN, Description (
+ "The Subject parameter identifies an instance of "
+ "CIM_ManagedElement for which the method returns "
+ "references to instances of "
+ "CIM_BaseMetricDefinition that define metrics that "
+ "are being captured for the CIM_ManagedElement." )]
+ CIM_ManagedElement REF Subject,
+ [IN, Description (
+ "The Definition parameter identifies an instance of "
+ "CIM_BaseMetricDefintion. The method returns "
+ "references to instances of CIM_ManagedElement for "
+ "which metrics defined by the instance of "
+ "CIM_BaseMetricDefinition are available to be "
+ "collected." )]
+ CIM_BaseMetricDefinition REF Definition,
+ [IN ( false ), OUT, Description (
+ "Upon successful completion of the method, the "
+ "ManagedElements[] parameter may contain references "
+ "to CIM_ManagedElements for which the metric "
+ "identified by Definition parameter is available "
+ "for collection." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricService.ShowMetrics.DefinitionList" }]
+ CIM_ManagedElement REF ManagedElements[],
+ [IN ( false ), OUT, Description (
+ "Upon successful completion of the method, the "
+ "DefinitionList parameter may contain references to "
+ "instances of CIM_BaseMetricDefinitions that define "
+ "metrics available for collection for the "
+ "CIM_ManagedElement identified by the Subject "
+ "parameter." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricService.ShowMetrics.ManagedElements" }]
+ CIM_BaseMetricDefinition REF DefinitionList[],
+ [IN ( false ), OUT, Description (
+ "Upon successful completion of the method, each "
+ "array index of the MetricNames parameter shall "
+ "contain the value of the Name property for the "
+ "instance of CIM_BaseMetricDefinition referenced by "
+ "the corresponding array index of the "
+ "DefinitionList parameter." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricService.ShowMetrics.DefinitionList" }]
+ string MetricNames[],
+ [IN ( false ), OUT, Description (
+ "The MetricCollectionEnabled parameter indicates "
+ "whether a metric is being collected for a managed "
+ "element." ),
+ ValueMap { "2", "3", "4", "..", "32768..65535" },
+ Values { "Enable", "Disable", "Reserved",
+ "DMTF Reserved", "Vendor Reserved" }]
+ uint16 MetricCollectionEnabled[]);
+
+ [Description (
+ "ShowMetricsByClass reports the Metrics available to be "
+ "collected for all instances of a CIM class. The CIM "
+ "classes for which a metric defined by an instance of "
+ "CIM_BaseMetricDefinition is available to be collected, "
+ "and whether or not a particular metric is currently "
+ "being collected for a ManagedElement. \n"
+ "If the Subject parameter is specified and the Definition "
+ "parameter is NULL, upon successful completion of the "
+ "method, the DefinitionList[] parameter shall contain a "
+ "reference to an instance of CIM_BaseMetricDefinition for "
+ "each instance of CIM_BaseMetricDefinition that is "
+ "associated with all instances of the class identified by "
+ "the Subject parameter, where the "
+ "CIM_BaseMetricDefinition instance is associated to the "
+ "CIM_MetricService instance through "
+ "CIM_ServiceAffectsElement; the MetricCollectionEnabled "
+ "parameter shall contain the value 2 \"Enabled\" if the "
+ "value of the MetricCollectionEnabled property has the "
+ "value 2 \"Enabled\" for every instance of "
+ "CIM_MetricDefForME that associates the "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "with the CIM_BaseMetricDefinition for which a reference "
+ "CIM_BaseMetricDefinition is returned in the "
+ "DefinitionList parameter at the same array index as the "
+ "reference and the MetricCollectionEnabled parameter "
+ "shall contain the value 3 \"Disabled\" if the value of "
+ "the MetricCollectionEnabled property does not have the "
+ "value 2 \"Enabled\" for every instance of "
+ "CIM_MetricDefForME that associates the "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "with the CIM_BaseMetricDefinition for which a reference "
+ "CIM_BaseMetricDefinition is returned in the "
+ "DefinitionList parameter at the same array index as the "
+ "reference. \n"
+ "If the Subject parameter and Definition parameter are "
+ "both non-NULL, the method shall return NULL value for "
+ "the DefinitionList parameter and the "
+ "MetricCollectionEnabled parameter shall contain a single "
+ "value that corresponds to the value of the "
+ "MetricCollectionEnabled property of the instance of "
+ "CIM_MetricDefForME that associates the instance of "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "with the instance of CIM_BaseMetricDefinition identified "
+ "by the Definition parameter. If the Subject and "
+ "Definition parameters are both NULL, the method shall "
+ "return 2 \"Failed\". If the Definition parameter is a "
+ "reference to an instance of CIM_BaseMetricDefinition "
+ "that is not associated to the CIM_MetricService through "
+ "CIM_ServiceAffectsElement, the method shall return 2 "
+ "\"Failed\". If the Subject parameter does not identify a "
+ "single CIM Class the Method shall return 2 \"Failed\"." ),
+ ValueMap { "0", "1", "2", "..", "32768..65535" },
+ Values { "Success", "Not Supported", "Failed",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 ShowMetricsByClass(
+ [Required, IN, Description (
+ "The Subject parameter identifies a CIM class for "
+ "which the method returns references to instances "
+ "of CIM_BaseMetricDefinition that define metrics "
+ "that are available to be captured for all "
+ "instances of the class." )]
+ CIM_ManagedElement REF Subject,
+ [IN, Description (
+ "The Definition parameter identifies an instance of "
+ "CIM_BaseMetricDefinition. The method returns "
+ "references to instances of CIM_ManagedElement for "
+ "which metrics defined by the instance of "
+ "CIM_BaseMetricDefinition are available to be "
+ "collected." )]
+ CIM_BaseMetricDefinition REF Definition,
+ [IN ( false ), OUT, Description (
+ "Upon successful completion of the method, the "
+ "DefinitionList parameter may contain references to "
+ "instances of CIM_BaseMetricDefinitions that define "
+ "metrics available for collection for the "
+ "CIM_ManagedElement identified by the Subject "
+ "parameter." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricService.ShowMetricsByClass.ManagedElements" }]
+ CIM_BaseMetricDefinition REF DefinitionList[],
+ [IN ( false ), OUT, Description (
+ "Upon successful completion of the method, each "
+ "array index of the MetricNames parameter shall "
+ "contain the value of the Name property for the "
+ "instance of CIM_BaseMetricDefinition referenced by "
+ "the corresponding array index of the "
+ "DefinitionList parameter." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricService.ShowMetricsByClass.DefinitionList" }]
+ string MetricNames[],
+ [IN ( false ), OUT, Description (
+ "The MetricCollectionEnabled parameter indicates "
+ "whether a metric is being collected for all "
+ "instances of a class of managed elements." ),
+ ValueMap { "2", "3", "4", "..", "32768..65535" },
+ Values { "Enabled", "Disabled", "Reserved",
+ "DMTF Reserved", "Vendor Reserved" }]
+ uint16 MetricCollectionEnabled[]);
+
+ [Description (
+ "ControlMetrics enables and disables the collection of "
+ "metrics. It is used to control the collection of each "
+ "type of metric for a CIM_ManagedElement, the collection "
+ "of a given type of metric for all ManagedElements, or "
+ "the collection of a specific metric for a specific "
+ "ManagedElement. \n"
+ "If the Subject parameter is specified and the Definition "
+ "parameter is NULL and the MetricCollectionEnabled "
+ "parameter has the value 2 \"Enabled\" or 3 \"Disabled\", "
+ "upon successful completion of the method, the "
+ "MetricCollectionEnabled property of each instance of "
+ "CIM_MetricDefForME that references the instance of "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "and references an instance of CIM_BaseMetricDefinition "
+ "that is associated to the CIM_BaseMetricService through "
+ "the CIM_ServiceAffectsElement association shall have the "
+ "value of the MetricCollectionEnabled parameter. If the "
+ "Subject parameter is specified and the Definition "
+ "parameter is NULL and the value of the "
+ "MetricCollectionEnabled parameter is 4 \"Reset\" upon "
+ "successful completion of the method, the value of the "
+ "MetricCollectionEnabled of each instance of "
+ "CIM_MetricDefForME that references the instance of "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "and references an instance of CIM_BaseMetricDefinition "
+ "that is associated to the CIM_BaseMetricService through "
+ "the CIM_ServiceAffectsElement association shall "
+ "transition to 3 \"Disabled\" then to 2 \"Enabled\". If "
+ "the Definition parameter is non-NULL and the Subject "
+ "parameter is NULL, and the MetricCollectionEnabled "
+ "parameter has the value 2 \"Enabled\" or 3 \"Disabled\", "
+ "upon successful completion of the method the "
+ "MetricCollectionEnabled property of each instance of "
+ "CIM_MetricDefForME that references the instance of "
+ "CIM_BaseMetricDefinition identified by the Definition "
+ "parameter shall have the value of the "
+ "MetricCollectionEnabled parameter. If the Definition "
+ "parameter is non-NULL and the Subject parameter is NULL, "
+ "and the value of the MetricCollectionEnabled parameter "
+ "is 4 \"Reset\" upon successful completion of the method "
+ "the MetricCollectionEnabled property of each instance of "
+ "CIM_MetricDefForME that references the instance of "
+ "CIM_BaseMetricDefinition identified by the Definition "
+ "parameter shall transition to 3 \"Disabled\" then to 2 "
+ "\"Enabled\". If the Subject parameter and Definition "
+ "parameter are both non-NULL, and the "
+ "MetricCollectionEnabled parameter has the value 2 "
+ "\"Enable\" or 3 \"Disable\", upon successful completion "
+ "of the method, the MetricCollectionEnabled property of "
+ "the instance of CIM_MetricDefForME that references the "
+ "instance of CIM_ManagedElement identified by the Subject "
+ "parameter and references the instance of "
+ "CIM_BaseMetricDefinition identified by the Definition "
+ "parameter shall have the value of the "
+ "MetricCollectionEnabled parameter.\n"
+ "If the Subject parameter and Definition parameter are "
+ "both non-NULL and the value of the "
+ "MetricCollectionEnabled parameter is 4 \"Reset\" upon "
+ "successful completion of the method, the "
+ "MetricCollectionEnabled property of the instance of "
+ "CIM_MetricDefForME that references the instance of "
+ "CIM_ManagedElement identified by the Subject parameter "
+ "and references the instance of CIM_BaseMetricDefinition "
+ "identified by the Definition parameter shall transition "
+ "to 3 \"Disabled\" then to 2 \"Enabled\". If the Subject "
+ "parameter and Definition parameter are both non-NULL and "
+ "there is not an instance of CIM_MetricDefForME that "
+ "associates the two instances, the method shall return 2 "
+ "\"Failed\". If the Subject and Definition parameters are "
+ "both NULL, the method shall return 2 \"Failed\". If the "
+ "Definition parameter is a reference to an instance of "
+ "CIM_BaseMetricDefinition that is not associated to the "
+ "CIM_MetricService through CIM_ServiceAffectsElement, the "
+ "method shall return 2 \"Failed\". If the Subject "
+ "parameter does not identify a single instance the Method "
+ "shall return 2 \"Failed\"." ),
+ ValueMap { "0", "1", "2", "..", "32768..65535" },
+ Values { "Success", "Not Supported", "Failed",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 ControlMetrics(
+ [IN, Description (
+ "The Subject parameter identifies managed "
+ "element(s) for which metrics will be controlled." )]
+ CIM_ManagedElement REF Subject,
+ [IN, Description (
+ "The Definition parameter identifies a "
+ "CIM_BaseMetricDefinition for which metrics will be "
+ "controlled." )]
+ CIM_BaseMetricDefinition REF Definition,
+ [Required, IN, Description (
+ "The MetricCollectionEnabled parameter indicates "
+ "the desired operation to perform on the metrics." ),
+ ValueMap { "2", "3", "4", "..", "32768..65535" },
+ Values { "Enable", "Disable", "Reset", "DMTF Reserved",
+ "Vendor Reserved" }]
+ uint16 MetricCollectionEnabled);
+
+ [Description (
+ "ControlMetricsByClass enables and disables the "
+ "collection of metrics. It is used to control the "
+ "collection of each type of metric for all instances of a "
+ "class or the collection of a specific metric for all "
+ "instances of a class. \n"
+ "If the Definition parameter is NULL, and the "
+ "MetricCollectionEnabled parameter has the value 2 "
+ "\"Enabled\" or 3 \"Disabled\", upon successful "
+ "completion of the method, the MetricCollectionEnabled "
+ "property of each instance of CIM_MetricDefForME that "
+ "references an instance of the class identified by the "
+ "Subject parameter and references an instance of "
+ "CIM_BaseMetricDefinition that is associated to the "
+ "CIM_BaseMetricService through the "
+ "CIM_ServiceAffectsElement association shall have the "
+ "value of the MetricCollectionEnabled parameter. If the "
+ "Definition parameter is NULL, and the "
+ "MetricCollectionEnabled parameter has the value 4 "
+ "\"Reset\", upon successful completion of the method, the "
+ "MetricCollectionEnabled property of each instance of "
+ "CIM_MetricDefForME that references an instance of the "
+ "class identified by the Subject parameter and references "
+ "an instance of CIM_BaseMetricDefinition that is "
+ "associated to the CIM_BaseMetricService through the "
+ "CIM_ServiceAffectsElement association shall transition "
+ "to 3 \"Disabled\" then to 2 \"Enabled\". If the "
+ "Definition parameter is non-NULL, and the "
+ "MetricCollectionEnabled parameter has the value 2 "
+ "\"Enable\" or 3 \"Disable\", upon successful completion "
+ "of the method the MetricCollectionEnabled property of "
+ "each instance of CIM_MetricDefForME that references the "
+ "instance of CIM_BaseMetricDefinition identified by the "
+ "Definition parameter and references an instance of the "
+ "class identified by the Subject parameter shall have the "
+ "value of the MetricCollectionEnabled parameter. If the "
+ "Definition parameter is non-NULL, and the "
+ "MetricCollectionEnabled parameter has the value 4 "
+ "\"Reset\", upon successful completion of the method the "
+ "MetricCollectionEnabled property of each instance of "
+ "CIM_MetricDefForME that references the instance of "
+ "CIM_BaseMetricDefinition identified by the Definition "
+ "parameter and references an instance of the class "
+ "identified by the Subject parameter shall transition to "
+ "3 \"Disabled\" then to 2 \"Enabled\". For each instance "
+ "of the class identified by the Subject parameter, if "
+ "there is not an instance of CIM_MetricDefForME that "
+ "associates the CIM_BaseMetricDefinition instance "
+ "identified by the Definition parameter to the instance, "
+ "the method shall return 2 \"Failed\". If the Subject and "
+ "Definition parameters are both NULL, the method shall "
+ "return 2 \"Failed\". If the Definition parameter is a "
+ "reference to an instance of CIM_BaseMetricDefinition "
+ "that is not associated to the CIM_MetricService through "
+ "CIM_ServiceAffectsElement, the method shall return 2 "
+ "\"Failed\". If the Subject parameter does not identify a "
+ "single CIM Class the Method shall return 2 \"Failed\"." ),
+ ValueMap { "0", "1", "2", "..", "32768..65535" },
+ Values { "Success", "Not Supported", "Failed",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 ControlMetricsByClass(
+ [Required, IN, Description (
+ "The Subject parameter identifies the CIM class for "
+ "which metrics will be controlled." )]
+ CIM_ManagedElement REF Subject,
+ [IN, Description (
+ "The Definition parameter identifies a "
+ "CIM_BaseMetricDefinition for which metrics will be "
+ "controlled." )]
+ CIM_BaseMetricDefinition REF Definition,
+ [Required, IN, Description (
+ "The MetricCollectionEnabled parameter indicates "
+ "the desired operation to perform on the metrics." ),
+ ValueMap { "2", "3", "4", "..", "32768..65535" },
+ Values { "Enable", "Disable", "Reset", "DMTF Reserved",
+ "Vendor Reserved" }]
+ uint16 MetricCollectionEnabled);
+
+ [Description (
+ "GetMetricValues provides the ability to return a "
+ "filtered list of CIM_BaseMetricValue instances. \n"
+ "If the Definition parameter is NULL, the method shall "
+ "return 2 \"Failed\". If the Definition parameter is a "
+ "reference to an instance of CIM_BaseMetricDefinition "
+ "with which the CIM_MetricService is not associated "
+ "through CIM_ServiceAffectsElement, the method shall "
+ "return 2 \"Failed\"." ),
+ ValueMap { "0", "1", "2", "..", "32768..65535" },
+ Values { "Success", "Not Supported", "Failed",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 GetMetricValues(
+ [Required, IN, Description (
+ "The Definition parameter identifies a "
+ "CIM_BaseMetricDefinition for which metrics will be "
+ "returned." )]
+ CIM_BaseMetricDefinition REF Definition,
+ [IN, Description (
+ "The Range parameter identifies how the instances "
+ "are selected. The algorithm for ordering value "
+ "instances is metric definition specific." ),
+ ValueMap { "2", "3", "..", "32768..65535" },
+ Values { "Minimum", "Maximum", "DMTF Reserved",
+ "Vendor Specific" }]
+ uint16 Range,
+ [IN, Description (
+ "The Count parameter identifies the maximum number "
+ "of instances to to be returned by the method." )]
+ uint16 Count,
+ [IN ( false ), OUT, Description (
+ "Upon successful completion of the method, the "
+ "Values parameter contains references to instances "
+ "of CIM_BaseMetricValue, filteredaccording to the "
+ "values of the input parameters." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricService.ShowMetrics.ManagedElements" }]
+ CIM_BaseMetricValue REF Values[]);
+
+ [Description (
+ "Method used to allow specification of the point in time "
+ "metric gathering is to be started and to specify the "
+ "preferred sample interval time for periodic data "
+ "gathering. \n"
+ "Whenever sampling for additional metrics is started, the "
+ "settings specified by this method may be used." ),
+ ValueMap { "0", "1", "2", "..", "32768..65535" },
+ Values { "Success", "Not Supported", "Failed",
+ "Method Reserved", "Vendor Specific" }]
+ uint32 ControlSampleTimes(
+ [Required, IN, Description (
+ "Point in time when sampling for the metrics is to "
+ "be started. \n"
+ "A value of 99990101000000.000000+000 shall "
+ "indicate that sampling should start at the next "
+ "time it is synchronized to the full hour. Sampling "
+ "is synchronized to the full hour if seconds since "
+ "midnight modulo sample interval in seconds is "
+ "equal to 0." )]
+ datetime StartSampleTime,
+ [Required, IN, Description (
+ "Preferred sample interval time. In order to get "
+ "correlatable metrics, it is recommended that the "
+ "sample interval be chosen in a way that 3600 "
+ "modulo sample interval time in seconds is equal to "
+ "0. \n"
+ "It is the responsibility of the CIM metric service "
+ "implementation to decide whether the requested "
+ "sample interval time is honored. \n"
+ "The CIM client can check whether or not the metric "
+ "providers are honoring the requested sample "
+ "interval time by retrieving related "
+ "BaseMetricDefinition instances and checking the "
+ "contents of the "
+ "\"CIM_BaseMetricDefinition.SampleInterval\" "
+ "property." )]
+ datetime PreferredSampleInterval,
+ [Required, IN, Description (
+ "Boolean that when set to TRUE requests that "
+ "gathering of all metrics associated to the metric "
+ "service is re-started with this method call." )]
+ boolean RestartGathering);
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_MetricServiceCapabilities.mof b/Schemas/CIM236/DMTF/Metrics/CIM_MetricServiceCapabilities.mof
new file mode 100644
index 0000000..bf5d9c3
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_MetricServiceCapabilities.mof
@@ -0,0 +1,114 @@
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Version ( "2.22.0" ),
+ UMLPackagePath ( "CIM::Metrics::BaseMetrics" ),
+ Description (
+ "MetricServiceCapabilities describes the capabilities of the "
+ "associated CIM_BaseMetricService." )]
+class CIM_MetricServiceCapabilities : CIM_EnabledLogicalElementCapabilities {
+
+ [Description (
+ "ControllableMetrics identifies the instances of "
+ "CIM_BaseMetricDefinition that can be controlled by the "
+ "associated CIM_MetricService instance. Each string value "
+ "shall be formatted as a WBEM URI defined as in "
+ "accordance with DSP0207 that identifies an instance of "
+ "CIM_BaseMetricDefinition. An instance of "
+ "CIM_BaseMetricDefinition shall not be identified by a "
+ "value of the ControllableMetrics property unless it is "
+ "associated through CIM_ServiceAffectsElement to the "
+ "associated instance of CIM_MetricService. If a value "
+ "corresponding to an instance of CIM_BaseMetricDefinition "
+ "is included in the ControllableMetrics property, the "
+ "associated instance of CIM_MetricService shall support "
+ "enabling and/or disabling at least one metric defined by "
+ "the CIM_BaseMetricDefinition instance." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricServiceCapabilities.MetricsControlTypes" }]
+ string ControllableMetrics[];
+
+ [Description (
+ "MetricsControlTypes identifies the type of control "
+ "supported by the associated CIM_MetricService instance "
+ "for the CIM_BaseMetricDefinition identified by the value "
+ "at the same array index in the ControllableMetrics "
+ "property. A value of 2 \"Discrete\" shall indicate that "
+ "individual metrics defined by the instance of "
+ "CIM_BaseMetricDefinition identified at the corresponding "
+ "array index of ControllableMetrics may be enabled and or "
+ "disabled by the associated instance of "
+ "CIM_MetricService.A value of 3 \"Bulk\" shall indicate "
+ "that all metrics defined by the instance of "
+ "CIM_BaseMetricDefinition identified by the value at the "
+ "same array index of ControllableMetrics may be enabled "
+ "and or disabled with a single operation. A value of 4 "
+ "\"Both\" shall indicate that all metrics defined by the "
+ "instance of CIM_BaseMetricDefinition identified by the "
+ "value at the same array index of ControllableMetrics may "
+ "be enabled and or disabled individually or as a single "
+ "operation." ),
+ ValueMap { "0", "2", "3", "4", "..", "32768..65535" },
+ Values { "Unknown", "Discrete", "Bulk", "Both",
+ "DMTF Reserved", "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricServiceCapabilities.ControllableMetrics" }]
+ uint16 MetricsControlTypes[];
+
+ [Description (
+ "ControllableManagedElements identifies the instances of "
+ "CIM_ManagedElement that can be controlled by the "
+ "associated CIM_MetricService instance. Each value shall "
+ "be formatted as a WBEM URI defined according to DSP0207 "
+ "identifying an instance of CIM_ManagedElement If a value "
+ "corresponding to an instance of CIM_ManagedElement is "
+ "included in the ControllableManagedElements property, "
+ "the associated instance of CIM_MetricService shall "
+ "support enabling and/or disabling at least one metric "
+ "defined for the CIM_ManagedElement instance." ),
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricServiceCapabilities.ManagedElementControlTypes" }]
+ string ControllableManagedElements[];
+
+ [Description (
+ "ManagedElementControlTypes identifies the type of "
+ "control supported by the associated CIM_MetricService "
+ "instance for the CIM_ManagedElement identified by the "
+ "value at the same array index in the "
+ "ControllableManagedElements property. A value of 2 "
+ "\"Discrete\" shall indicate that individual metrics "
+ "controlled by the associated instance of "
+ "CIM_MetricService may be enabled and or disabled for the "
+ "instance of CIM_ManagedElement identified at the "
+ "corresponding array index of "
+ "ControllableManagedElements.A value of 3 \"Bulk\" shall "
+ "indicate that all metrics controlled by the associated "
+ "instance of CIM_MetricService may be enabled and or "
+ "disabled for the instance of CIM_ManagedElement "
+ "identified at the corresponding array index of "
+ "ControllableManagedElements. A value of 4 \"Both\" shall "
+ "indicate that all metrics controlled by the associated "
+ "instance of CIM_MetricService may be enabled and or "
+ "disabled with a single operation or individually for the "
+ "instance of CIM_ManagedElement identified by the value "
+ "at the same array index of ControllableManagedElements." ),
+ ValueMap { "0", "2", "3", "4", "..", "32768..65535" },
+ Values { "Unknown", "Discrete", "Bulk", "Both",
+ "DMTF Reserved", "Vendor Specific" },
+ ArrayType ( "Indexed" ),
+ ModelCorrespondence {
+ "CIM_MetricServiceCapabilities.ControllableManagedElements" }]
+ uint16 ManagedElementControlTypes[];
+
+ [Description (
+ "Each enumeration corresponds to support for the "
+ "like-named method of the MetricService." ),
+ ValueMap { "2", "3", "4", "5", "6", "7", "..", "0x8000.." },
+ Values { "ControlMetrics", "ControlMetricsByClass",
+ "ShowMetrics", "ShowMetricsByClass", "GetMetricValues",
+ "ControlSampleTimes", "DMTF Reserved", "Vendor Specific" }]
+ uint16 SupportedMethods[];
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_StartedUoW.mof b/Schemas/CIM236/DMTF/Metrics/CIM_StartedUoW.mof
new file mode 100644
index 0000000..8bba7d8
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_StartedUoW.mof
@@ -0,0 +1,21 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "This association links a UnitOfWork (which is a \'started\' "
+ "transaction) to its Definition." )]
+class CIM_StartedUoW : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Min ( 1 ),
+ Max ( 1 ),
+ Description ( "The Definition object for the UnitOfWork." )]
+ CIM_UnitOfWorkDefinition REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Weak, Description (
+ "An instance of a UnitOfWork that has started executing." )]
+ CIM_UnitOfWork REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_SubUoW.mof b/Schemas/CIM236/DMTF/Metrics/CIM_SubUoW.mof
new file mode 100644
index 0000000..c059cea
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_SubUoW.mof
@@ -0,0 +1,34 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "Similar to the SubUoWDef association (which describes the "
+ "relationship between definitional UnitsOfWork), this "
+ "association identifies the executional UnitOfWork "
+ "Dependencies. It associates executing/executed UnitsOfWork "
+ "with their parent Units. In most cases, the SubUoW reflects "
+ "the execution side of the relationship defined in SubUoWDef. "
+ "However, there may be cases where the SubUoWDef is not "
+ "defined, but for a particular UnitOfWork, the SubUoW "
+ "relationship is valid. Therefore, it is not a requirement (but "
+ "it is desirable) that there be a corresponding SubUoWDef for "
+ "each instance of SubUoW." )]
+class CIM_SubUoW : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Max ( 1 ),
+ Description (
+ "The parent executing/executed UnitOfWork. On the "
+ "execution side, it is expected that a sub-Unit is "
+ "associated with only one parent UnitOfWork." )]
+ CIM_UnitOfWork REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description (
+ "The sub-UnitOfWork. On the execution side, it is "
+ "expected that a sub-Unit is associated with only one "
+ "parent UnitOfWork." )]
+ CIM_UnitOfWork REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_SubUoWDef.mof b/Schemas/CIM236/DMTF/Metrics/CIM_SubUoWDef.mof
new file mode 100644
index 0000000..fb51aa5
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_SubUoWDef.mof
@@ -0,0 +1,27 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "This association defines the sub-UnitsOfWork (the sub- "
+ "transactions) for a particular UnitOfWorkDefinition. For "
+ "example, an \'AddOrder\' UnitOfWork could have sub-Units of "
+ "\'ValidateCustomer\', \'ValidatePartNumber\', "
+ "\'UpdateDatabase\', etc. This is a Dependency relationship "
+ "since the sub-UnitsOf Work are put in context relative to the "
+ "parent Unit. It is not an aggregation relationship - since "
+ "(using another example) a \'DatabaseWrite\' transaction is "
+ "likely to be dependent upon a \'DiskWrite\', but the two "
+ "transactions are separate concepts and one is not \'contained\' "
+ "by the other." )]
+class CIM_SubUoWDef : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Description ( "The parent UnitOfWorkDefinition." )]
+ CIM_UnitOfWorkDefinition REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description ( "The sub-UnitOfWorkDefinition." )]
+ CIM_UnitOfWorkDefinition REF Dependent;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_TraceLevelType.mof b/Schemas/CIM236/DMTF/Metrics/CIM_TraceLevelType.mof
new file mode 100644
index 0000000..6e53c51
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_TraceLevelType.mof
@@ -0,0 +1,95 @@
+// Copyright (c) 2008 DMTF. All rights reserved.
+ [Version ( "2.19.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "TraceLevelType defines the encoding and semantics of trace "
+ "levels. A trace is data that is produced during the execution "
+ "of program code in order to provide information on the "
+ "behaviour of the code (e.g. textual data written to files). "
+ "Traces may be used for error detection/analysis or debugging. "
+ "Trace levels define the granularity and/or type of the traces "
+ "that are to be produced by the program code. Depending on the "
+ "program implementation, levels may be applied on the fly. The "
+ "possible levels are also implementation dependent, since no "
+ "general rules or standards exist. In consequence, program "
+ "developers could reuse their existing trace level scheme. \n"
+ "Traces are valuable information sources for management "
+ "applications in cases of error detection/analysis. In order to "
+ "correctly set trace levels to the level needed (exciting "
+ "exhaustive tracing by accident may result in significant "
+ "system resources consumption in terms of processing time and "
+ "storage) and to efficiently interpret which level of detail to "
+ "expect from traces already produced by some resource, the "
+ "possible trace level values and their meaning (semantics) must "
+ "be known by the user and/or the management application. The "
+ "type does not define the location or access method of the "
+ "traces, since traces of a particular type can have multiple "
+ "locations as well as multiple access methods." )]
+class CIM_TraceLevelType : CIM_ManagedElement {
+
+ [Key, Override ( "InstanceID" ),
+ Description (
+ "Within the scope of the instantiating Namespace, "
+ "InstanceID opaquely and uniquely identifies an instance "
+ "of this class. In order to ensure uniqueness within the "
+ "NameSpace, the value of InstanceID SHOULD be constructed "
+ "using the following \'preferred\' algorithm: \n"
+ ": \n"
+ "Where and are separated by a colon \':\', and where MUST "
+ "include a copyrighted, trademarked or otherwise unique "
+ "name that is owned by the business entity "
+ "creating/defining the InstanceID, or is a registered ID "
+ "that is assigned to the business entity by a recognized "
+ "global authority (This is similar to the <Schema "
+ "Name>_<Class Name> structure of Schema class names.) In "
+ "addition, to ensure uniqueness MUST NOT contain a colon "
+ "(\':\'). When using this algorithm, the first colon to "
+ "appear in InstanceID MUST appear between and . \n"
+ "is chosen by the business entity and SHOULD not be "
+ "re-used to identify different underlying (real-world) "
+ "elements. If the above \'preferred\' algorithm is not "
+ "used, the defining entity MUST assure that the resultant "
+ "InstanceID is not re-used across any InstanceIDs "
+ "produced by this or other providers for this instance\'s "
+ "NameSpace. \n"
+ "For DMTF defined instances, the \'preferred\' algorithm "
+ "MUST be used with the set to \'CIM\'." ),
+ MaxLen ( 16 ),
+ ModelCorrespondence {
+ "CIM_UnitOfWorkDefinition.TraceLevelTypeId" }]
+ string InstanceID;
+
+ [Description (
+ "Describes the technical encoding of the trace level. \n"
+ "0: bit map = switches to turn on/off appropriate trace "
+ "production (e.g. 0x00000010, 0x0000F000); the use of bit "
+ "maps implies that the switches can be or-ed bitwise: "
+ "Values[1] | Values[2] | ... . \n"
+ "1: number = plain numbers that define levels (e.g. 1, 2, "
+ "7); the recommended and most common encoding scheme \n"
+ "2: any other encoding scheme you could think of (e.g. "
+ "mixture of bit maps and numbers)." ),
+ ValueMap { "1", "2", "3" },
+ Values { "Other", "Bitmap", "Number" }]
+ uint16 BaseType;
+
+ [Required, Description (
+ "Each entry in the array is one possible value of the "
+ "trace level of this type. Depending on the base type, "
+ "these are either switches defined as bit maps (e.g. "
+ "0x00000001, 0x000000F0, ...) or plain numbers (1, 2, 3, "
+ "...). In either encoding, the value 0 is reserved for "
+ "the equivalent of \'no trace\'." ),
+ ArrayType ( "Indexed" )]
+ uint32 TraceValues[];
+
+ [Required, Description (
+ "The index corresponds to TraceLevelType.TraceValues[]. "
+ "The array provides human-readable descriptions of the "
+ "semantics of each value entered in the TraceValues "
+ "array." ),
+ ArrayType ( "Indexed" )]
+ string ValueDescriptions[];
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWork.mof b/Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWork.mof
new file mode 100644
index 0000000..38ce975
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWork.mof
@@ -0,0 +1,128 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "Each instance of UnitOfWork identifies a transaction that is "
+ "either in-process or already completed. Because instances of "
+ "\'in-process\' UnitsOfWork can be very short-lived and there "
+ "can be a great number of active ones, use of this class as an "
+ "instrumentation source for determining response time may be "
+ "incorrect or inefficient, unless the rate and duration of the "
+ "UnitsOfWork are known. The intended use is to respond to "
+ "queries about currently active or recently completed "
+ "UnitsOfWork. The length of time that a UnitOfWork instance "
+ "exists after the UnitOfWork completes is not defined and "
+ "should be assumed to be implementation-dependent. This class "
+ "is weak to its definition (CIM_UnitOfWorkDefintion)." )]
+class CIM_UnitOfWork : CIM_ManagedElement {
+
+ [Override ( "Description" ),
+ Description (
+ "Since UnitOfWork is designed to be an extremely "
+ "lightweight object, it is recommended that this property "
+ "not be used. The Description specified for the "
+ "instance\'s associated CIM_UnitOfWorkDefintion should "
+ "apply." )]
+ string Description;
+
+ [Key, Description (
+ "The identifier of the UnitOfWork, within the context of "
+ "the UnitOfWorkDefinition." )]
+ sint64 Id;
+
+ [Key, Description (
+ "A 16 byte value that uniquely identifies the UnitOfWork "
+ "Definition. The use of OSF UUID/GUIDs is recommended." ),
+ MaxLen ( 16 ),
+ Propagated ( "CIM_UnitOfWorkDefinition.Id" )]
+ string UoWDefId;
+
+ [Description (
+ "The name of the user who initiated the UnitOfWork. This "
+ "may be a real user\'s login name or a logical name "
+ "representing an application." )]
+ string UserName;
+
+ [Description ( "The time that the UnitOfWork was started." )]
+ datetime StartTime;
+
+ [Description (
+ "The elapsed time since the UnitOfWork was started. Upon "
+ "completion of the UnitOfWork, this property contains the "
+ "total amount of time taken in processing the entire "
+ "UnitOfWork." )]
+ datetime ElapsedTime;
+
+ [Description (
+ "An enumeration identifing the status of the UnitOfWork. "
+ "Most of the property values are self-explanatory, but a "
+ "few need additional text: \n"
+ "3=\"Completed\" - Should be used to represent a "
+ "\'completed\' transaction whose status (\'good\', "
+ "\'failed\' or \'aborted\') is unknown. \n"
+ "6=\"Completed Aborted\" - Should be used when a "
+ "UnitOfWork has completed but was not allowed to end "
+ "normally. An example would be when the Stop or Back "
+ "buttons are selected from a web browser, before a page "
+ "is fully loaded." ),
+ ValueMap { "1", "2", "3", "4", "5", "6" },
+ Values { "Active", "Suspended", "Completed",
+ "Completed Good", "Completed Failed", "Completed Aborted" }]
+ uint16 Status;
+
+ [Description (
+ "Indicates the granularity at which traces are written "
+ "for this particular instance of UnitOfWork. Traces allow "
+ "providing more detailed information on the course of the "
+ "execution of the UnitOfWork than just the status and the "
+ "elapsed time. The trace level does not indicate where "
+ "the traces are found (i.e. in which file or CIM "
+ "instances). TraceLevel cannot be set (i.e. written) "
+ "since an instance of UnitOfWork only publishes "
+ "information. So, the application code that executes the "
+ "unit of work must receive the desired trace level by its "
+ "caller (e.g. the parent module, the user or some remote "
+ "system that initiates the unit of work). \n"
+ "If its value is 0, no traces are available. If its value "
+ "is > 0, traces are available. Except 0, the possible "
+ "values and their semantics are implementation dependent. "
+ "Two instances of UnitOfWork (even with the same "
+ "definition) may have different trace levels since the "
+ "desired or required granularity of traces may be "
+ "dependent on the execution context (detection of an "
+ "error, analysis of an error, etc.) of the unit of work. \n"
+ "The trace level can be encoded as a bit map (each "
+ "individual bit indicates a certain trace type and/or "
+ "level of detail) or numbers (that are further defined by "
+ "a value map). No encoding scheme is imposed since no "
+ "general rules or standards exist and in consequence, "
+ "application developers could reuse their existing trace "
+ "level scheme." )]
+ uint32 TraceLevel;
+
+ [Description (
+ "A string that uniquely identifies the mutual context of "
+ "UnitOfWork instances. The context is defined as an "
+ "individual action that several UnitOfWork instances "
+ "participate in. The use of Ids such as OSF UUID/GUIDs is "
+ "recommended, although some implementations may require "
+ "longer Ids. (This is the reason why no maxlen(16) "
+ "qualifier has been used.) \n"
+ "MutualContextId explicitly identifies the context for "
+ "instances of UnitOfWork, that is otherwise provided "
+ "implicitly by SubUoW association instances. In addition, "
+ "one can query directly (i.e. without following the "
+ "associations) for UnitOfWork instances that participate "
+ "in some individual action (i.e., the mutual context). If "
+ "no mutual context is needed or if it is not supported by "
+ "the implementation, the value is NULL. \n"
+ "Note that the MutualContextId value is to be transferred "
+ "internally between the participating UnitOfWork "
+ "implementations such that each UnitOfWork instance "
+ "implementation receives its value from its "
+ "predecessor/parent or initially creates the value if it "
+ "is the first instance of the context." )]
+ string MutualContextId;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWorkDefinition.mof b/Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWorkDefinition.mof
new file mode 100644
index 0000000..9a7dca4
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_UnitOfWorkDefinition.mof
@@ -0,0 +1,64 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "A LogicalElement that describes units of work (e.g. "
+ "transactions). This class represents the definitional "
+ "components of a unit of work, and not the unit itself." )]
+class CIM_UnitOfWorkDefinition : CIM_LogicalElement {
+
+ [Override ( "Name" ),
+ Description (
+ "The name of the Definition. This name does not have to "
+ "be unique, but should be descriptive. It may contain "
+ "blanks." )]
+ string Name;
+
+ [Description (
+ "A free format string describing the context of the "
+ "defined UnitOfWork. For example an \'Add Order\' Unit "
+ "could be defined in the context of a book ordering "
+ "application, whereas another \'Add Order\' UnitOfWork "
+ "could be defined for a computer ordering application. It "
+ "may contain blanks." )]
+ string Context;
+
+ [Key, Description (
+ "A 16 byte value that uniquely identifies the UnitOfWork "
+ "Definition. The use of OSF UUID/GUIDs is recommended." ),
+ MaxLen ( 16 )]
+ string Id;
+
+ [Description (
+ "A 16 byte value that uniquely identifies the applied "
+ "semantics and format of the trace levels used in the "
+ "instances of UnitOfWork. The use of OSF UUID/GUIDs is "
+ "recommended. \n"
+ "TraceLevelTypeId allows management applications to "
+ "efficiently discriminate between different trace level "
+ "semantics of different UnitOfWorkDefinitions. I.E., "
+ "CIM_UnitOfWork.TraceLevel = 1 may have different "
+ "semantics if TraceLevelTypeId is different for the "
+ "respective instances of UnitOfWork. \n"
+ "It is not assumed that different trace level semantics "
+ "are used within the same UnitOfWorkDefinition in order "
+ "to promote uniform trace level encodings. (Keep in mind: "
+ "At least the developers of the business actions "
+ "represented by the same UnitOfWorkDefinition instance "
+ "should strive to use the same trace level encoding, "
+ "otherwise the administrator will have a hard time to "
+ "figure out what detailed information to expect.) \n"
+ "If the string is empty no traces are expected to be "
+ "produced. If the string is not empty, an associated "
+ "instance of TraceLevelType may be attached to the "
+ "UnitOfWorkDefinition instance. Still, it is useful to "
+ "incorporate TraceLevelTypeId into UnitOfWorkDefinition, "
+ "to relate to an instance of TraceLevelType. The "
+ "management application can more easily detect different "
+ "trace level types." ),
+ MaxLen ( 16 ),
+ ModelCorrespondence { "CIM_TraceLevelType.InstanceID" }]
+ string TraceLevelTypeId;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_UoWDefTraceLevelType.mof b/Schemas/CIM236/DMTF/Metrics/CIM_UoWDefTraceLevelType.mof
new file mode 100644
index 0000000..dcd1576
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_UoWDefTraceLevelType.mof
@@ -0,0 +1,24 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.7.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "Refers to the refinement of the UnitOfWorkDefinition: the "
+ "trace level type. It is not required that a UnitOfWork be "
+ "associated to a TraceLevelType. But if it is associated, only "
+ "one Type can be specified for the Definition. In contrast, "
+ "TraceLevelTypes can be reused for multiple Definitions." )]
+class CIM_UoWDefTraceLevelType {
+
+ [Key, Max ( 1 ),
+ Description (
+ "The trace level type description that is implemented by "
+ "the UnitOfWorkDefinition." )]
+ CIM_TraceLevelType REF TraceLevelType;
+
+ [Key, Description (
+ "The UnitOfWorkDefinition which is refined by the "
+ "instance of TraceLevelType." )]
+ CIM_UnitOfWorkDefinition REF UoWDefn;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_UoWMetric.mof b/Schemas/CIM236/DMTF/Metrics/CIM_UoWMetric.mof
new file mode 100644
index 0000000..3657cc3
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_UoWMetric.mof
@@ -0,0 +1,33 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "This association ties a MetricDefinition to an instance of a "
+ "UnitOfWork. Its primary purpose is to specify the value of the "
+ "Metric for the instance of UnitOfWork. It is defined as a "
+ "Dependency since the Metric value relies on the specific "
+ "UnitOfWork for context." )]
+class CIM_UoWMetric : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Description (
+ "The UnitOfWork whose Metric value is specified." )]
+ CIM_UnitOfWork REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description (
+ "The MetricDefinition for this particular UnitOfWork and "
+ "value. Note that the MetricDefinition must be associated "
+ "(via UoWMetricDefinition) to the same "
+ "UnitOfWorkDefinition to which the UnitOfWork is weakly "
+ "associated." )]
+ CIM_MetricDefinition REF Dependent;
+
+ [Description (
+ "The value of the Metric for the referenced UnitOfWork. "
+ "Note that the type of the data and other information are "
+ "defined by the properties of MetricDefinition." )]
+ string Value;
+
+
+};
diff --git a/Schemas/CIM236/DMTF/Metrics/CIM_UoWMetricDefinition.mof b/Schemas/CIM236/DMTF/Metrics/CIM_UoWMetricDefinition.mof
new file mode 100644
index 0000000..4c2f246
--- /dev/null
+++ b/Schemas/CIM236/DMTF/Metrics/CIM_UoWMetricDefinition.mof
@@ -0,0 +1,25 @@
+// Copyright (c) 2007 DMTF. All rights reserved.
+ [Association, Version ( "2.6.0" ),
+ UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
+ Description (
+ "An association that describes the Metrics related to a "
+ "UnitOfWorkDefinition. This is a Dependency relationship since "
+ "the MetricDefinition relies on the UnitOfWorkDefinition for "
+ "context. At least one context must be defined for a "
+ "MetricDefinition, hence the Min (1) qualifier is placed on the "
+ "UnitOfWorkDefinition reference." )]
+class CIM_UoWMetricDefinition : CIM_Dependency {
+
+ [Override ( "Antecedent" ),
+ Min ( 1 ),
+ Description (
+ "The UnitOfWorkDefinition where the Metric applies." )]
+ CIM_UnitOfWorkDefinition REF Antecedent;
+
+ [Override ( "Dependent" ),
+ Description (
+ "The MetricDefinition for a particular UnitOfWork." )]
+ CIM_MetricDefinition REF Dependent;
+
+
+};