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 is nginx/access.log)
    • --limit INTEGER Limits the number of profile lines to display. If limited, the last row is listed as Other

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 is nginx/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