Report API Commands#

Important

On a Modular Architecture deployment, voss system specific commands can only be run on application nodes and for Unified and Single Node architectures, not on database or web proxy type nodes.

VOSS Automate 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