Currently RTMC supports a single Vertical NVP collection based on the ECB Owner High field where the performance metrics of an ECB can be subdivided based on each time the Vertical NVP (ECB Owner High) changes. If ECB Owner High is changed as an ECB traverses different software packages then the overall performance metrics for an ECB can be subdivided into how much work is done in each software package. Travelport has a need to have an ECB subdivided by a User Vertical NVP which in turn is subdivided by the ECB Owner High Vertical NVP. The Use Case being a single inbound transaction (input message) contains multiple data records where each data record is a different service. One input message can have multiple data records where data Record 1) Retrieve PNR, Data Record 2) Add Remark, and Data Record 3) End Transaction. These data records or Services are processed sequentially and in most cases are processed by the same ECB. In some cases it could generate multiple ECBs to support multi threading for better response time. Current application software updates the Vertical "UServ" NVP each time it starts to process one of the Data Records or Services in the single inbound transaction.
Preferred solution would not require any additional Application updates other than to store the user Vertical NVP each time it changes. Based on a configuration file like the TPF NVP_Policy file which already contains the RTMC Horizontal and Vertical NVPs to send to RTMC, the metrics collection process would recognize that the NVP being changed is a vertical NVP and start collecting the next set of ECB metrics in a different vertical NVP Value bucket.
Another option, but less preferred, would be an Application API to indicate to start/stop collecting ECB metrics in a different vertical NVP Value bucket.
Example:
Horizontal "UImsg" NVP - Update PNR (Single ECB sequentially handling)
Vertical "UServ" NVP = Retrieve PNR
Vertical "IOwnerHi" = Calculate PNR Locator Sofware package
Vertical "IOwnerHi" = Retrieve PNR Sofware package
Vertical "IOwnerHi" = Unpack PNR Software package
Vertical "UServ" NVP = Add Remark
Vertical "IOwnerHi" = Validate Remark Software package
Vertical "IOwnerHi" = Save Remark in PNR Sofware package
Vertical "IOwnerHi" = File PNR Software package
Vertical "UServ" NVP = End Transaction
Vertical "IOwnerHi" = End Transaction Sofware package
Vertical "IOwnerHi" = Retrieve PNR Sofware package
Vertical "IOwnerHi" = Unpack PNR Software package
Vertical "IOwnerHi" = Comms Eventing Software package
Vertical "IOwnerHi" = IBM Business Events Software package
Vertical "IOwnerHi" = IBM MQ Software package
Vertical "IOwnerHi" = End Transaction Sofware package