version 1.1.2.1, 2012/01/24 13:50:18
|
version 1.1.2.2, 2012/02/15 17:46:33
|
|
|
|
// Copyright (c) 2007 DMTF. All rights reserved. |
|
[Version ( "2.7.0" ), |
|
UMLPackagePath ( "CIM::Metrics::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, Description ( |
|
"A 16 byte value that uniquely identifies the UnitOfWork " |
|
"Definition. The use of OSF UUID/GUIDs is recommended." ), |
|
MaxLen ( 16 ), |
|
Propagated ( "CIM_UnitOfWorkDefinition.Id" )] |
|
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, but 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; |
|
|
|
[Description ( |
|
"Indicates the granularity at which traces are written " |
|
"for this particular instance of UnitOfWork. Traces allow " |
|
"providing more detailed information on the course of the " |
|
"execution of the UnitOfWork than just the status and the " |
|
"elapsed time. The trace level does not indicate where " |
|
"the traces are found (i.e. in which file or CIM " |
|
"instances). TraceLevel cannot be set (i.e. written) " |
|
"since an instance of UnitOfWork only publishes " |
|
"information. So, the application code that executes the " |
|
"unit of work must receive the desired trace level by its " |
|
"caller (e.g. the parent module, the user or some remote " |
|
"system that initiates the unit of work). \n" |
|
"If its value is 0, no traces are available. If its value " |
|
"is > 0, traces are available. Except 0, the possible " |
|
"values and their semantics are implementation dependent. " |
|
"Two instances of UnitOfWork (even with the same " |
|
"definition) may have different trace levels since the " |
|
"desired or required granularity of traces may be " |
|
"dependent on the execution context (detection of an " |
|
"error, analysis of an error, etc.) of the unit of work. \n" |
|
"The trace level can be encoded as a bit map (each " |
|
"individual bit indicates a certain trace type and/or " |
|
"level of detail) or numbers (that are further defined by " |
|
"a value map). No encoding scheme is imposed since no " |
|
"general rules or standards exist and in consequence, " |
|
"application developers could reuse their existing trace " |
|
"level scheme." )] |
|
uint32 TraceLevel; |
|
|
|
[Description ( |
|
"A string that uniquely identifies the mutual context of " |
|
"UnitOfWork instances. The context is defined as an " |
|
"individual action that several UnitOfWork instances " |
|
"participate in. The use of Ids such as OSF UUID/GUIDs is " |
|
"recommended, although some implementations may require " |
|
"longer Ids. (This is the reason why no maxlen(16) " |
|
"qualifier has been used.) \n" |
|
"MutualContextId explicitly identifies the context for " |
|
"instances of UnitOfWork, that is otherwise provided " |
|
"implicitly by SubUoW association instances. In addition, " |
|
"one can query directly (i.e. without following the " |
|
"associations) for UnitOfWork instances that participate " |
|
"in some individual action (i.e., the mutual context). If " |
|
"no mutual context is needed or if it is not supported by " |
|
"the implementation, the value is NULL. \n" |
|
"Note that the MutualContextId value is to be transferred " |
|
"internally between the participating UnitOfWork " |
|
"implementations such that each UnitOfWork instance " |
|
"implementation receives its value from its " |
|
"predecessor/parent or initially creates the value if it " |
|
"is the first instance of the context." )] |
|
string MutualContextId; |
|
|
|
|
|
}; |