Report Transaction Commands¶
VOSS-4-UC provides a set of utilities available to provide transaction metrics. The commands are typically used to inspect and monitor transaction performance, for example in the case where transaction performance issues are encountered.
Note
For clusters, the number of workers are set to be the total default for 4 unified nodes (4*30 =120).
Profile¶
A command is available that aggregates the transactions performed during the given date-time range by grouping them by model type and sorting them by duration.
A Pct column is also available to indicate the percentage of the interval time used by the transaction.
The command and parameters are:
- voss report transaction profile [OPTIONS] START_TIME END_TIME
START_TIME
- The date-time value from which to start the sample collection.END_TIME
- The date-time value from which to start the sample collection. Valid formats: ‘%Y-%m-%d_%H:%M:%S’, ‘%Y-%m-%d_%H:%M’, ‘%Y-%m-%d’
Example:
platform@VOSS:~$ voss report transaction profile 2019-05-06_16:39 2019-05-06_23:00
Entity Operation Calls RespTime QTime SvcTime Pct
tool/DataImport execute 11.00 3128.24 1.11 3127.13 99.95
data/User update 2.00 0.86 0.09 0.77 0.03
data/Schedule update 1.00 0.28 0.18 0.10 0.01
data/PasswordReset create 2.00 0.17 0.10 0.08 0.01
data/Schedule Execute 1.00 0.15 0.00 0.14 0.00
Throughput¶
Given a number of output rows to display and duration in seconds between samples, a command is available to display the information about transaction throughput during the selected sample periods.
Throughput is the projected count per minute based on the sample interval and transaction count.
The command and parameters are:
- voss report transaction throughput [OPTIONS] START_TIME INTERVALS DURATION
START_TIME
- The date-time value from which to start the sample collection. Valid formats: ‘%Y-%m-%d_%H:%M:%S’, ‘%Y-%m-%d_%H:%M’, ‘%Y-%m-%d’INTERVALS
- Specifies the number of samples to display.DURATION
- The duration of the samples in seconds, for example every 30 seconds or every 60 seconds.
The command output shows parent and child transaction data in columns:
Count: Transaction count
Utilisation: ratio of total workers (120) used: ( (Throughput * RespTime) / 120 ) * 100
Example of parent transactions:
formula:
( (Throughput * RespTime) / 120 ) * 100
calculation:
(2.00 * 4.86 / 120) * 100 = 9.71
Qtime: ratio: (total queue time for transactions at time stamp / transaction count at the time stamp). Else, zero if no transactions.
SvcTime: ratio: (total service time for transactions at time stamp / transaction count at the time stamp). Else, zero if no transactions.
RespTime: calculated as total transaction time (Qtime + SvcTime). Else, zero if no transactions.
Throughput: ratio: (transaction count at the time stamp / minutes (end_time - start_time)). Else, zero if no transactions.
Example of child transactions where
DURATION
is 30 seconds (0.5 minutes):21 child transactions / 0.5 minutes = 42.00
Workers: calculated as (Throughput * RespTime)
Example command output:
platform@VOSS:~$ voss report transaction throughput 2019-05-06_16:39 2 30 Parent Transactions Child Transactions TS Count Utilisation Workers Qtime SvcTime RespTime Throughput Count Qtime SvcTime RespTime Throughput 2019-05-06_16:39:00 0 0.00 0.00 0.00 0.00 0.00 0.00 21 0.07 0.86 0.93 42.00 2019-05-06_16:39:30 0 0.00 0.00 0.00 0.00 0.00 0.00 80 0.07 0.14 0.22 160.00platform@VOSS:~$ voss report transaction throughput 2019-05-06_16:42 2 30 Parent Transactions Child Transactions TS Count Utilisation Workers Qtime SvcTime RespTime Throughput Count Qtime SvcTime RespTime Throughput 2019-05-06_16:42:00 1 9.71 8.10 0.07 4.79 4.86 2.00 98 0.07 0.05 0.13 196.00 2019-05-06_16:42:30 2 3421.50 2851.25 0.12 855.26 855.37 4.00 34 0.07 0.21 0.28 68.00
Worker-Usage¶
A command is available to show the active and queued transactions at particular intervals from a given start time and then to provide a utilisation value for the transaction, relative to a worker value.
The command and parameters are:
- voss report transaction worker-usage [OPTIONS] START_TIME INTERVALS DURATION
START_TIME
- The date-time value from which to start the sample collection. Valid formats: ‘%Y-%m-%d_%H:%M:%S’, ‘%Y-%m-%d_%H:%M’, ‘%Y-%m-%d’INTERVALS
- Number of report entries to list.DURATION
- Number of seconds between each report entry.
The command output shows parent and child transaction data in columns:
- Utilisation: ratio: (active parents / total workers (=120)) * 100
- Zombie: number of transactions that have not been updated (changed from Queued to Active) for 60 minutes
Example output
platform@VOSS:~$ voss report transaction worker-usage 2019-05-06_16:39 50 30
REPORT:
Timestamp Utilisation QueuedParents ActiveParents QueuedChildren ActiveChildren Zombies
2019-05-06_16:39:00 0.83 0 1 0 1 0
2019-05-06_16:39:30 0.83 0 1 0 1 0
2019-05-06_16:40:00 0.83 0 1 0 0 0
2019-05-06_16:40:30 0.83 0 1 0 0 0
2019-05-06_16:41:00 0.83 0 1 0 1 0
2019-05-06_16:41:30 0.83 0 1 1 0 0
2019-05-06_16:42:00 0.83 0 1 0 0 0
2019-05-06_16:42:30 0.00 0 0 0 0 0
2019-05-06_16:43:00 0.83 0 1 0 1 0
2019-05-06_16:43:30 0.83 0 1 0 0 0
2019-05-06_16:44:00 0.83 0 1 0 0 0
Current-Usage¶
A command is available to show a table of transactions grouped by:
Processing and Queued transactions
Parent and child transactions
Node name on which the transaction is running
Queued transactions will be shown with a node name of
default
because it is not known on which node they will be executed.Transaction priority (High, Medium, Low)
The report is useful to verify that all unified nodes are correctly processing transactions.
The command is:
- voss report transaction current-usage
Example output from a single node:
platform@VOSS:~$ voss report transaction current-usage
REPORT:
parent | Processing transactions | Queued transactions |
| Priority | Priority |
Node| High Medium Low | High Medium Low|
node1-voss-queue| 1 0 0 | 0 0 0|
child | Processing transactions | Queued transactions |
| Priority | Priority |
Node| High Medium Low | High Medium Low|
node1-voss-queue| 0 0 0 | 0 0 0|