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

  1 karl  1.1 // ==================================================================
  2 mike  1.2 // Title:  	Metrics MOF Specification 2.5
  3           // Filename:    CIM_Metrics25.MOF
  4           // Version      2.5
  5           // Release:     0
  6           // Status:      Final
  7           // Date:        06/12/2001
  8           // ===================================================================
  9           // Copyright "2001" 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 cited should always be noted.
 18           // Description: These object classes define the user and security 
 19           //              model for CIM and includes classes needed to represent
 20           //              users, groups and organizational entities as well as 
 21           //              security services and authentication and authorization 
 22           //              information.
 23 mike  1.2 //              The object classes below are listed in an order that
 24           //              avoids forward references. Required objects, defined 
 25           //		    by other working groups, are omitted. 
 26           // ===================================================================
 27 karl  1.1 //         Fixed UnitOfWork.UoWDefId Propagated qualifier class name
 28           //         Removed the Weak qualifier from the association StartedUoW
 29           //         Fixed some descriptions
 30           //         Removed Required qualifier from MetricDefinition.Name,
 31           //              UnitOfWorkDefinition.Name, UnitOfWorkDefinition.Context
 32           //         --> (the rest of this list were changes made 01 Feb 2000 but
 33           //         -->  not incorporated into DAP24.MOF due to an oversight)
 34           //	   Fixed pragma Locale string
 35           //         Corrected subclassing of CIM_MetricDefinition and 
 36           //		CIM_UnitOfWork (now subclassed from CIM_ManagedElement)
 37           //	   Fixed grammatical and formatting errors in Descriptions
 38           //	   Provided information in Descriptions on why associations 
 39           //		were defined as Dependencies 
 40           //	   Provided Descriptions where they were missing
 41           //	   Added MaxLen (16) to String Id in UnitOfWorkDefinition
 42           //		and in MetricDefinition, to enforce the semantics of 
 43           //		the Description
 44           //	   Also added MaxLen (16) to UoWDefId, where the UnitOf
 45           //		WorkDefinition Id property is propagated to UnitOfWork	
 46           //	   Removed the Weak qualifier from the association, 
 47           //		UoWMetricDefinition, and also the Max(1) restriction
 48 karl  1.1 //		(the latter allows reuse of Metrics)
 49           //	   Removed Min(0) from the association, SubUoW, since this
 50           //		is the default definition
 51           // ==================================================================
 52           
 53           // ==================================================================
 54           // Pragmas
 55           // ==================================================================
 56           #pragma Locale ("en_US")
 57           
 58           
 59           // ================================================================== 
 60           // UnitOfWorkDefinition
 61           // ==================================================================
 62              [Description (
 63                  "A LogicalElement that describes units of work (e.g. "
 64           	 "transactions). This class represents the definitional "
 65           	 "components of a unit of work, and not the unit itself.")
 66              ]
 67           class CIM_UnitOfWorkDefinition : CIM_LogicalElement
 68           {
 69 karl  1.1       [Override ("Name"), 
 70                  Description (
 71                      "The name of the Definition. This name does not have to "
 72           	     "be unique, but should be descriptive. It may "
 73           	     "contain blanks.")
 74                 ]
 75              string Name;
 76                 [Description (
 77                      "A free format string describing the context of the "
 78                      "defined UnitOfWork. For example an 'Add Order' Unit could "
 79                      "be defined in the context of a book ordering application, "
 80                      "whereas another 'Add Order' UnitOfWork could be defined for "
 81           	   "a computer ordering application. It may contain blanks.")
 82                 ]
 83              string Context;
 84                 [Key, MaxLen (16),
 85                  Description (
 86                     "A 16 byte value that uniquely identifies the UnitOfWork"
 87           	    "Definition. The use of OSF UUID/GUIDs is recommended.")
 88                 ]
 89              string Id;
 90 karl  1.1 };
 91           
 92           // ================================================================== 
 93           // MetricDefinition
 94           // ==================================================================
 95              [Description (
 96                  "The metrics that are associated with a UnitOfWork. These "
 97           	 "metrics usually describe some aspect of a UnitOfWork such "
 98           	 "as how much work was done, or the size of the UnitOfWork. "
 99           	 "For example, the size of a print job or the number of pages "
100           	 "printed could be metrics of a 'print' UnitOfWork.")
101              ]
102           class CIM_MetricDefinition : CIM_ManagedElement
103           {
104                 [Key, MaxLen (16),
105           	 Description (
106                     "A 16 byte value that uniquely identifies the Metric"
107           	    "Definition. The use of OSF UUID/GUIDs is recommended.")
108                 ]
109              string Id;
110                 [Description (
111 karl  1.1            "The name of the Definition.  This name does not have to "
112           	     "be unique, but should be descriptive.  It may "
113           	     "contain blanks.")
114                 ]
115              string Name;
116                 [Description (
117           	     "The Metric's data type. For example, \"boolean\" (value=1) "
118           	     "or \"datetime\" (=3) may be specified."),  
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           	]
125              uint16 DataType;
126                 [Description (
127                      "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 karl  1.1            "2=\"Summable\" -> It is reasonable to sum this value over "
133                      "many instances of UnitOfWork, such as the number of files "
134                      "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           	]
148              uint16 Calculable;
149                 [Description (
150                     "Identifies the specific units of the Metric. Examples are "
151                     "Bytes, Packets, Jobs, Files, Milliseconds and Amps.")
152           	]
153 karl  1.1    string Units;
154                 [Description (
155           	  "An enumerated value describing when the Metric may be "
156                     "considered valid. Some metrics are valid only at the "
157                     "beginning of a transaction (e.g., bytes to print), while "
158                     "the transaction is running (e.g., percent complete), or "
159                     "when the transaction is finished (e.g., pages printed). "
160                     "If a metric is valid at more than one of the enumerated "
161                     "values, such as both when the unit of work starts and "
162                     "when it stops, it is recommended to not use Validity."),
163           	 ValueMap {"1", "2", "3"},
164           	 Values {"atStart","inMiddle","atStop"} 
165           	] 
166              uint16 Validity;
167           };
168           
169           // ================================================================== 
170           // UoWMetricDefinition
171           // ==================================================================
172              [Association,
173               Description (
174 karl  1.1        "An association that describes the Metrics related to a "
175           	 "UnitOfWorkDefinition. This is a Dependency "
176                  "relationship since the MetricDefinition relies on the "
177                  "UnitOfWorkDefinition for context. At least one context must "
178                  "be defined for a MetricDefinition, hence the Min(1) "
179                  "qualifier is placed on the UnitOfWorkDefinition reference.")
180              ]
181           class CIM_UoWMetricDefinition : CIM_Dependency
182           {
183                 [Override ("Antecedent"), Min(1),
184                  Description (
185                    "The UnitOfWorkDefinition where the Metric applies.")
186                 ] 
187              CIM_UnitOfWorkDefinition REF Antecedent;
188                 [Override ("Dependent"),
189                  Description (
190                    "The MetricDefinition for a particular UnitOfWork.")
191                 ] 
192              CIM_MetricDefinition REF Dependent;
193           };
194           
195 karl  1.1 // ================================================================== 
196           // UnitOfWork
197           // ==================================================================
198              [Description (
199                 "Each instance of UnitOfWork identifies a transaction that is "
200                 "either in-process or already completed. Because instances of "
201                 "'in-process' UnitsOfWork can be very short-lived and there can "
202                 "be a great number of active ones, use of this class as an "
203                 "instrumentation source for determining response time may be "
204                 "incorrect or inefficient, unless the rate and duration of the "
205                 "UnitsOfWork are known. The intended use is to respond to queries "
206                 "about currently active or recently completed UnitsOfWork. "
207                 "The length of time that a UnitOfWork instance exists after the "
208                 "UnitOfWork completes is not defined and should be assumed to be "
209                 "implementation-dependent. This class "
210                 "is weak to its definition (CIM_UnitOfWorkDefintion).") 
211              ] 
212           class CIM_UnitOfWork : CIM_ManagedElement
213           {
214           	[Override ("Description"),
215                  Description (
216 karl  1.1          "Since UnitOfWork is designed to be an extremely lightweight "
217                    "object, it is recommended that this property not be used. "
218           	   "The Description specified for the instance's associated "
219                    "CIM_UnitOfWorkDefintion should apply.")
220           	] 
221              string Description;
222                 [Key, Description (
223                   "The identifier of the UnitOfWork, within the context of the "
224           	  "UnitOfWorkDefinition.") 
225           	] 
226              sint64 Id;
227                 [Key, MaxLen (16), 
228           	 Propagated ("CIM_UnitOfWorkDefinition.Id"),
229                  Description (
230                     "A 16 byte value that uniquely identifies the UnitOfWork"
231           	    "Definition. The use of OSF UUID/GUIDs is recommended.")
232                 ]
233              string UoWDefId;
234                 [Description (
235                     "The name of the user who initiated the UnitOfWork. This "
236                     "may be a real user's login name or a logical name representing "
237 karl  1.1           "an application.")
238           	] 
239              string UserName;
240                 [Description (
241           	    "The time that the UnitOfWork was started.") 
242                 ] 
243              datetime StartTime;
244                 [Description (
245                     "The elapsed time since the UnitOfWork was started. "
246                     "Upon completion of the UnitOfWork, this property contains "
247           	    "the total amount of time taken in processing the entire "
248                     "UnitOfWork.") 
249           	] 
250              datetime ElapsedTime;
251             	[Description (
252           	    "An enumeration identifing the status of the UnitOfWork. "
253           	    "Most of the property values are self-explanatory. A few need "
254           	    "additional text:\n"
255                     "3=\"Completed\" - Should be used to represent a 'completed' "
256                     "transaction whose status ('good', 'failed' or 'aborted') is "
257                     "unknown.\n"
258 karl  1.1           "6=\"Completed Aborted\" - Should be used when a UnitOfWork "
259                     "has completed but was not allowed to end normally. An example "
260                     "would be when the Stop or Back buttons are selected from a web "
261                     "browser, before a page is fully loaded."),
262           	   ValueMap {"1", "2", "3", "4", "5", "6"},
263           	   Values {"Active", "Suspended", "Completed", "Completed Good",
264                           "Completed Failed", "Completed Aborted"}
265           	]
266              uint16 Status;
267           };
268           
269           // ================================================================== 
270           // UoWMetric
271           // ==================================================================
272              [Association,
273               Description (
274                  "This association ties a MetricDefinition to an instance of a "
275                  "UnitOfWork. Its primary purpose is to specify the value of "
276                  "the Metric for the instance of UnitOfWork. It is defined as a "
277                  "Dependency since the Metric value relies on the specific "
278                  "UnitOfWork for context.")
279 karl  1.1    ]
280           class CIM_UoWMetric : CIM_Dependency
281           {
282           	[Override ("Antecedent"),
283                  Description (
284                    "The UnitOfWork whose Metric value is specified.")
285                 ] 
286              CIM_UnitOfWork REF Antecedent;
287                 [Override ("Dependent"),
288                  Description (
289                    "The MetricDefinition for this particular UnitOfWork and "
290                    "value. Note that the MetricDefinition must be associated "
291                    "(via UoWMetricDefinition) to the same UnitOfWorkDefinition "
292                    "to which the UnitOfWork is weakly associated.")
293                 ] 
294              CIM_MetricDefinition REF Dependent;
295           	[Description (
296           	 "The value of the Metric for the referenced UnitOfWork. "
297                  "Note that the type of the data and other information are "
298                  "defined by the properties of MetricDefinition.")
299           	]
300 karl  1.1    string Value;
301           };
302           
303           // ================================================================== 
304           // StartedUoW
305           // ==================================================================
306              [Association,
307               Description (
308                  "This association links a UnitOfWork (which is a 'started' "
309                  "transaction) to its Definition.")
310              ]
311           class CIM_StartedUoW : CIM_Dependency
312           {
313           	[Override ("Antecedent"),
314                  Max (1), Min (1),
315                  Description (
316                    "The Definition object for the UnitOfWork.")
317                 ] 
318              CIM_UnitOfWorkDefinition REF Antecedent;
319                 [Override ("Dependent"),
320                  Description (
321 karl  1.1          "An instance of a UnitOfWork that has started executing.")
322                 ] 
323              CIM_UnitOfWork REF Dependent;
324           };
325           
326           // ================================================================== 
327           // LogicalElementUnitOfWorkDef
328           // ==================================================================
329              [Association,
330               Description (
331                  "This association links a LogicalElement to the UnitsOfWork "
332           	 "that it can perform.  For example, a Printer Device may have "
333           	 "associated UnitOfWorkDefinitions representing PrintJobs. "
334                  "This is a Dependency relationship since the Definitions are "
335                  "given context by the LogicalElement.")
336              ]
337           class CIM_LogicalElementUnitOfWorkDef : CIM_Dependency
338           {
339                 [Override ("Antecedent"),
340                  Description (
341                    "The LogicalElement that is providing the UnitOfWork.")
342 karl  1.1       ] 
343              CIM_LogicalElement REF Antecedent;
344                 [Override ("Dependent"),
345                  Description (
346                    "The UnitOfWorkDefinition associated with the LogicalElement.")
347                 ] 
348              CIM_UnitOfWorkDefinition REF Dependent;
349           };
350           
351           // ================================================================== 
352           // SubUoWDef
353           // ==================================================================
354              [Association,
355               Description (
356                  "This association defines the sub-UnitsOfWork (the sub-"
357                  "transactions) for a particular UnitOfWorkDefinition. For "
358                  "example, an 'AddOrder' UnitOfWork could have sub-Units of "
359                  "'ValidateCustomer', 'ValidatePartNumber', 'UpdateDatabase', "
360                  "etc. This is a Dependency relationship since the sub-UnitsOf"
361                  "Work are put in context relative to the parent Unit. It is "
362                  "not an aggregation relationship - since (using another example) "
363 karl  1.1        "a 'DatabaseWrite' transaction is likely to be dependent upon a "
364                  "'DiskWrite', but the two transactions are separate concepts "
365                  "and one is not 'contained' by the other.")
366              ]
367           class CIM_SubUoWDef : CIM_Dependency
368           {
369                 [Override ("Antecedent"),
370                  Description (
371                    "The parent UnitOfWorkDefinition.")
372                 ] 
373              CIM_UnitOfWorkDefinition REF Antecedent;
374                 [Override ("Dependent"),
375                  Description (
376                    "The sub-UnitOfWorkDefinition.")
377                 ] 
378              CIM_UnitOfWorkDefinition REF Dependent;
379           };
380           
381           // ================================================================== 
382           // LogicalElementPerformsUoW
383           // ==================================================================
384 karl  1.1    [Association,
385               Description (
386                  "This association identifies a specific execution of a UnitOf"
387                  "Work with the specific LogicalElement that is performing/"
388                  "has performed it. Where the LogicalElementUnitOfWorkDef "
389                  "association describes what an Element can do, this relationship "
390                  "describes what a particular Element is doing or has done.")
391              ]
392           class CIM_LogicalElementPerformsUoW : CIM_Dependency
393           {
394                 [Override ("Antecedent"),
395                  Description (
396                    "The LogicalElement performing the UnitOfWork.")
397                 ] 
398              CIM_LogicalElement REF Antecedent;
399                 [Override ("Dependent"),
400                  Description (
401                    "The UnitOfWork being performed.")
402                 ] 
403              CIM_UnitOfWork REF Dependent;
404           };
405 karl  1.1 
406           // ================================================================== 
407           // SubUoW
408           // ==================================================================
409              [Association,
410               Description (
411                  "Similar to the SubUoWDef association (which describes the "
412                  "relationship between definitional UnitsOfWork), this "
413           	 "association identifies the executional UnitOfWork "
414                  "Dependencies.  It associates executing/executed UnitsOfWork "
415                  "with their parent Units. In most cases, the SubUoW reflects "
416                  "the execution side of the relationship defined in SubUoWDef. "
417                  "However, there may be cases where the SubUoWDef is not defined, "
418                  "but for a particular UnitOfWork, the SubUoW relationship is "
419                  "valid. Therefore, it is not a requirement (but it is "
420                  "desirable) that there be a corresponding SubUoWDef for each "
421                  "instance of SubUoW.")
422              ]
423           class CIM_SubUoW : CIM_Dependency
424           {
425                 [Override ("Antecedent"),
426 karl  1.1 	 Max (1), 
427                  Description (
428                    "The parent executing/executed UnitOfWork. On the execution "
429                    "side, it is expected that a sub-Unit is associated with only "
430                    "one parent UnitOfWork.")
431                 ] 
432              CIM_UnitOfWork REF Antecedent;
433                 [Override ("Dependent"),
434                  Description (
435                    "The sub-UnitOfWork. On the execution side, it is expected "
436                    "that a sub-Unit is associated with only one parent "
437                    "UnitOfWork.")
438                 ] 
439              CIM_UnitOfWork REF Dependent;
440           };
441           
442           // ===================================================================
443           // end of file
444           // ===================================================================
445           

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2