Report API Commands¶
VOSS-4-UC provides a set of utilities available to provide API request metrics. The commands are typically used to inspect and monitor API request performance over a defined period.
Profile¶
A command is available that aggregates the API requests performed during a given date-time range by grouping them by model type and sorting them by duration.
The command and parameters are:
- voss report api 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’- Options:
--path TEXT
API log file path (default isnginx/access.log
)--limit INTEGER
Limits the number of profile lines to display. If limited, the last row is listed asOther
The command output shows Request_URI count data in columns.
Column headers:
- 90th-PCTL: 90th percentile time value of the count
- CV: Coefficient of variation of the count
Example:
platform@VOSS:~$ voss report api profile --limit 6 2019-05-06_15:49 2019-05-06_16:00
Count TotalTime AverageTime Percentage 90th-PCTL CV Method Request-URI
435 199.97 0.46 72.11% 0.69 34.66% PUT /api/data/DataModel
69 64.92 0.94 23.41% 1.32 29.76% LIST /api/data/DataModel
44 10.94 0.25 3.95% 0.33 38.26% LIST /api/data/Migration
1 0.12 0.12 0.04% 0.00 0.00% LIST /api/data/Cuccx
1 0.09 0.09 0.03% 0.00 0.00% LIST /api/data/Smtp
1 0.07 0.07 0.02% 0.00 0.00% LIST /api/data/Package
26 1.19 0.00 0.43% 0.00 0.00% Other
Throughput¶
A command is available to show the number of API calls at particular intervals from a given start time and then to provide a throughput value for the transaction, in other words number of requests per time interval.
The command and parameters are:
- voss report api throughput [OPTIONS] START_TIME INTERVALS DURATION
START_TIME
- The date-time value from which to start the API call 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.- Options:
--path TEXT
API log file path (default isnginx/access.log
)
The command output shows API request count data and throughput in columns.
Column headers:
Throughput: ratio: (Count / minutes (end_time - start_time))
SvcTime, RespTime: time per request over timestamp period
Qtime: defaults to 0 - not used
Example Throughput of API requests:
DURATION
is 30 seconds (0.5 minutes)1 API request / 0.5 minutes = 2.00
platform@VOSS:~$ voss report api throughput 2019-05-06_15:49 10 30
Timestamp Count Qtime SvcTime RespTime Throughput
2019-05-06_15:49:00 1 0.00 1.47 1.47 2.00
2019-05-06_15:49:30 27 0.00 0.56 0.56 54.00
2019-05-06_15:50:00 28 0.00 0.49 0.49 56.00
2019-05-06_15:50:30 32 0.00 0.42 0.42 64.00
2019-05-06_15:51:00 25 0.00 0.49 0.49 50.00
2019-05-06_15:51:30 21 0.00 0.59 0.59 42.00
2019-05-06_15:52:00 20 0.00 0.59 0.59 40.00
2019-05-06_15:52:30 28 0.00 0.51 0.51 56.00
2019-05-06_15:53:00 29 0.00 0.44 0.44 58.00
2019-05-06_15:53:30 21 0.00 0.63 0.63 42.00