Using the REPORT LATENCY command
Use this command to identify bottlenecks in applications. This can be helpful in determining which components need to be scaled up or otherwise optimized for better throughput.
REPORT LATENCY [<namespace>.]<application>;
Returns the total latency for the application. For example, :
W (Samples) > report latency MultiLogApp; Processing - report latency MultiLogApp Average Latency Rate is: 400 milli seconds
REPORT LATENCY [<namespace>.]<application> all;
Returns latency for for each source-destination path. For example:
report latency samples.posapp all; Processing - report latency samples.posapp all Average Latency Rate is: 166 milli seconds Average Latency Rate is: 166 Detailed latency for the application Samples.PosApp: Latency calculation started at component : Samples.CsvDataSource of type : SOURCE at time : 2017-12-19 01:46:37 +--------------------------------------------+------------------+----------------+------------------+ | Component Name | Component Type | Latency (ms) | Server Name | +--------------------------------------------+------------------+----------------+------------------+ | Samples.CsvStream | STREAM | 0 | S192_168_7_36 | | Samples.CsvToPosData | CQ | 0 | S192_168_7_36 | | Samples.PosDataStream | STREAM | 0 | S192_168_7_36 | | Samples.PosData5Minutes | WINDOW | 2 | S192_168_7_36 | | Samples.GenerateMerchantTxRateOnly | CQ | 141 | S192_168_7_36 | | Samples.MerchantTxRateOnlyStream | STREAM | 0 | S192_168_7_36 | | Samples.GenerateMerchantTxRateWithStatus | CQ | 0 | S192_168_7_36 | | Samples.MerchantTxRateWithStatusStream | STREAM | 0 | S192_168_7_36 | | Samples.GenerateWactionContext | CQ | 0 | S192_168_7_36 | | Samples.MerchantActivity | WACTIONSTORE | 0 | S192_168_7_36 | +--------------------------------------------+------------------+----------------+------------------+ Total lag = 143 milliseconds Latency calculation started at component : Samples.CsvDataSource of type : SOURCE at time : 2017-12-19 01:46:37 +--------------------------------------------+------------------+----------------+------------------+ | Component Name | Component Type | Latency (ms) | Server Name | +--------------------------------------------+------------------+----------------+------------------+ | Samples.CsvStream | STREAM | 0 | S192_168_7_36 | | Samples.CsvToPosData | CQ | 0 | S192_168_7_36 | | Samples.PosDataStream | STREAM | 0 | S192_168_7_36 | | Samples.PosData5Minutes | WINDOW | 2 | S192_168_7_36 | | Samples.GenerateMerchantTxRateOnly | CQ | 141 | S192_168_7_36 | | Samples.MerchantTxRateOnlyStream | STREAM | 0 | S192_168_7_36 | | Samples.GenerateMerchantTxRateWithStatus | CQ | 0 | S192_168_7_36 | | Samples.MerchantTxRateWithStatusStream | STREAM | 0 | S192_168_7_36 | | Samples.GenerateAlerts | CQ | 0 | S192_168_7_36 | | Samples.AlertStream | STREAM | 0 | S192_168_7_36 | | Samples.AlertSub | TARGET | 0 | S192_168_7_36 | +--------------------------------------------+------------------+----------------+------------------+ Total lag = 143 milliseconds
LIMITATIONS
Latency is measured by markers that are inserted into source output once every ten events, so if a target gets only a small percentage of the events, it may not appear in REPORT LATENCY ... ALL
output. For example, in MultiLogApp, the ZeroContentEventList WActionStore gets only 30 out of over 10,000 events, so it typically does not appear. Also, when multiple sources are joined by a CQ, the latency markers from some of the sources may not end up in the target, so there will be no data set for that source-destination pair.
In order to get a report including all source-destination pairs, you may temporarily modify Striim/bin/startUp.properties
to change the LagReportRate setting from 10 to 1. Restart Striim and run REPORT LATENCY again. We recommend changing the setting back to the default after you are through.