<EDIT cooler="http://pglezen.github.io/dpShowLatency/ShowLatency.html">putting link to Paul's tool without need to install a plugin more prominently than in comment -- click Analyze and enjoy the animation</EDIT>
<EDIT cool="http://pglezen.github.io/dpShowLatency/">A Mozilla Firefox add-on for analyzing IBM DataPower latency log entries</EDIT>
Technote "Latency messages in DataPower appliance" (2007) described the 16 DataPower transaction latency values:
The latency values get logged at information level when a DataPower service accesses some real backend (not with skip-backside).
If you do want the entries in loopback case just have a simple pass-thru XML FW on the box as "backend".
The technote describes the 16 values by order of output in the log message.
This does not correspond to the order these values get timestamped during execution of a transaction.
Find below the reordering of technote table according to the real execution order (see <EDIT>...</EDIT> below for a restriction).
The messages in the table have been replaced by WebGUI online help messages (if you click on "Latency: ..." in the log).
In addition I added coloring of the different phases of the transaction:
- receive request header
- front side processing
- transmit to back side
- receive header from back side
- back side processing
- transmit response to front side
You do have access to 3 of the values by read-only service variables:
- var://service/time-started (7)
- var://service/time-forwarded (5)
- var://service/time-response-complete (14)
In addition you may access var://service/time-elapsed (the value used for creation of all 16 latency values, read-only).
|1||request headers read|
|3||front side transform begun|
|7||front side parsing complete|
|6||front side stylesheet ready|
|4||front side transform complete|
|15||back side connection attempted
(this is when the connection is first tried)
|16||back side connection completed
(or time connection attempt gave up)
|2||request headers sent|
|5||entire request transmitted|
|8||response headers received|
|10||back side transform begun|
|14||back side parsing complete|
|13||back side stylesheet ready|
|11||back side transform complete|
|9||response headers sent|
A colleague made me aware that this order cannot be guaranteed in case of streaming processing.
(see DataPower XML data processing)