1 karl 1.1.2.2 // Copyright (c) 2007 DMTF. All rights reserved.
2 [Version ( "2.7.0" ),
3 UMLPackagePath ( "CIM::Metrics::UnitOfWork" ),
4 Description (
5 "Each instance of UnitOfWork identifies a transaction that is "
6 "either in-process or already completed. Because instances of "
7 "\'in-process\' UnitsOfWork can be very short-lived and there "
8 "can be a great number of active ones, use of this class as an "
9 "instrumentation source for determining response time may be "
10 "incorrect or inefficient, unless the rate and duration of the "
11 "UnitsOfWork are known. The intended use is to respond to "
12 "queries about currently active or recently completed "
13 "UnitsOfWork. The length of time that a UnitOfWork instance "
14 "exists after the UnitOfWork completes is not defined and "
15 "should be assumed to be implementation-dependent. This class "
16 "is weak to its definition (CIM_UnitOfWorkDefintion)." )]
17 class CIM_UnitOfWork : CIM_ManagedElement {
18
19 [Override ( "Description" ),
20 Description (
21 "Since UnitOfWork is designed to be an extremely "
22 karl 1.1.2.2 "lightweight object, it is recommended that this property "
23 "not be used. The Description specified for the "
24 "instance\'s associated CIM_UnitOfWorkDefintion should "
25 "apply." )]
26 string Description;
27
28 [Key, Description (
29 "The identifier of the UnitOfWork, within the context of "
30 "the UnitOfWorkDefinition." )]
31 sint64 Id;
32
33 [Key, Description (
34 "A 16 byte value that uniquely identifies the UnitOfWork "
35 "Definition. The use of OSF UUID/GUIDs is recommended." ),
36 MaxLen ( 16 ),
37 Propagated ( "CIM_UnitOfWorkDefinition.Id" )]
38 string UoWDefId;
39
40 [Description (
41 "The name of the user who initiated the UnitOfWork. This "
42 "may be a real user\'s login name or a logical name "
43 karl 1.1.2.2 "representing an application." )]
44 string UserName;
45
46 [Description ( "The time that the UnitOfWork was started." )]
47 datetime StartTime;
48
49 [Description (
50 "The elapsed time since the UnitOfWork was started. Upon "
51 "completion of the UnitOfWork, this property contains the "
52 "total amount of time taken in processing the entire "
53 "UnitOfWork." )]
54 datetime ElapsedTime;
55
56 [Description (
57 "An enumeration identifing the status of the UnitOfWork. "
58 "Most of the property values are self-explanatory, but a "
59 "few need additional text: \n"
60 "3=\"Completed\" - Should be used to represent a "
61 "\'completed\' transaction whose status (\'good\', "
62 "\'failed\' or \'aborted\') is unknown. \n"
63 "6=\"Completed Aborted\" - Should be used when a "
64 karl 1.1.2.2 "UnitOfWork has completed but was not allowed to end "
65 "normally. An example would be when the Stop or Back "
66 "buttons are selected from a web browser, before a page "
67 "is fully loaded." ),
68 ValueMap { "1", "2", "3", "4", "5", "6" },
69 Values { "Active", "Suspended", "Completed",
70 "Completed Good", "Completed Failed", "Completed Aborted" }]
71 uint16 Status;
72
73 [Description (
74 "Indicates the granularity at which traces are written "
75 "for this particular instance of UnitOfWork. Traces allow "
76 "providing more detailed information on the course of the "
77 "execution of the UnitOfWork than just the status and the "
78 "elapsed time. The trace level does not indicate where "
79 "the traces are found (i.e. in which file or CIM "
80 "instances). TraceLevel cannot be set (i.e. written) "
81 "since an instance of UnitOfWork only publishes "
82 "information. So, the application code that executes the "
83 "unit of work must receive the desired trace level by its "
84 "caller (e.g. the parent module, the user or some remote "
85 karl 1.1.2.2 "system that initiates the unit of work). \n"
86 "If its value is 0, no traces are available. If its value "
87 "is > 0, traces are available. Except 0, the possible "
88 "values and their semantics are implementation dependent. "
89 "Two instances of UnitOfWork (even with the same "
90 "definition) may have different trace levels since the "
91 "desired or required granularity of traces may be "
92 "dependent on the execution context (detection of an "
93 "error, analysis of an error, etc.) of the unit of work. \n"
94 "The trace level can be encoded as a bit map (each "
95 "individual bit indicates a certain trace type and/or "
96 "level of detail) or numbers (that are further defined by "
97 "a value map). No encoding scheme is imposed since no "
98 "general rules or standards exist and in consequence, "
99 "application developers could reuse their existing trace "
100 "level scheme." )]
101 uint32 TraceLevel;
102
103 [Description (
104 "A string that uniquely identifies the mutual context of "
105 "UnitOfWork instances. The context is defined as an "
106 karl 1.1.2.2 "individual action that several UnitOfWork instances "
107 "participate in. The use of Ids such as OSF UUID/GUIDs is "
108 "recommended, although some implementations may require "
109 "longer Ids. (This is the reason why no maxlen(16) "
110 "qualifier has been used.) \n"
111 "MutualContextId explicitly identifies the context for "
112 "instances of UnitOfWork, that is otherwise provided "
113 "implicitly by SubUoW association instances. In addition, "
114 "one can query directly (i.e. without following the "
115 "associations) for UnitOfWork instances that participate "
116 "in some individual action (i.e., the mutual context). If "
117 "no mutual context is needed or if it is not supported by "
118 "the implementation, the value is NULL. \n"
119 "Note that the MutualContextId value is to be transferred "
120 "internally between the participating UnitOfWork "
121 "implementations such that each UnitOfWork instance "
122 "implementation receives its value from its "
123 "predecessor/parent or initially creates the value if it "
124 "is the first instance of the context." )]
125 string MutualContextId;
126
127 karl 1.1.2.2
128 };
|