Minimum and Maximum Value

The op.min and op.max operations return the minimum or maximum value among the specified SSID data points. These operations can take an optional percentage argument and return the top or bottom of the specified percentage of values in the set of data points.

  • op.min(pct) returns the values of all data points in the range from the smallest value to the smallest value plus the specified percentage of the difference between the largest and smallest values:

    Return all values in the range from min to (min + (max-min) * pct/100).

  • op.max(pct) returns the values of all data points in the range from the largest value down to the smallest value plus the specified percentage of the difference between the largest and smallest values:

    Return all values in the range from (min + (max-min) * pct/100) to max.

Note:

Rate data is used in the following operations examples because values of statistics of type count, such as number of bytes read and written, are monotonically increasing and therefore not interesting for some operations, such as minimum, maximum, and average. However, the rate at which bytes are read or written increases and decreases. You might be interested in the minimum, maximum, or average rate. For information about the rate operation, see Rate and Delta.

The following data shows the variance in the rate at which bytes are transmitted and received over the specified period:

$ sstore export -t 2020-10-13T10:01:18 -e 2020-10-13T10:07:18 \
> -i 60 //:class.link//:stat.out-bytes//:op.rate
TIME                VALUE IDENTIFIER
2020-10-13T10:01:18 36903.0 //:class.link//:stat.out-bytes//:op.rate
2020-10-13T10:02:18 10641.083333333334 //:class.link//:stat.out-bytes//:op.rate
2020-10-13T10:03:18 6216.933333333333 //:class.link//:stat.out-bytes//:op.rate
2020-10-13T10:04:18 244361.9 //:class.link//:stat.out-bytes//:op.rate
2020-10-13T10:05:18 720056.7 //:class.link//:stat.out-bytes//:op.rate
2020-10-13T10:06:18 52420.95 //:class.link//:stat.out-bytes//:op.rate

Note that this data is a sampling: one data point every minute over six minutes. The sampling did not necessarily report the minimum or maximum values over that period. The following example shows the minimum and maximum rate at which bytes were sent over the specified period:

$ sstore export -t 2020-10-13T10:01:18 -e 2020-10-13T10:07:18 \
> //:class.link//:stat.out-bytes//:op.rate//:op.min
TIME                VALUE IDENTIFIER
2020-10-13T10:05:18 509.8261492830945 //:class.link//:stat.out-bytes//:op.rate//:op.min
$ sstore export -t 2020-10-13T10:01:18 -e 2020-10-13T10:07:18 \
> //:class.link//:stat.out-bytes//:op.rate//:op.max
2020-10-13T10:05:56 8483597.747689895 //:class.link//:stat.out-bytes//:op.rate//:op.max

The following example shows the bottom two percent of rates at which bytes were received over the specified period:

$ sstore export -t 2020-10-13T10:04:41 -e 2020-10-13T10:05:19 \
> //:class.link//:stat.out-bytes//:op.rate//:op.min(2)
TIME                VALUE IDENTIFIER
2020-10-13T10:04:43 1221.7641995094946 //:class.link//:stat.out-bytes//:op.rate//:op.min(2)
2020-10-13T10:04:50 1209.93708327167 //:class.link//:stat.out-bytes//:op.rate//:op.min(2)
2020-10-13T10:05:12 1429.7855321701743 //:class.link//:stat.out-bytes//:op.rate//:op.min(2)
2020-10-13T10:05:18 509.8261492830945 //:class.link//:stat.out-bytes//:op.rate//:op.min(2)

The following op.max(40) example shows the top sixty percent of rates at which bytes were received over the specified period. According to the formula, the top sixty percent of data points are all data points in the specified range from the largest value down to the value that is the smallest value plus forty percent of the difference between the largest and smallest values. In this example that is all values in the following range:

$ sstore export -t 2020-10-13T10:05:43 -e 2020-10-13T10:05:57 \
> //:class.link//:stat.out-bytes//:op.rate//:op.min
TIME                VALUE IDENTIFIER
2020-10-13T10:05:44 1586.8238625512568 //:class.link//:stat.out-bytes//:op.rate//:op.min
$ sstore export -t 2020-10-13T10:05:43 -e 2020-10-13T10:05:57 \
> //:class.link//:stat.out-bytes//:op.rate//:op.max
TIME                VALUE IDENTIFIER
2020-10-13T10:05:56 8483597.747689895 //:class.link//:stat.out-bytes//:op.rate//:op.max
1586.8238625512568 + (8483597.747689895-1586.8238625512568) * 0.4 to 8483597.747689895
1586.8238625512568 + 3392804.36953093749728 to 8483597.747689895
3394391.19339348875408 to 8483597.747689895 bytes per second
$ sstore export -t 2020-10-13T10:05:43 -e 2020-10-13T10:05:57 \
> //:class.link//:stat.out-bytes//:op.rate//:op.max(40)
TIME                VALUE IDENTIFIER
2020-10-13T10:05:43 7005824.563157762 //:class.link//:stat.out-bytes//:op.rate//:op.max(40)
2020-10-13T10:05:49 5156391.649592469 //:class.link//:stat.out-bytes//:op.rate//:op.max(40)
2020-10-13T10:05:56 8483597.747689895 //:class.link//:stat.out-bytes//:op.rate//:op.max(40)

The following example shows the top ten percent of rates at which bytes were received over the specified period. This example reports a value that was not reported in the previous example of the top sixty percent of values because the time range is more narrow in the previous example:

$ sstore export -t 2020-10-13T10:01:18 -e 2020-10-13T10:07:18 \
> //:class.link//:stat.out-bytes//:op.rate//:op.max(90)
TIME                VALUE IDENTIFIER
2020-10-13T10:04:20 8083752.515844949 //:class.link//:stat.out-bytes//:op.rate//:op.max(90)
2020-10-13T10:05:56 8483597.747689895 //:class.link//:stat.out-bytes//:op.rate//:op.max(90)