Monitoring events
IBM® Business Automation Workflow produces monitoring events that help monitor each process application that you create and deploy.
Monitoring events are emitted by process executions in support of monitoring and should not be confused with process events, which are one-way messages that are part of the behavior of a process.
Parts of a monitoring event
The following table describes the significant parts of a monitoring event. Refer to the XML schema for the detailed event format.
Event parts are referenced using standard XPath notation. When elements are nested, this is indicated by a slash (/) separating the element part names. The @ symbol indicates that the part is an attribute of the element. The table also indicates if an event part is optional or required.
A copy of the XML schema is provided for reference in Event schema extensions.
| Event part | Description | Optional or required | Type |
|---|---|---|---|
| mon:monitorEvent | The root element of an event. There is one root element per event. |
Required | complex |
| <mon:model mon:name="<name>"> | Identifies the instance of the script task that emitted the event. Note: This element is not part of the schema definition.
|
Required | xs:string |
| mon:monitorEvent/@mon:id | The unique identifier of an event. | Optional | xs:string |
|
mon:monitorEvent/mon:eventPointData
|
Describes the nature, the time, and the source of the occurrence reported by
the event. There is one mon:eventPointData element per event. |
Required | complex |
|
mon:monitorEvent/
mon:eventPointData/mon:kind |
Defines the kind of the event (for example,
bpmnx:PROCESS_STARTED). There is one mon:kind element per
event. |
Required | xs:Qname |
|
mon:monitorEvent/
mon:eventPointData/mon:model |
Describes an executable model element defining the event emission point (for
example, a human task such as Review Claim). There is at least one |
Required | complex |
|
mon:monitorEvent/
mon:eventPointData/mon:model/@mon:type |
Specifies the type of the process model element from which the event
originated. The value of the mon:type attribute refers to elements defined in the
BPMN 2.0 schema (for example, bpmn:process or bpmn:userTask). |
Required | xs:QName |
|
mon:monitorEvent/
mon:eventPointData/ mon:model/mon:instance |
References or describes the instance of the executable model element that
emitted the event (for example, a specific execution of a task). The instance is typically running
in an execution environment such as a process engine, but is referenced by the
mon:instance element. There is at most one |
Required | complex |
|
mon:monitorEvent/
mon:eventPointData/mon:correlation/mon:ancestor |
Contains a hierarchy of correlation identifiers, which can be auto-generated
and created by the process engine or which can be user-defined. For events that originate from
IBM Business
Automation Workflow, the
<mon:ancestor> tree is populated by the process engine. The
<mon:ancestor> elements contain instance identifiers that identify the
following items:
Additional correlation identifiers, such as customer order numbers, or claim
identifiers, can be added in the |
Optional | complex |
|
mon:monitorEvent/
mon:eventPointData/mon:source |
Describes the source location where the event originated (or example, a specific server). | Optional | complex |
|
mon:monitorEvent/
mon:eventPointData/ mon:source/mon:server |
Identifies the server on which the event emitter is running. | Optional | complex |
|
mon:monitorEvent/
mon:eventPointData/ mon:source/mon:server/@mon:type |
Indicates the syntax of the server identification (for example, a URL or an IP
address). If a mon:server element is present, a mon:type attribute
must be specified to qualify the server identification. |
Required | xs:QName |
|
mon:monitorEvent/mon:applicationData
|
Contains well-formed XML that is reported by the event-emitting application.
This element contains the custom business data in the event, such as tracked field data, tracking
point information, or KPI data. Some events do not include the applicationData element. For more information about the structure of the applicationData, see Event schema extensions and the example applicationData provided at the end of this topic. |
Optional | complex |
The monitoring event part names begin with the mon namespace prefix, which is
bound to the namespace http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5.
The namespace prefix xs, used to designate XML schema types, is bound to
http://www.w3.org/2001/XMLSchema.
<mon:ancestor> elements exist in a
<mon:ancestor> tree, you read the tree from the bottom up. In the following
example, the mon:ancestor element shown in boldface type is the parent of the first
mon:ancestor element:<mon:correlation>
<mon:ancestor mon:id="3e888eb2-9c18-4cd5-a9de-3991aeb4f40e.2064.33692aa7-cb0e-4f0a-ac90-b85a5a5687ffT.161.6">
<mon:ancestor mon:id="3e888eb2-9c18-4cd5-a9de-3991aeb4f40e.2064.33692aa7-cb0e-4f0a-ac90-b85a5a5687ffT.161">
</mon:ancestor>
</mon:ancestor>
<wle:starting-process-instance>3e888eb2-9c18-4cd5-a9de-3991aeb4f40e.2064.33692aa7-cb0e-4f0a-ac90-b85a5a5687ffT.161
<mon:correlation>In the following monitoring event example, namespace prefixes are bound by the
xmlns attributes in the root element.
Monitoring event example
<mon:monitorEvent xmlns:mon="http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5"
mon:id="C1299df7f13ced21792162189"
xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0"
xmlns:bpmnx="http://www.ibm.com/xmlns/bpmnx/20100524/BusinessMonitoring"
xmlns:ibm="http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5/extensions"
xmlns:wle="http://www.ibm.com/xmlns/prod/websphere/lombardi/7.5"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<mon:eventPointData>
<mon:kind mon:version="2010-11-11">bpmnx:PROCESS_STARTED</mon:kind>
<mon:time mon:of="occurrence">2011-02-03T10:44:13.829-05:00</mon:time>
<ibm:sequenceId>2</ibm:sequenceId>
<mon:model mon:type="bpmn:process" mon:id="854325da-04ea-4ea6-8664-c701b4bf3d61"
mon:version="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55">
<mon:name>Ping</mon:name>
<mon:documentation>The "Ping" process definition.</mon:documentation>
<mon:instance mon:id="754">
<mon:state>Active</mon:state>
</mon:instance>
</mon:model>
<mon:model mon:type="wle:processApplication" mon:id="b9e85db9-5c4d-40e7-9421-e53acb738f4e"
mon:version="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55">
<mon:name>Oscillating Invocations</mon:name>
<mon:documentation>Ping pong between two processes.</mon:documentation>
</mon:model>
<mon:correlation>
<mon:ancestor mon:id="854325da-04ea-4ea6-8664-c701b4bf3d61.2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55.754"/>
<wle:starting-process-instance>854325da-04ea-4ea6-8664-c701b4bf3d61.2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55.754
</wle:starting-process-instance>
</mon:correlation>
</mon:eventPointData>
</mon:monitorEvent>
applicationData element example
<mon:applicationData>
<wle:tracking-point wle:time="2011-02-03T10:44:16.054-05:00" wle:name="Call Ping ? (PRE)"
wle:id="8bfe448-7ceebpdid571234bad276b9a1-4cb5676012c08bfe448-7cd0 (PRE)"
wle:version="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55"
wle:groupName="at12886649788291288665594539"
wle:groupId="guid:571234bad276b9a1:-4cb56760:12c08bfe448:-7cee"
wle:groupVersion="2064.9d926c59-6511-4ee9-a0d2-4015fb19cb55">
<wle:tracked-field wle:name="levelEnteringPong"
wle:id="bpdid:571234bad276b9a1:-1448ee2a:12c08c263e4:-7fbc"
wle:type="xs:integer">1</wle:tracked-field>
<wle:tracked-field wle:name="reportOfWhereInPong"
wle:id="bpdid:571234bad276b9a1:-1448ee2a:12c08c263e4:-7fba"
wle:type="xs:string">This is Pong. Called with level = 1.</wle:tracked-field>
<wle:tracked-field wle:name="argumentForPing"
wle:id="bpdid:571234bad276b9a1:-1448ee2a:12c08c263e4:-7fb8"
wle:type="xs:integer"/>
<wle:kpi-data wle:name="Labor Cost"
wle:id="fbec4968-5e4c-4f2b-b11b-f3c9ef63d09b"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0</wle:kpi-data>
<wle:kpi-data wle:name="Total Time (Clock)"
wle:id="67cbb213-0032-4f14-be44-7e9c7a1a146f"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:dayTimeDuration">P0DT0H0M0S</wle:kpi-data>
<wle:kpi-data wle:name="Wait Time (Clock)"
wle:id="43b503bd-63e7-4c42-8268-92d1033e0997"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:dayTimeDuration">P0DT0H0M0S</wle:kpi-data>
<wle:kpi-data wle:name="Resource Cost"
wle:id="d5da2c80-b2af-40a6-981d-9de4df12ed12"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0</wle:kpi-data>
<wle:kpi-data wle:name="Value Add"
wle:id="e30cf309-a884-4a7b-a2db-16e8a371a4c1"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">1</wle:kpi-data>
<wle:kpi-data wle:name="Execution Time (Clock)"
wle:id="8601bb6b-9c9d-4cba-936e-16350a036de3"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:dayTimeDuration">P0DT0H0M0S</wle:kpi-data>
<wle:kpi-data wle:name="Cost"
wle:id="995ba3fc-e786-45eb-b356-47acb3d3ebbc"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0.00000000</wle:kpi-data>
<wle:kpi-data wle:name="Rework"
wle:id="0f650e6c-a9d7-4355-90bd-06530fa3eeec"
wle:version="2064.8d7ade38-7307-4894-a633-9903b7fc69d6"
wle:type="xs:decimal">0</wle:kpi-data>
</wle:tracking-point>
</mon:applicationData>
Consideration when monitoring events emitted by Business Automation Workflow processes
<wle:starting-process-instance> element within the
<mon:correlation> element of element <mon:eventPointData>.
This value includes the snapshot ID by default. It is possible to use the Business Automation Workflow system ID instead, by
setting the following option in the 100Custom.xml
file:<?xml version="1.0" encoding="UTF-8" ?>
<properties>
<common>
<monitor-event-emission merge="replace">
<enabled>true</enabled>
<use-system-id-for-correlation>true</use-system-id-for-correlation>
</monitor-event-emission>
</common>
</properties>"