version 1.1, 2001/08/07 11:08:21
|
version 1.2, 2001/12/13 14:53:16
|
|
|
|
// ================================================================== |
|
// Title: Metrics MOF Specification 2.6 |
|
// Filename: CIM_Metrics26.MOF |
|
// Version 2.6 |
|
// Release: 0 |
|
// Status: Preliminary |
|
// Date: 06/12/2001 |
|
// =================================================================== |
|
// Copyright "2001" Distributed Management Task Force, Inc. (DMTF). |
|
// All rights reserved. |
|
// DMTF is a not-for-profit association of industry members dedicated |
|
// to promoting enterprise and systems management and interoperability. |
|
// DMTF specifications and documents may be reproduced for uses |
|
// consistent with this purpose by members and non-members, |
|
// provided that correct attribution is given. |
|
// As DMTF specifications may be revised from time to time, |
|
// the particular version and release cited should always be noted. |
|
// Description: These object classes define the user and security |
|
// model for CIM and includes classes needed to represent |
|
// users, groups and organizational entities as well as |
|
// security services and authentication and authorization |
|
// information. |
|
// The object classes below are listed in an order that |
|
// avoids forward references. Required objects, defined |
|
// by other working groups, are omitted. |
|
// =================================================================== |
|
// Fixed UnitOfWork.UoWDefId Propagated qualifier class name |
|
// Removed the Weak qualifier from the association StartedUoW |
|
// Fixed some descriptions |
|
// Removed Required qualifier from MetricDefinition.Name, |
|
// UnitOfWorkDefinition.Name, UnitOfWorkDefinition.Context |
|
// --> (the rest of this list were changes made 01 Feb 2000 but |
|
// --> not incorporated into DAP24.MOF due to an oversight) |
|
// Fixed pragma Locale string |
|
// Corrected subclassing of CIM_MetricDefinition and |
|
// CIM_UnitOfWork (now subclassed from CIM_ManagedElement) |
|
// Fixed grammatical and formatting errors in Descriptions |
|
// Provided information in Descriptions on why associations |
|
// were defined as Dependencies |
|
// Provided Descriptions where they were missing |
|
// Added MaxLen (16) to String Id in UnitOfWorkDefinition |
|
// and in MetricDefinition, to enforce the semantics of |
|
// the Description |
|
// Also added MaxLen (16) to UoWDefId, where the UnitOf |
|
// WorkDefinition Id property is propagated to UnitOfWork |
|
// Removed the Weak qualifier from the association, |
|
// UoWMetricDefinition, and also the Max(1) restriction |
|
// (the latter allows reuse of Metrics) |
|
// Removed Min(0) from the association, SubUoW, since this |
|
// is the default definition |
|
// ================================================================== |
|
|
|
// ================================================================== |
|
// Pragmas |
|
// ================================================================== |
|
#pragma Locale ("en_US") |
|
|
|
|
|
// ================================================================== |
|
// UnitOfWorkDefinition |
|
// ================================================================== |
|
[Description ( |
|
"A LogicalElement that describes units of work (e.g. " |
|
"transactions). This class represents the definitional " |
|
"components of a unit of work, and not the unit itself.") |
|
] |
|
class CIM_UnitOfWorkDefinition : CIM_LogicalElement |
|
{ |
|
[Override ("Name"), |
|
Description ( |
|
"The name of the Definition. This name does not have to " |
|
"be unique, but should be descriptive. It may " |
|
"contain blanks.") |
|
] |
|
string Name; |
|
[Description ( |
|
"A free format string describing the context of the " |
|
"defined UnitOfWork. For example an 'Add Order' Unit could " |
|
"be defined in the context of a book ordering application, " |
|
"whereas another 'Add Order' UnitOfWork could be defined for " |
|
"a computer ordering application. It may contain blanks.") |
|
] |
|
string Context; |
|
[Key, MaxLen (16), |
|
Description ( |
|
"A 16 byte value that uniquely identifies the UnitOfWork" |
|
"Definition. The use of OSF UUID/GUIDs is recommended.") |
|
] |
|
string Id; |
|
}; |
|
|
|
// ================================================================== |
|
// MetricDefinition |
|
// ================================================================== |
|
[Description ( |
|
"The metrics that are associated with a UnitOfWork. These " |
|
"metrics usually describe some aspect of a UnitOfWork such " |
|
"as how much work was done, or the size of the UnitOfWork. " |
|
"For example, the size of a print job or the number of pages " |
|
"printed could be metrics of a 'print' UnitOfWork.") |
|
] |
|
class CIM_MetricDefinition : CIM_ManagedElement |
|
{ |
|
[Key, MaxLen (16), |
|
Description ( |
|
"A 16 byte value that uniquely identifies the Metric" |
|
"Definition. The use of OSF UUID/GUIDs is recommended.") |
|
] |
|
string Id; |
|
[Description ( |
|
"The name of the Definition. This name does not have to " |
|
"be unique, but should be descriptive. It may " |
|
"contain blanks.") |
|
] |
|
string Name; |
|
[Description ( |
|
"The Metric's data type. For example, \"boolean\" (value=1) " |
|
"or \"datetime\" (=3) may be specified."), |
|
ValueMap {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", |
|
"11", "12", "13", "14"}, |
|
Values {"boolean", "char16", "datetime", "real32", "real64", |
|
"sint16", "sint32", "sint64", "sint8", "string", "uint16", |
|
"uint32", "uint64", "uint8"} |
|
] |
|
uint16 DataType; |
|
[Description ( |
|
"An enumerated value that describes the characteristics " |
|
"of the Metric, for purposes of performing calculations. " |
|
"The property can take one of the following values:\n" |
|
"1=\"Non-calculable\" -> a string. Arithmetic makes no " |
|
"sense.\n" |
|
"2=\"Summable\" -> It is reasonable to sum this value over " |
|
"many instances of UnitOfWork, such as the number of files " |
|
"processed in a backup job. For example, if each backup " |
|
"job is a UnitOfWork, and each job backs up 27,000 files on " |
|
"average, then it makes sense to say that 100 backup jobs " |
|
"processed 2,700,000 files.\n" |
|
"3=\"Non-summable\" -> It does not make sense to sum this " |
|
"value over many instances of UnitOfWork. An example would be " |
|
"a metric that measures the queue length when a job arrives " |
|
"at a server. If each job is a UnitOfWork, and the average " |
|
"queue length when each job arrives is 33, it does not make " |
|
"sense to say that the queue length for 100 jobs is 3300. It " |
|
"does make sense to say that the mean is 33."), |
|
ValueMap {"1", "2", "3"}, |
|
Values {"Non-calculable", "Summable", "Non-summable"} |
|
] |
|
uint16 Calculable; |
|
[Description ( |
|
"Identifies the specific units of the Metric. Examples are " |
|
"Bytes, Packets, Jobs, Files, Milliseconds and Amps.") |
|
] |
|
string Units; |
|
[Description ( |
|
"An enumerated value describing when the Metric may be " |
|
"considered valid. Some metrics are valid only at the " |
|
"beginning of a transaction (e.g., bytes to print), while " |
|
"the transaction is running (e.g., percent complete), or " |
|
"when the transaction is finished (e.g., pages printed). " |
|
"If a metric is valid at more than one of the enumerated " |
|
"values, such as both when the unit of work starts and " |
|
"when it stops, it is recommended to not use Validity."), |
|
ValueMap {"1", "2", "3"}, |
|
Values {"atStart","inMiddle","atStop"} |
|
] |
|
uint16 Validity; |
|
}; |
|
|
|
// ================================================================== |
|
// UoWMetricDefinition |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"An association that describes the Metrics related to a " |
|
"UnitOfWorkDefinition. This is a Dependency " |
|
"relationship since the MetricDefinition relies on the " |
|
"UnitOfWorkDefinition for context. At least one context must " |
|
"be defined for a MetricDefinition, hence the Min(1) " |
|
"qualifier is placed on the UnitOfWorkDefinition reference.") |
|
] |
|
class CIM_UoWMetricDefinition : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), Min(1), |
|
Description ( |
|
"The UnitOfWorkDefinition where the Metric applies.") |
|
] |
|
CIM_UnitOfWorkDefinition REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"The MetricDefinition for a particular UnitOfWork.") |
|
] |
|
CIM_MetricDefinition REF Dependent; |
|
}; |
|
|
|
// ================================================================== |
|
// UnitOfWork |
|
// ================================================================== |
|
[Description ( |
|
"Each instance of UnitOfWork identifies a transaction that is " |
|
"either in-process or already completed. Because instances of " |
|
"'in-process' UnitsOfWork can be very short-lived and there can " |
|
"be a great number of active ones, use of this class as an " |
|
"instrumentation source for determining response time may be " |
|
"incorrect or inefficient, unless the rate and duration of the " |
|
"UnitsOfWork are known. The intended use is to respond to queries " |
|
"about currently active or recently completed UnitsOfWork. " |
|
"The length of time that a UnitOfWork instance exists after the " |
|
"UnitOfWork completes is not defined and should be assumed to be " |
|
"implementation-dependent. This class " |
|
"is weak to its definition (CIM_UnitOfWorkDefintion).") |
|
] |
|
class CIM_UnitOfWork : CIM_ManagedElement |
|
{ |
|
[Override ("Description"), |
|
Description ( |
|
"Since UnitOfWork is designed to be an extremely lightweight " |
|
"object, it is recommended that this property not be used. " |
|
"The Description specified for the instance's associated " |
|
"CIM_UnitOfWorkDefintion should apply.") |
|
] |
|
string Description; |
|
[Key, Description ( |
|
"The identifier of the UnitOfWork, within the context of the " |
|
"UnitOfWorkDefinition.") |
|
] |
|
sint64 Id; |
|
[Key, MaxLen (16), |
|
Propagated ("CIM_UnitOfWorkDefinition.Id"), |
|
Description ( |
|
"A 16 byte value that uniquely identifies the UnitOfWork" |
|
"Definition. The use of OSF UUID/GUIDs is recommended.") |
|
] |
|
string UoWDefId; |
|
[Description ( |
|
"The name of the user who initiated the UnitOfWork. This " |
|
"may be a real user's login name or a logical name representing " |
|
"an application.") |
|
] |
|
string UserName; |
|
[Description ( |
|
"The time that the UnitOfWork was started.") |
|
] |
|
datetime StartTime; |
|
[Description ( |
|
"The elapsed time since the UnitOfWork was started. " |
|
"Upon completion of the UnitOfWork, this property contains " |
|
"the total amount of time taken in processing the entire " |
|
"UnitOfWork.") |
|
] |
|
datetime ElapsedTime; |
|
[Description ( |
|
"An enumeration identifing the status of the UnitOfWork. " |
|
"Most of the property values are self-explanatory. A few need " |
|
"additional text:\n" |
|
"3=\"Completed\" - Should be used to represent a 'completed' " |
|
"transaction whose status ('good', 'failed' or 'aborted') is " |
|
"unknown.\n" |
|
"6=\"Completed Aborted\" - Should be used when a UnitOfWork " |
|
"has completed but was not allowed to end normally. An example " |
|
"would be when the Stop or Back buttons are selected from a web " |
|
"browser, before a page is fully loaded."), |
|
ValueMap {"1", "2", "3", "4", "5", "6"}, |
|
Values {"Active", "Suspended", "Completed", "Completed Good", |
|
"Completed Failed", "Completed Aborted"} |
|
] |
|
uint16 Status; |
|
}; |
|
|
|
// ================================================================== |
|
// UoWMetric |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"This association ties a MetricDefinition to an instance of a " |
|
"UnitOfWork. Its primary purpose is to specify the value of " |
|
"the Metric for the instance of UnitOfWork. It is defined as a " |
|
"Dependency since the Metric value relies on the specific " |
|
"UnitOfWork for context.") |
|
] |
|
class CIM_UoWMetric : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), |
|
Description ( |
|
"The UnitOfWork whose Metric value is specified.") |
|
] |
|
CIM_UnitOfWork REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"The MetricDefinition for this particular UnitOfWork and " |
|
"value. Note that the MetricDefinition must be associated " |
|
"(via UoWMetricDefinition) to the same UnitOfWorkDefinition " |
|
"to which the UnitOfWork is weakly associated.") |
|
] |
|
CIM_MetricDefinition REF Dependent; |
|
[Description ( |
|
"The value of the Metric for the referenced UnitOfWork. " |
|
"Note that the type of the data and other information are " |
|
"defined by the properties of MetricDefinition.") |
|
] |
|
string Value; |
|
}; |
|
|
|
// ================================================================== |
|
// StartedUoW |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"This association links a UnitOfWork (which is a 'started' " |
|
"transaction) to its Definition.") |
|
] |
|
class CIM_StartedUoW : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), |
|
Max (1), Min (1), |
|
Description ( |
|
"The Definition object for the UnitOfWork.") |
|
] |
|
CIM_UnitOfWorkDefinition REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"An instance of a UnitOfWork that has started executing.") |
|
] |
|
CIM_UnitOfWork REF Dependent; |
|
}; |
|
|
|
// ================================================================== |
|
// LogicalElementUnitOfWorkDef |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"This association links a LogicalElement to the UnitsOfWork " |
|
"that it can perform. For example, a Printer Device may have " |
|
"associated UnitOfWorkDefinitions representing PrintJobs. " |
|
"This is a Dependency relationship since the Definitions are " |
|
"given context by the LogicalElement.") |
|
] |
|
class CIM_LogicalElementUnitOfWorkDef : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), |
|
Description ( |
|
"The LogicalElement that is providing the UnitOfWork.") |
|
] |
|
CIM_LogicalElement REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"The UnitOfWorkDefinition associated with the LogicalElement.") |
|
] |
|
CIM_UnitOfWorkDefinition REF Dependent; |
|
}; |
|
|
|
// ================================================================== |
|
// SubUoWDef |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"This association defines the sub-UnitsOfWork (the sub-" |
|
"transactions) for a particular UnitOfWorkDefinition. For " |
|
"example, an 'AddOrder' UnitOfWork could have sub-Units of " |
|
"'ValidateCustomer', 'ValidatePartNumber', 'UpdateDatabase', " |
|
"etc. This is a Dependency relationship since the sub-UnitsOf" |
|
"Work are put in context relative to the parent Unit. It is " |
|
"not an aggregation relationship - since (using another example) " |
|
"a 'DatabaseWrite' transaction is likely to be dependent upon a " |
|
"'DiskWrite', but the two transactions are separate concepts " |
|
"and one is not 'contained' by the other.") |
|
] |
|
class CIM_SubUoWDef : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), |
|
Description ( |
|
"The parent UnitOfWorkDefinition.") |
|
] |
|
CIM_UnitOfWorkDefinition REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"The sub-UnitOfWorkDefinition.") |
|
] |
|
CIM_UnitOfWorkDefinition REF Dependent; |
|
}; |
|
|
|
// ================================================================== |
|
// LogicalElementPerformsUoW |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"This association identifies a specific execution of a UnitOf" |
|
"Work with the specific LogicalElement that is performing/" |
|
"has performed it. Where the LogicalElementUnitOfWorkDef " |
|
"association describes what an Element can do, this relationship " |
|
"describes what a particular Element is doing or has done.") |
|
] |
|
class CIM_LogicalElementPerformsUoW : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), |
|
Description ( |
|
"The LogicalElement performing the UnitOfWork.") |
|
] |
|
CIM_LogicalElement REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"The UnitOfWork being performed.") |
|
] |
|
CIM_UnitOfWork REF Dependent; |
|
}; |
|
|
|
// ================================================================== |
|
// SubUoW |
|
// ================================================================== |
|
[Association, |
|
Description ( |
|
"Similar to the SubUoWDef association (which describes the " |
|
"relationship between definitional UnitsOfWork), this " |
|
"association identifies the executional UnitOfWork " |
|
"Dependencies. It associates executing/executed UnitsOfWork " |
|
"with their parent Units. In most cases, the SubUoW reflects " |
|
"the execution side of the relationship defined in SubUoWDef. " |
|
"However, there may be cases where the SubUoWDef is not defined, " |
|
"but for a particular UnitOfWork, the SubUoW relationship is " |
|
"valid. Therefore, it is not a requirement (but it is " |
|
"desirable) that there be a corresponding SubUoWDef for each " |
|
"instance of SubUoW.") |
|
] |
|
class CIM_SubUoW : CIM_Dependency |
|
{ |
|
[Override ("Antecedent"), |
|
Max (1), |
|
Description ( |
|
"The parent executing/executed UnitOfWork. On the execution " |
|
"side, it is expected that a sub-Unit is associated with only " |
|
"one parent UnitOfWork.") |
|
] |
|
CIM_UnitOfWork REF Antecedent; |
|
[Override ("Dependent"), |
|
Description ( |
|
"The sub-UnitOfWork. On the execution side, it is expected " |
|
"that a sub-Unit is associated with only one parent " |
|
"UnitOfWork.") |
|
] |
|
CIM_UnitOfWork REF Dependent; |
|
}; |
|
|
|
// =================================================================== |
|
// end of file |
|
// =================================================================== |