Using the FTM database

Don't overlook the FTM database as a source of information about performance. Queries against the FTM database can be used to gather information to verify:
  • Test duration, start and end times
  • Messaging rates
  • Latencies
  • Service response times (external)
  • Object creation/completion rates
This data can be extracted because all the key object activities are recorded (object creation, object state change) using timestamps. An advantage of using the FTM database is that as long as you have the test start and end times you can go back to a previous test run and reevaluate the run using a new query or criteria to create a different analysis report, you need not rerun the test. The following example SQL queries demonstrate a couple of examples:
Figure 1. Messaging rate calculation for master transactions over a test period
SELECT COUNT, START, END, DURATION, COUNT/DURATION TPS 
  FROM 
    (SELECT  MIN(CREATED) START, MAX(STATUS_DATE) END, COUNT(ID) COUNT, TIMESTAMPDIFF(2,CHAR( MAX(STATUS_DATE) - MIN(CREATED) )) DURATION
      FROM FTM.TRANSACTION_V 
        WHERE CREATED >= ? AND CREATED <= ? AND MASTER_FLAG = 'Y')
Figure 2. Latency calculation, sample application liquidity service
SELECT AVG_RESP_M, AVG_REQ_M, (AVG_RESP_M  - AVG_REQ_M) LATENCY FROM
  (SELECT AVG((CAST(MIDNIGHT_SECONDS(CREATED) AS BIGINT)*100000) + MICROSECOND(CREATED) ) AVG_RESP_M 
    FROM FTM.TRANSMISSION_V 
      WHERE CREATED >= ? AND CREATED <= ? AND SUBTYPE = 'LIQUIDITY_RESPONSE'),
  (SELECT AVG((CAST(MIDNIGHT_SECONDS(CREATED) AS BIGINT)*100000) + MICROSECOND(CREATED) ) AVG_REQ_M 
    FROM FTM.TRANSMISSION_V 
      WHERE CREATED >= ? AND CREATED <= ? AND SUBTYPE = 'LIQUIDITY_REQUEST')
Note: These examples are illustrative and are not suggested as fit for purpose for specific use cases.