Version: 17.07
Supported Since: 17.07
An Event Reporter processing element can be used to report certain events within the integration flow to the metrics engine configured for the Integration Platform of the UltraESB-X. Multiple instance of this processing element can be used in a single integration flow in oder to report events from different states of the message flow.
Next |
The message will be sent to this outport after going through this connector |
On Exception |
The message will be sent to this outport if the processing element failed in event reporting |
Event Name * |
Basic |
Sets the event name for this processing element, When the collected data reported to the metrics engine, this name will be used as the key |
Report flow Exceptions |
Basic |
If selected, the exceptions that might occur within the flow will be reported too |
Report payload |
Basic |
If selected, the message payload will be reported as a string |
Report Current Time milli seconds |
Basic |
IF selected, the time when the messaged reached the processing elemnent will be taken and reported with the data set |
Property Configuration |
Basic |
A modifiable String pair list where you can select one of the following type of a message property and specify the relevant property name.
|
In the following use case sample I have created a sample HTTP direct proxy with event report processing elements. The requirement is as follows.
I want to proxy HTTP requests coming in to my server to another remote HTTP endpoint. By doing so, I also want to extract a HTTP transport header with the name "test-header" and report it to a running ElasticSearch server per each message I receive. In addition to that, I want to report the response payload to the same ElasticSearch server.
To achieve above mentioned goals I have created the following integration flow which consist of HTTP ingress and egress connectors to build a basic direct flow. Refer to the relevant documents of HTTP direct proxy from here NIO Egress Connector. In the request flow I have added an Event Reporter processing element, let’s name it event-1. In the response flow I have added another Event Reporter processing element with the name event-2.
For event-1 I have configured to report custom properties by clicking on the "Modify tuple list" button of Property Configuration parameter. Then I Added a header type property using the pop-up menu.
For event-2 I wanted to report the payload of the response message so I just select the Report Payload button, I also checked the _Report Current Time Milli Seconds" button as well to report the event reported time.
Now the integration building part is done, it’s now a matter of building it and running in a UltraESB-X environment.
Note: If you are testing this on UltraStudio development environment, as the default behaviour it won’t report to any real metrics engine.
Please refer to Metrics and Statistics document in order to configure ElasticSearch based metrics for UltraESB-X.