EMA C++ Performace Tools Guide : 2 Open Source Performance Tool Suite Overview : 2.2 Enterprise Message API Performance Tool Suite
 
2.2 Enterprise Message API Performance Tool Suite
The Enterprise Message API C++-based suite consists of an Open Message Model consumer, Open Message Model interactive provider, and Open Message Model non-interactive provider. These applications showcase optimal Open Message Model content consumption and providing within the LSEG Real-Time Distribution System. Additionally, the Enterprise Message API provides a transport-only performance example which you can use to measure the performance of the Enterprise Message API transport handling opaque, non-Open Message Model content. Source code is provided for all performance tool examples, so you can determine how functionality is coded and modify applications to suit your specific needs.
Because applications from the LSEG Real-Time APIs are fully compatible and use similar methodologies, you can run them stand-alone within an API or mix them (e.g., a provider from Enterprise Message API and a consumer from the Robust Foundation API).1
Figure 3. Three Connection Options for the Open Message Model-based Performance Tools
In a typical Open Message Model configuration, latency through the system is measured either one-way from a provider to consumer, or round-trip from a consumer, through the system, and back.2 Latency information is encoded into a configurable number of update messages which are then distributed over the course of each second. The consumer receives update messages, and if the messages contain latency information, the consumer decodes them and measures the relative time taken to receive and process the message and its payload.
 

1 Tools from the Robust Foundation API C++ and Robust Foundation API Java APIs must be obtained from their respective distribution packages.

2 Without a microsecond-resolution synchronization of clocks across machines, the one-way measurement implies that the provider and consumer applications run on the same machine.