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

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2