(file) Return to Metrics27_BaseMetric.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIM27

  1 kumpf 1.2 // ==================================================================
  2           // Title:       Metrics MOF Specification 2.7, Base Metrics
  3           // Author:      DMTF Application Working Group
  4           // Filename:    Metric27_BaseMetric.MOF
  5           // Version      2.7.0
  6           // Status:      Final
  7           // Date:        31 March 2003
  8           // ===================================================================
  9           // Copyright 1999-2003 Distributed Management Task Force, Inc. (DMTF).
 10           // All rights reserved.  
 11           // DMTF is a not-for-profit association of industry members dedicated 
 12           // to promoting enterprise and systems management and interoperability. 
 13           // DMTF specifications and documents may be reproduced for uses
 14           // consistent with this purpose by members and non-members, 
 15           // provided that correct attribution is given. 
 16           // As DMTF specifications may be revised from time to time, 
 17           // the particular version and release date should always be noted.
 18           //
 19           // Implementation of certain elements of this standard or proposed 
 20           // standard may be subject to third party patent rights, including 
 21           // provisional patent rights (herein "patent rights"). DMTF makes 
 22 kumpf 1.2 // no representations to users of the standard as to the existence 
 23           // of such rights, and is not responsible to recognize, disclose, or
 24           // identify any or all such third party patent right, owners or 
 25           // claimants, nor for any incomplete or inaccurate identification or 
 26           // disclosure of such rights, owners or claimants. DMTF shall have no 
 27           // liability to any party, in any manner or circumstance, under any 
 28           // legal theory whatsoever, for failure to recognize, disclose, or 
 29           // identify any such third party patent rights, or for such party's
 30           // reliance on the standard or incorporation thereof in its product, 
 31           // protocols or testing procedures. DMTF shall have no liability to 
 32           // any party implementing such standard, whether such implementation 
 33           // is foreseeable or not, nor to any patent owner or claimant, and shall 
 34           // have no liability or responsibility for costs or losses incurred if 
 35           // a standard is withdrawn or modified after publication, and shall be
 36           // indemnified and held harmless by any party implementing the 
 37           // standard from any and all claims of infringement by a patent owner 
 38           // for such implementations.
 39           //
 40           // For information about patents held by third-parties which have 
 41           // notified the DMTF that, in their opinion, such patent may relate to 
 42           // or impact implementations of DMTF standards, visit 
 43 kumpf 1.2 // http://www.dmtf.org/about/policies/disclosures.php.
 44           // ===================================================================
 45           // Description:
 46           //    Additions to the V2.6 Metrics MOF to support a more generic
 47           //    approach.
 48           //
 49           //    CIM users often desire metric objects that model designers have not
 50           //    provided. Furthermore, such needs vary from one management philosophy
 51           //    to another. Rather than fill more and more CIM models with
 52           //    standardized objects, the Metrics model supports externally defined
 53           //    expressions of existing objects, such as properties of 
 54           //    CIM_StatisticalData and its subclasses. In addition, the 
 55           //    classes described in this file enable users to define their own
 56           //    metrics at runtime (rather than at provider implementation time).
 57           //    A newly defined metric (aka CIM_BaseMetricDefinition) may be
 58           //    given a value by instantiating CIM_BaseMetricValue. 
 59           //    Both CIM_BaseMetricDefinitions and CIM_BaseMetricValues may be
 60           //    associated with a ManagedElement.
 61           // ==================================================================
 62           // CIM 2.7.0 (Preliminary) 5 June 2002
 63           //     CR820 - Defined Base Metrics Classes and associations
 64 kumpf 1.2 //     CR851 - Change the Description of BaseMetricValue.Duration 
 65           //             to define the timestamp as the end of the duration
 66           // CIM 2.7.0 (Final) 17 March 2003
 67           //     CR987 - Remove experimental qualifier from:
 68           //              -CIM_BaseMetricDefinition
 69           //              -CIM_BaseMetricValue
 70           //              -CIM_MetricInstance
 71           //              -CIM_MetricDefForME
 72           //              -CIM_MetricForME
 73           // ==================================================================
 74           
 75           #pragma Locale ("en_US")
 76           
 77           
 78           // ================================================================== 
 79           // BaseMetricDefinition
 80           // ==================================================================
 81                 [Version("2.7.0"), Description (
 82                   "CIM_BaseMetricDefinition represents the definitional aspects "
 83                   "of a metric, i.e., a definition template containing meta data "
 84                   "about a new metric. Since CIM_BaseMetricDefinition does not "
 85 kumpf 1.2         "capture metric instance information, it does not contain the "
 86                   "value of the metric. The associated class CIM_BaseMetricValue "
 87                   "holds the metric value and encapsulates its runtime behavior. "
 88                   "The purpose of CIM_BaseMetricDefinition is to provide a "
 89                   "convenient mechanism for introducing a new metric definition at "
 90                   "runtime and capturing its instance values in a separate class. "
 91                   "This mechanism is targeted specifically at CIM users who "
 92                   "would like to enhance existing CIM schemas by introducing "
 93                   "domain-specific metrics that are not captured in the existing "
 94                   "CIM schemas. In addition, vendors of managed resources may make "
 95                   "use of this mechanism if a small subset of a potentially large "
 96                   "and heterogeneous amount of performance-related data needs to "
 97                   "be exposed, based on the context in which the data is captured. "
 98                   "Additional meta data for a metric can be provided by "
 99                   "subclassing from CIM_BaseMetricDefinition. "
100                   "The CIM_BaseMetricDefinition should be associated with "
101                   "the CIM_ManagedElement(s) to which it applies.") ] 
102           class CIM_BaseMetricDefinition : CIM_ManagedElement {
103           
104                 [Key, Description (
105                     "A string that uniquely identifies the metric definition. "
106 kumpf 1.2           "The use of OSF UUID/GUIDs is recommended.") ]
107              string Id;
108           
109                 [Description (
110                     "The name of the metric.  This name does not have to be "
111                     "unique, but should be descriptive and may contain "
112                     "blanks.") ]
113              string Name;
114           
115                 [Description (
116                     "The data type of the metric. For example, \"boolean\" "
117                     "(value=1) or \"datetime\" (=3) may be specified. These" 
118                     "types represent the datatypes defined for CIM."),
119                  ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", 
120                     "11", "12", "13", "14" },
121                  Values  {"boolean", "char16", "datetime", "real32", "real64",    
122                     "sint16", "sint32", "sint64", "sint8", "string", "uint16",
123                     "uint32", "uint64", "uint8"} ]
124               uint16 DataType;
125           
126                 [Description (
127 kumpf 1.2           "An enumerated value that describes the characteristics "
128                     "of the metric, for purposes of performing calculations. "
129                     "The property can take one of the following values: \n"
130                     "1=\"Non-calculable\" -> a string. Arithmetic makes no "
131                     "sense. \n"
132                     "2=\"Summable\" -> It is reasonable to sum this value over "
133                     "many instances of e.g., UnitOfWork, such as the number of "
134                     "files processed in a backup job. For example, if each backup "
135                     "job is a UnitOfWork, and each job backs up 27,000 files on "
136                     "average, then it makes sense to say that 100 backup jobs "
137                     "processed 2,700,000 files. \n"
138                     "3=\"Non-summable\" -> It does not make sense to sum this "
139                     "value over many instances of UnitOfWork. An example would be "
140                     "a metric that measures the queue length when a job arrives "
141                     "at a server. If each job is a UnitOfWork, and the average "
142                     "queue length when each job arrives is 33, it does not make "
143                     "sense to say that the queue length for 100 jobs is 3300. It "
144                     "does make sense to say that the mean is 33."),
145                  ValueMap {"1", "2", "3" },
146                  Values {"Non-calculable", "Summable", "Non-summable"} ]
147               uint16 Calculable;
148 kumpf 1.2 
149                 [Description (
150                     "Identifies the specific units of a value. Examples are Bytes,"
151                     "Packets, Jobs, Files, Milliseconds, and Amps.") ]
152               string Units;
153           
154                 [Description (
155                     "Defines one or more strings that can be used to refine "
156                     "(break down) queries against the BaseMetricValues along "
157                     "a certain dimension. An example is a transaction name, "
158                     "allowing the break down of the total value for all "
159                     "transactions into a set of values, one for each transaction "
160                     "name. Other examples might be application system or user "
161                     "group name. The strings are free format and should be "
162                     "meaningful to the end users of the metric data. The "
163                     "strings indicate which break down dimensions are "
164                     "supported for this metric definition, by the underlying "
165                     "instrumentation.") ]
166               string BreakdownDimensions[];
167           };
168           
169 kumpf 1.2 
170           // ================================================================== 
171           // BaseMetricValue
172           // ==================================================================
173                 [Version("2.7.0"), Description (
174                   "   Each CIM_BaseMetricValue object represents the instance "
175                   "value of a metric. Since the gathering of metric information "
176                   "can involve large quantities of information there may be many "
177                   "instances of this class. The use of this class as an "
178                   "instrumentation source may be inefficient unless the rate of "
179                   "metrics are known. The length of time a CIM_BaseMetricValue "
180                   "instance exists after the metric information is captured is "
181                   "not defined and is implementation dependent. \n"
182                   "   Most metric data values change over time. There are two "
183                   "ways of mapping this into CIM_BaseMetricValue objects: The "
184                   "value for the next point in time may use the same object and "
185                   "just change its properties (such as the value or timestamp), "
186                   "or the existing objects remain unchanged and a new object is "
187                   "created for the new point in time. The first method is "
188                   "typically used for snapshot data and the second method for "
189                   "historical data. Which method is used, is indicated by the "
190 kumpf 1.2         "Volatile property.") ] 
191           class CIM_BaseMetricValue : CIM_ManagedElement {
192           
193                 [Key, Description (
194                     "A unique identifier of this instance of the metric "
195                     "value. This must be a globally unique identifier.") ]
196              string InstanceId;
197           
198                 [Required, Description (
199                     "The key of the BaseMetricDefinition instance for this "
200                     "CIM_BaseMetricValue instance value."),
201                  ModelCorrespondence {
202                     "CIM_BaseMetricDefinition.Id"} ]
203              string MetricDefinitionId;
204           
205                 [Description (
206                     "   A descriptive name for the element to which the metric "
207                     "value belongs (i.e., the measured element). This property "
208                     "is required by behavior if there is no association defined "
209                     "to a ManagedElement, but may be used in other cases to "
210                     "provide supplemental information. This allows metrics to "
211 kumpf 1.2           "be captured independently of any ManagedElement. An example "
212                     "is where a metric value belongs to a combination of "
213                     "elements, such as the input and output ports of the traffic "
214                     "in a switch. If there are multiple ManagedElements "
215                     "associated with the metric value, then usually there is one "
216                     "that naturally belongs to the metric value and that one "
217                     "should be used to create the supplemental information. The "
218                     "property is not meant to be used as a foreign key to search "
219                     "on the measured element. Instead, the association "
220                     "to the ManagedElement should be used.") ]
221              string MeasuredElementName;
222           
223                 [Description (
224                     "Identifies the time when the value of a metric instance is "
225                     "computed. Note that this is different from the time when the "
226                     "instance is created. For a given CIM_BaseMetricValue instance, "
227                     "the TimeStamp changes whenever a new measurement snapshot "
228                     "is taken if Volatile is true. A managmenet application may "
229                     "establish a time series of metric data by retrieving the "
230                     "instances of CIM_BaseMetricValue and sorting them " 
231                     "according to their TimeStamp.") ]
232 kumpf 1.2    datetime TimeStamp;
233           
234                 [Description (
235                     "Property that represents the time duration over which this "
236                     "metric value is valid. This property should not exist for "
237                     "timestamps that apply only to a point in time but should be "
238                     "defined for values that are considered valid for a certain "
239                     "time period (ex. sampling). If the \"Duration\" property "
240                     "exists and is nonNull, the TimeStamp is to be considered "
241                     "the end of the interval.") ]
242              datetime Duration;
243           
244                 [Required, Description (
245                     "The value of the metric represented as a string. Its "
246                     "original data type is specified in "
247                     "CIM_BaseMetricDefinition.") ]
248              string MetricValue;
249           
250                 [Description (
251                     "If present, specifies one BreakdownDimension from the "
252                     "BreakdownDimensions array defined in the associated CIM_"
253 kumpf 1.2           "BaseMetricDefinition. This is the dimension along which "
254                     "this set of metric values is broken down. For a description "
255                     "of the concept, see the class CIM_BaseMetricDefinition.") ]
256               string BreakdownDimension;
257           
258                 [Description (
259                     "Defines a value of the BreakdownDimension property defined "
260                     "for this metric value instance. For instance, if the "
261                     "BreakdownDimension is \"TransactionName\", this property "
262                     "could name the actual transaction to which this particular "
263                     "metric value applies.") ]
264               string BreakdownValue;
265           
266                 [Description (
267                     "If true, Volatile indicates that the value for the next "
268                     "point in time may use the same object and just change its "
269                     "properties (such as the value or timestamp). If false, the "
270                     "existing objects remain unchanged and a new object is "
271                     "created for the new point in time.") ]
272               boolean Volatile;
273           };
274 kumpf 1.2 
275           
276           // ===================================================================
277           // MetricInstance
278           // ===================================================================
279                 [Association, Version("2.7.0"), Description (   
280                   "Weak association of metric value objects with their metric "
281                   "definition. This association ties an instance of "
282                   "CIM_BaseMetricValue to its CIM_BaseMetricDefinition; it is weak "
283                   "because the existence of a CIM_BaseMetricValue depends on the "
284                   "existence of its associated CIM_BaseMetricDefinition: An "
285                   "instance of CIM_BaseMetricValue must not exist without being "
286                   "associated to its corresponding CIM_BaseMetricDefinition.") ]
287           class CIM_MetricInstance : CIM_Dependency {
288             
289                 [Override ("Antecedent"), 
290                  Min (1), Max (1),
291                  Description (
292                     "The CIM_BaseMetricDefinition for this particular "
293                     "CIM_BaseMetricValue.") ]
294               CIM_BaseMetricDefinition REF Antecedent;
295 kumpf 1.2 
296                 [Override ("Dependent"), Description (
297                     "A CIM_BaseMetricValue instance holding the Value.") ]
298               CIM_BaseMetricValue REF Dependent;
299           };
300           
301           
302           // ===================================================================
303           // MetricDefForME
304           // ===================================================================
305                 [Association, Version("2.7.0"), Description (   
306                   "This association ties a CIM_BaseMetricDefinition to a "
307                   "CIM_ManagedElement to define metrics for the latter. The "
308                   "metrics definition is given context by the ManagedElement, "
309                   "which is why the definition is dependent on the element.") ]
310           class CIM_MetricDefForME : CIM_Dependency {
311             
312                 [Override ("Antecedent"), 
313                  Description (
314                     "The CIM_ManagedElement that can have metrics of this type "
315                     "associated with it.") ]
316 kumpf 1.2     CIM_ManagedElement REF Antecedent;
317           
318                 [Override ("Dependent"), 
319                  Description (
320                     "A CIM_BaseMetricDefinition for a CIM_ManagedElement.") ]
321               CIM_BaseMetricDefinition REF Dependent;
322           };
323           
324           
325           // ===================================================================
326           // MetricForME
327           // ===================================================================
328                 [Association, Version("2.7.0"), Description (   
329                   "This association links a ManagedElement to the metric "
330                   "values being maintained for it.") ]
331           class CIM_MetricForME : CIM_Dependency {
332             
333                 [Override ("Antecedent"),
334                  Description (
335                     "ManagedElement to which the metric values belong.") ]
336               CIM_ManagedElement REF Antecedent;
337 kumpf 1.2 
338                 [Override ("Dependent"),
339                  Description (
340                    "A metric value for the ManagedElement.") ]
341               CIM_BaseMetricValue REF Dependent;
342           };
343           
344           
345           // ==================================================================
346           // end of file
347           // ==================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2