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

  1 a.dunfey 1.1 // ===================================================================
  2              // Title: Metrics_BaseMetric
  3              // $State: Exp $
  4              // $Date: 2004/12/07 16:24:14 $
  5              // $RCSfile: Metrics_BaseMetric.mof,v $
  6              // $Revision: 1.4.2.4 $
  7              // ===================================================================
  8              //#pragma inLine ("Includes/copyright.inc")
  9              // Copyright 1998-2005 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 a.dunfey 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 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
 44              //#pragma inLine
 45              // ===================================================================
 46              // Description:
 47              //    Additions to the V2.6 Metrics MOF to support a more generic
 48              //    approach.
 49              // 
 50              //    CIM users often desire metric objects that model designers have
 51              //    not
 52              //    provided. Furthermore, such needs vary from one management
 53              //    philosophy
 54              //    to another. Rather than fill more and more CIM models with
 55              //    standardized objects, the Metrics model supports externally
 56              //    defined
 57              //    expressions of existing objects, such as properties of
 58              //    CIM_StatisticalData and its subclasses. In addition, the
 59              //    classes described in this file enable users to define their own
 60              //    metrics at runtime (rather than at provider implementation time).
 61              //    A newly defined metric (aka CIM_BaseMetricDefinition) may be
 62              //    given a value by instantiating CIM_BaseMetricValue.
 63              //    Both CIM_BaseMetricDefinitions and CIM_BaseMetricValues may be
 64 a.dunfey 1.1 //    associated with a ManagedElement.
 65              // ==================================================================
 66              // CIM 2.9  (
 67              //     CR1296 - Add meta data properties to CIM_BaseMetricDefinition
 68              //              that describe the Metric type and add
 69              //              ModelCorrespondence to BaseMetricValue
 70              //     CR1580 - Move changes in CR1296 to Final
 71              //     CR1581 - Change InstanceId property name to InstanceID in
 72              //              class CIM_BaseMetricValue
 73              // CIM 2.8 (Final) - None
 74              // CIM 2.8 (Preliminary) - None
 75              // 
 76              // CIM 2.7.0 (Preliminary) 5 June 2002
 77              //     CR820 - Defined Base Metrics Classes and associations
 78              //     CR851 - Change the Description of BaseMetricValue.Duration
 79              //             to define the timestamp as the end of the duration
 80              // CIM 2.7.0 (Final) 17 March 2003
 81              //     CR987 - Remove experimental qualifier from:
 82              //              -CIM_BaseMetricDefinition
 83              //              -CIM_BaseMetricValue
 84              //              -CIM_MetricInstance
 85 a.dunfey 1.1 //              -CIM_MetricDefForME
 86              //              -CIM_MetricForME
 87              // ==================================================================
 88              
 89              #pragma Locale ("en_US")
 90              
 91              
 92              // ==================================================================
 93              // BaseMetricDefinition
 94              // ==================================================================
 95                 [Version ( "2.9.0" ), Description (
 96                     "CIM_BaseMetricDefinition represents the definitional aspects "
 97                     "of a metric, i.e., a definition template containing meta data "
 98                     "about a new metric. Since CIM_BaseMetricDefinition does not "
 99                     "capture metric instance information, it does not contain the "
100                     "value of the metric. The associated class CIM_BaseMetricValue "
101                     "holds the metric value and encapsulates its runtime behavior. "
102                     "The purpose of CIM_BaseMetricDefinition is to provide a "
103                     "convenient mechanism for introducing a new metric definition "
104                     "at runtime and capturing its instance values in a separate "
105                     "class. This mechanism is targeted specifically at CIM users "
106 a.dunfey 1.1        "who would like to enhance existing CIM schemas by introducing "
107                     "domain-specific metrics that are not captured in the existing "
108                     "CIM schemas. In addition, vendors of managed resources may "
109                     "make use of this mechanism if a small subset of a potentially "
110                     "large and heterogeneous amount of performance-related data "
111                     "needs to be exposed, based on the context in which the data is "
112                     "captured. Additional meta data for a metric can be provided by "
113                     "subclassing from CIM_BaseMetricDefinition. The "
114                     "CIM_BaseMetricDefinition should be associated with the "
115                     "CIM_ManagedElement(s) to which it applies.")]
116              class CIM_BaseMetricDefinition : CIM_ManagedElement {
117              
118                    [Key, Description (
119                        "A string that uniquely identifies the metric definition. "
120                        "The use of OSF UUID/GUIDs is recommended.")]
121                 string Id;
122              
123                    [Description (
124                        "The name of the metric. This name does not have to be "
125                        "unique, but should be descriptive and may contain blanks.")]
126                 string Name;
127 a.dunfey 1.1 
128                    [Description (
129                        "The data type of the metric. For example, \"boolean\" "
130                        "(value=1) or \"datetime\" (=3) may be specified. These "
131                        "types represent the datatypes defined for CIM."), 
132                     ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
133                        "11", "12", "13", "14" }, 
134                     Values { "boolean", "char16", "datetime", "real32", "real64",
135                        "sint16", "sint32", "sint64", "sint8", "string", "uint16",
136                        "uint32", "uint64", "uint8" }]
137                 uint16 DataType;
138              
139                    [Description (
140                        "An enumerated value that describes the characteristics of "
141                        "the metric, for purposes of performing calculations. The "
142                        "property can take one of the following values: \n"
143                        "1=\"Non-calculable\" -> a string. Arithmetic makes no "
144                        "sense. \n"
145                        "2=\"Summable\" -> It is reasonable to sum this value over "
146                        "many instances of e.g., UnitOfWork, such as the number of "
147                        "files processed in a backup job. For example, if each "
148 a.dunfey 1.1           "backup job is a UnitOfWork, and each job backs up 27,000 "
149                        "files on average, then it makes sense to say that 100 "
150                        "backup jobs processed 2,700,000 files. \n"
151                        "3=\"Non-summable\" -> It does not make sense to sum this "
152                        "value over many instances of UnitOfWork. An example would "
153                        "be a metric that measures the queue length when a job "
154                        "arrives at a server. If each job is a UnitOfWork, and the "
155                        "average queue length when each job arrives is 33, it does "
156                        "not make sense to say that the queue length for 100 jobs is "
157                        "3300. It does make sense to say that the mean is 33."), 
158                     ValueMap { "1", "2", "3" }, 
159                     Values { "Non-calculable", "Summable", "Non-summable" }]
160                 uint16 Calculable;
161              
162                    [Description (
163                        "Identifies the specific units of a value. Examples are "
164                        "Bytes, Packets, Jobs, Files, Milliseconds, and Amps.")]
165                 string Units;
166              
167                    [Description (
168                        "Defines one or more strings that can be used to refine "
169 a.dunfey 1.1           "(break down) queries against the BaseMetricValues along a "
170                        "certain dimension. An example is a transaction name, "
171                        "allowing the break down of the total value for all "
172                        "transactions into a set of values, one for each transaction "
173                        "name. Other examples might be application system or user "
174                        "group name. The strings are free format and should be "
175                        "meaningful to the end users of the metric data. The strings "
176                        "indicate which break down dimensions are supported for this "
177                        "metric definition, by the underlying instrumentation.")]
178                 string BreakdownDimensions[];
179              
180                    [Description (
181                        "IsContinuous indicates whether or not the metric value is "
182                        "continuous or scalar. Performance metrics are an example of "
183                        "a linear metric. Examples of non-linear metrics include "
184                        "error codes or operational states. Continuous metrics can "
185                        "be compared using the \"greater than\" relation.")]
186                 boolean IsContinuous;
187              
188                    [Description (
189                        "ChangeType indicates how the metric value changes, in the "
190 a.dunfey 1.1           "form of typical combinations of finer grain attributes such "
191                        "as direction change, minimum and maximum values, and "
192                        "wrapping semantics. \n"
193                        "0=\"Unknown\": The metric designer did not qualify the "
194                        "ChangeType. \n"
195                        "2=\"N/A\": If the \"IsContinuous\" property is \"false\", "
196                        "ChangeType does not make sense and MUST be is set to "
197                        "\"N/A\". \n"
198                        "3=\"Counter\": The metric is a counter metric. These have "
199                        "non-negative integer values which increase monotonically "
200                        "until reaching the maximum representable number and then "
201                        "wrap around and start increasing from 0. Such counters, "
202                        "also known as rollover counters, can be used for instance "
203                        "to count the number of network errors or the number of "
204                        "transactions processed. The only way for a client "
205                        "application to keep track of wrap arounds is to retrieve "
206                        "the value of the counter in appropriately short intervals. "
207                        "\n4=\"Gauge\": The metric is a gauge metric. These have "
208                        "integer or float values that can increase and decrease "
209                        "arbitrarily. A gauge MUST NOT wrap when reaching the "
210                        "minimum or maximum representable number, instead, the value "
211 a.dunfey 1.1           "\"sticks\" at that number. Minimum or maximum values inside "
212                        "of the representable value range at which the metric value "
213                        "\"sticks\", may or may not be defined. \n"
214                        "Vendors may extend this property in the vendor reserved "
215                        "range."), 
216                     ValueMap { "0", "2", "3", "4", "5..32767", "32768..65535" }, 
217                     Values { "Unknown", "N/A", "Counter", "Gauge", "DMTF Reserved",
218                        "Vendor Reserved" }, 
219                     ModelCorrespondence { "CIM_BaseMetricDefinition.IsContinuous" }]
220                 uint16 ChangeType;
221              
222                    [Description (
223                        "TimeScope indicates the time scope to which the metric "
224                        "value applies. \n"
225                        "0=\"Unknown\" indicates the time scope was not qualified by "
226                        "the metric designer, or is unknown to the provider. \n"
227                        "2=\"Point\" indicates that the metric applies to a point in "
228                        "time. On the corresponding BaseMetricValue instances, "
229                        "TimeStamp specifies the point in time and Duration is "
230                        "always 0. \n"
231                        "3=\"Interval\" indicates that the metric applies to a time "
232 a.dunfey 1.1           "interval. On the corresponding BaseMetricValue instances, "
233                        "TimeStamp specifies the end of the time interval and "
234                        "Duration specifies its duration. \n"
235                        "4=\"StartupInterval\" indicates that the metric applies to "
236                        "a time interval that began at the startup of the measured "
237                        "resource (i.e. the ManagedElement associated by "
238                        "MetricDefForMe). On the corresponding BaseMetricValue "
239                        "instances, TimeStamp specifies the end of the time "
240                        "interval. If Duration is 0, this indicates that the startup "
241                        "time of the measured resource is unknown. Else, Duration "
242                        "specifies the duration between startup of the resource and "
243                        "TimeStamp."), 
244                     ValueMap { "0", "2", "3", "4", "5..32767", "32768..65535" }, 
245                     Values { "Unknown", "Point", "Interval", "StartupInterval",
246                        "DMTF Reserved", "Vendor Reserved" }, 
247                     ModelCorrespondence { "CIM_BaseMetricValue.TimeStamp",
248                        "CIM_BaseMetricValue.Duration" }]
249                 uint16 TimeScope;
250              
251                    [Description (
252                        "GatheringType indicates how the metric values are gathered "
253 a.dunfey 1.1           "by the underlying instrumentation. This allows the client "
254                        "application to choose the right metric for the purpose. \n"
255                        "0=\"Unknown\": Indicates that the GatheringType is not "
256                        "known. \n"
257                        "2=\"OnChange\": Indicates that the CIM metric values get "
258                        "updated immediately when the values inside of the measured "
259                        "resource change. The values of OnChange metrics truly "
260                        "reflect the current situation within the resource at any "
261                        "time. An example is the number of logged on users that gets "
262                        "updated immediately as users log on and off. \n"
263                        "3=\"Periodic\": Indicates that the CIM metric values get "
264                        "updated periodically. For instance, to a client "
265                        "application, a metric value applying to the current time "
266                        "will appear constant during each gathering interval, and "
267                        "then jumps to the new value at the end of each gathering "
268                        "interval. \n"
269                        "4=\"OnRequest\": Indicates that the CIM metric value is "
270                        "determined each time a client application reads it. The "
271                        "values of OnRequest metrics truly return the current "
272                        "situation within the resource if somebody asks for it. "
273                        "However, they do not change \"unobserved\", and therefore "
274 a.dunfey 1.1           "subscribing for value changes of OnRequest metrics is NOT "
275                        "RECOMMENDED."), 
276                     ValueMap { "0", "2", "3", "4", "5..32767", "32768..65535" }, 
277                     Values { "Unknown", "OnChange", "Periodic", "OnRequest",
278                        "DMTF Reserved", "Vendor Reserved" }]
279                 uint16 GatheringType;
280              };
281              
282              
283              // ==================================================================
284              // BaseMetricValue
285              // ==================================================================
286                 [Version ( "2.9.0" ), Description (
287                     "Each CIM_BaseMetricValue object represents the instance value "
288                     "of a metric. Since the gathering of metric information can "
289                     "involve large quantities of information there may be many "
290                     "instances of this class. The use of this class as an "
291                     "instrumentation source may be inefficient unless the rate of "
292                     "metrics are known. The length of time a CIM_BaseMetricValue "
293                     "instance exists after the metric information is captured is "
294                     "not defined and is implementation dependent. \n"
295 a.dunfey 1.1        "Most metric data values change over time. There are two ways "
296                     "of mapping this into CIM_BaseMetricValue objects: The value "
297                     "for the next point in time may use the same object and just "
298                     "change its properties (such as the value or timestamp), or the "
299                     "existing objects remain unchanged and a new object is created "
300                     "for the new point in time. The first method is typically used "
301                     "for snapshot data and the second method for historical data. "
302                     "Which method is used, is indicated by the Volatile property.")]
303              class CIM_BaseMetricValue : CIM_ManagedElement {
304              
305                    [Key, Description (
306                        "Within the scope of the instantiating Namespace, InstanceID "
307                        "opaquely and uniquely identifies an instance of this class. "
308                        "In order to ensure uniqueness within the NameSpace, the "
309                        "value of InstanceID SHOULD be constructed using the "
310                        "following 'preferred' algorithm: \n"
311                        ": \n"
312                        "Where and are separated by a colon ':', and where MUST "
313                        "include a copyrighted, trademarked or otherwise unique name "
314                        "that is owned by the business entity creating/defining the "
315                        "InstanceID, or is a registered ID that is assigned to the "
316 a.dunfey 1.1           "business entity by a recognized global authority (This is "
317                        "similar to the <Schema Name>_<Class Name> structure of "
318                        "Schema class names.) In addition, to ensure uniqueness MUST "
319                        "NOT contain a colon (':'). When using this algorithm, the "
320                        "first colon to appear in InstanceID MUST appear between and "
321                        ". \n"
322                        "is chosen by the business entity and SHOULD not be re-used "
323                        "to identify different underlying (real-world) elements. If "
324                        "the above 'preferred' algorithm is not used, the defining "
325                        "entity MUST assure that the resultant InstanceID is not "
326                        "re-used across any InstanceIDs produced by this or other "
327                        "providers for this instance's NameSpace. \n"
328                        "For DMTF defined instances, the 'preferred' algorithm MUST "
329                        "be used with the set to 'CIM'.")]
330                 string InstanceID;
331              
332                    [Required, Description (
333                        "The key of the BaseMetricDefinition instance for this "
334                        "CIM_BaseMetricValue instance value."), 
335                     ModelCorrespondence { "CIM_BaseMetricDefinition.Id" }]
336                 string MetricDefinitionId;
337 a.dunfey 1.1 
338                    [Description (
339                        "A descriptive name for the element to which the metric "
340                        "value belongs (i.e., the measured element). This property "
341                        "is required by behavior if there is no association defined "
342                        "to a ManagedElement, but may be used in other cases to "
343                        "provide supplemental information. This allows metrics to be "
344                        "captured independently of any ManagedElement. An example is "
345                        "where a metric value belongs to a combination of elements, "
346                        "such as the input and output ports of the traffic in a "
347                        "switch. If there are multiple ManagedElements associated "
348                        "with the metric value, then usually there is one that "
349                        "naturally belongs to the metric value and that one should "
350                        "be used to create the supplemental information. The "
351                        "property is not meant to be used as a foreign key to search "
352                        "on the measured element. Instead, the association to the "
353                        "ManagedElement should be used.")]
354                 string MeasuredElementName;
355              
356                    [Description (
357                        "Identifies the time when the value of a metric instance is "
358 a.dunfey 1.1           "computed. Note that this is different from the time when "
359                        "the instance is created. For a given CIM_BaseMetricValue "
360                        "instance, the TimeStamp changes whenever a new measurement "
361                        "snapshot is taken if Volatile is true. A managmenet "
362                        "application may establish a time series of metric data by "
363                        "retrieving the instances of CIM_BaseMetricValue and sorting "
364                        "them according to their TimeStamp."), 
365                     ModelCorrespondence { "CIM_BaseMetricDefinition.TimeScope",
366                        "CIM_BaseMetricValue.Duration" }]
367                 datetime TimeStamp;
368              
369                    [Description (
370                        "Property that represents the time duration over which this "
371                        "metric value is valid. This property should not exist for "
372                        "timestamps that apply only to a point in time but should be "
373                        "defined for values that are considered valid for a certain "
374                        "time period (ex. sampling). If the \"Duration\" property "
375                        "exists and is nonNull, the TimeStamp is to be considered "
376                        "the end of the interval."), 
377                     ModelCorrespondence { "CIM_BaseMetricDefinition.TimeScope",
378                        "CIM_BaseMetricValue.TimeStamp" }]
379 a.dunfey 1.1    datetime Duration;
380              
381                    [Required, Description (
382                        "The value of the metric represented as a string. Its "
383                        "original data type is specified in "
384                        "CIM_BaseMetricDefinition.")]
385                 string MetricValue;
386              
387                    [Description (
388                        "If present, specifies one BreakdownDimension from the "
389                        "BreakdownDimensions array defined in the associated CIM_ "
390                        "BaseMetricDefinition. This is the dimension along which "
391                        "this set of metric values is broken down. For a description "
392                        "of the concept, see the class CIM_BaseMetricDefinition.")]
393                 string BreakdownDimension;
394              
395                    [Description (
396                        "Defines a value of the BreakdownDimension property defined "
397                        "for this metric value instance. For instance, if the "
398                        "BreakdownDimension is \"TransactionName\", this property "
399                        "could name the actual transaction to which this particular "
400 a.dunfey 1.1           "metric value applies.")]
401                 string BreakdownValue;
402              
403                    [Description (
404                        "If true, Volatile indicates that the value for the next "
405                        "point in time may use the same object and just change its "
406                        "properties (such as the value or timestamp). If false, the "
407                        "existing objects remain unchanged and a new object is "
408                        "created for the new point in time.")]
409                 boolean Volatile;
410              };
411              
412              
413              // ===================================================================
414              // MetricInstance
415              // ===================================================================
416                 [Association, Version ( "2.7.0" ), Description (
417                     "Weak association of metric value objects with their metric "
418                     "definition. This association ties an instance of "
419                     "CIM_BaseMetricValue to its CIM_BaseMetricDefinition; it is "
420                     "weak because the existence of a CIM_BaseMetricValue depends on "
421 a.dunfey 1.1        "the existence of its associated CIM_BaseMetricDefinition: An "
422                     "instance of CIM_BaseMetricValue must not exist without being "
423                     "associated to its corresponding CIM_BaseMetricDefinition.")]
424              class CIM_MetricInstance : CIM_Dependency {
425              
426                    [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
427                        "The CIM_BaseMetricDefinition for this particular "
428                        "CIM_BaseMetricValue.")]
429                 CIM_BaseMetricDefinition REF Antecedent;
430              
431                    [Override ( "Dependent" ), Description (
432                        "A CIM_BaseMetricValue instance holding the Value.")]
433                 CIM_BaseMetricValue REF Dependent;
434              };
435              
436              
437              // ===================================================================
438              // MetricDefForME
439              // ===================================================================
440                 [Association, Version ( "2.7.0" ), Description (
441                     "This association ties a CIM_BaseMetricDefinition to a "
442 a.dunfey 1.1        "CIM_ManagedElement to define metrics for the latter. The "
443                     "metrics definition is given context by the ManagedElement, "
444                     "which is why the definition is dependent on the element.")]
445              class CIM_MetricDefForME : CIM_Dependency {
446              
447                    [Override ( "Antecedent" ), Description (
448                        "The CIM_ManagedElement that can have metrics of this type "
449                        "associated with it.")]
450                 CIM_ManagedElement REF Antecedent;
451              
452                    [Override ( "Dependent" ), Description (
453                        "A CIM_BaseMetricDefinition for a CIM_ManagedElement.")]
454                 CIM_BaseMetricDefinition REF Dependent;
455              };
456              
457              
458              // ===================================================================
459              // MetricForME
460              // ===================================================================
461                 [Association, Version ( "2.7.0" ), Description (
462                     "This association links a ManagedElement to the metric values "
463 a.dunfey 1.1        "being maintained for it.")]
464              class CIM_MetricForME : CIM_Dependency {
465              
466                    [Override ( "Antecedent" ), Description (
467                        "ManagedElement to which the metric values belong.")]
468                 CIM_ManagedElement REF Antecedent;
469              
470                    [Override ( "Dependent" ), Description (
471                        "A metric value for the ManagedElement.")]
472                 CIM_BaseMetricValue REF Dependent;
473              };
474              
475              
476              // ==================================================================
477              // end of file
478              // ==================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2