Message Flow Statistics Test

A message flow is a sequence of processing steps that run in the broker when an input message is received.

You define a message flow in the IBM Integration Toolkit by including a number of message flow nodes, each of which represents a set of actions that define a processing step. The way in which you join the message flow nodes together determine which processing steps are carried out, in which order, and under which conditions. The path that you create between one node and another is known as a connection.

A message flow must include an input node that provides the source of the messages that are processed. You can process the message in one or more ways, and optionally deliver it through one or more output nodes. The message is received as a bit stream, and is converted by a parser into a tree structure that is used internally in the message flow. Before the message is delivered to a final destination, it is converted back into a bit stream. When you want to exchange messages between multiple applications, you might find that the applications do not understand or expect messages in the same format. You must provide some processing between the sending and receiving applications to ensure that both can continue to work unchanged, but can exchange messages successfully. When you want to run a message flow to process messages, you deploy it to a broker, where it is run in an integration server. When the target environment, consists of too many message flows that need to be monitored, administrators may often find it difficult to identify the message flow that is experiencing sudden slowdwons in processing the messages. The Message Flow Statistics test helps administrators to tackle this problem!

This test auto discovers the message flows in the target IBM Integration Bus and reports the time taken to process the messages. In addition, this test reports the time taken by the CPU to process the messages and the processing rate for the messages. Administrators may also be alerted to the message flows that are frequently error-prone.

Target of the test: An IBM Integration Bus

Agent deploying the test : An internal/remote agent.

Outputs of the test : One set of results for each Execution Group: Message flow on the IBM Integration Bus that is to be monitored

Configurable parameters for the test
Parameters Description

Test period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port on which the specified host listens.

JNDI Namespace Location

Indicate where the JNDI namespace has been created. For this, select one of the following options: File or LDAP. Select File if the JNDI namespace is created in the same location as that of the IIB server.

SSL

If you have chosen LDAP as the JNDI Namespace Location wherein the LDAP server communicating with the IIB server that is to be monitored is an SSL-enabled server, then set the SSL flag to Yes. By default, this flag is set to No.

User DN and Password

Here, provide the credentials of the Active Directory user created as explained in Creating a user in the Active Directory server, if the target IIB server is monitored in an agentless manner. If the IIB server is to be monitored in an agent based manner, specify none against these parameters.

Confirm Password

Confirm the Password by retyping it in this text box.

JNDI Provider URL

Specify the URL that was specified as the provider URL while creating the initial context. To know the Provider URL, refer to Agent based monitoring of the IIB server if you choose to monitor the target IIB server in an agent based manner and Agentless Monitoring of the IIB server if you chose to monitor the target IIB server in an agentless manner.

TopicConnectionFactory

Specify the name of the connection factory in this text box. If you have chosen to monitor the target IIB server in an agent-based manner, refer to Creating a Connection Factory and if you have chosen to monitor the target IIB server in an agentless manner, refer to Creating a Connection Factory.

JMS Resource Stats

Specify the name of the JMS destination that you have created for storing the Resource statistics. If you chose to monitor the target IIB server in an agentless manner, refer to Creating the JMS Destinations and if you choose to monitor the target IIB server in an agent based manner, refer to Agent based monitoring of the IIB server.

JMS Flow Stats

Specify the name of the JMS destination that you have created for storing the Message flow statistics. If you chose to monitor the target IIB server in an agentless manner, refer to Creating the JMS Destinations and if you choose to monitor the target IIB server in an agent based manner, refer to Agent based monitoring of the IIB server.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Average elapsed time

Indicates the average time taken by this message flow to process input messages.

Secs

Comparing the value of this message across the message flows helps you identify the message flow that is taking too long to process the input messages.

Maximum elapsed time

Indicates the maximum time taken by this message flow to process a message.

Secs

 

Average CPU time

Indicates the average time taken by the CPU of this message flow to process the input messages.

Secs

Comparing the value of this message across the message flows helps you identify the message flow that is taking too long to process the input messages.

Maximum CPU time

Indicates the maximum time taken by the CPU of this message flow to process an input message.

Secs

 

Input message rate

Indicates the rate at which input messages are processed in this message flow.

Messages/sec

 

Message data rate

Indicates the number of bytes of the incoming messages processed by all the nodes of this message flow per second.

Bytes/sec

 

Number of maximum thread events

Indicates the number of times all the threads of this message flow was utilized.

Number

 

MQ errors

Indicates the number of errors such as MQGET errors or HTTP Input errors that occurred in this message flow.

Number

Ideally, the value of this measure is zero.

This measure includes errors such as the conversion errors that occurred when the message is received from the queue.

Comparing the value of this measure across message flows will help administrators to identify the message flow that was error prone.

Error message rate

Indicates the rate at which the error messages were received in this message flow.

Messages/sec

Ideally, the value of this measure should be zero.

These errors include exceptions that are thrown downstream of the input node, and errors that are detected by the input node after it successfully retrieves the message from the queue, but before it propagates it to the output terminal (for example, a format error).

Processing error rate

Indicates the rate at which errors occurred while the nodes were processing the messages in this message flow.

Messages/sec

Ideally, the value of this measure should be zero.

Commit rate

Indicates the rate at which commits happened on the transactions of this message flow.

Commits/sec

 

Backout rate

Indicates the rate at which transactions backout occurred in this message flow.

Backouts/sec