Go to main content

Using Oracle® Solaris 11.4 StatsStore and System Web Interface

Exit Print View

Updated: November 2020
 
 

Top Values

The op.top operation returns the average value of each SSID over each interval of the specified period. By default, the SSIDs are listed in order of descending average value over the entire specified period. Use the limit argument to specify how many SSIDs to list. The default value of limit is 5. Fewer than limit values might be returned because zero values and NO_DATA are not included in the results.

The sstore capture and sstore export commands might show different top SSIDs over the same period of time:

  • For sstore capture, each interval is the entire specified time period. The top value SSIDs could be different at each interval. Thus, over multiple intervals, results might be reported for more than limit SSIDs.

  • The sstore export command always shows no more than limit SSIDs. The sstore export command compares all available data over the entire period, from the start time to the end time, to determine which limit SSIDs are the top in average value over the whole period. Those same SSIDs are shown in the same order at each interval, even if the average value of a different SSID is higher over that particular interval.

    The sstore export command presents all the data for one SSID and then all the data for the next SSID, not all the data for one data point and then all the data for the next data point.

Use the metric argument to specify a second layer of sorting for the top average value SSIDs:

  • The op.top(limit) operation returns the limit SSIDs with the largest average values over the entire specified period, in descending order from the SSID with the largest average value.

  • The op.top(limit, metric=max) operation returns the limit SSIDs with the largest average values over the entire specified period, in descending order from the SSID with the largest maximum value to the SSID with the smallest maximum value.

  • The op.top(limit, metric=variance) operation returns the limit SSIDs with the largest average values over the entire specified period, in descending order from the SSID with the largest difference between its maximum and minimum values to the SSID with the smallest difference between its maximum and minimum values.

Top Average Values

The proc class represents process statistics. The op.top operation is useful for reducing the process data to information about only the most active of hundreds of processes on the system. The following command lists the five processes that are using the largest percentage of CPU resources at each one-second interval:

$ sstore capture //:class.proc//:res.*//:stat.cpu-percentage//:op.top
TIME                VALUE IDENTIFIER
2020-09-09T15:21:30 3.997802734375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top
2020-09-09T15:21:30 0.4180908203125 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top
2020-09-09T15:21:30 0.2288818359375 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top
2020-09-09T15:21:30 0.1556396484375 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top
2020-09-09T15:21:30 0.067138671875 //:class.proc//:res.fsflush/3/root//:stat.cpu-percentage//:op.top
2020-09-09T15:21:31 4.1351318359375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top
...

The following sstore export command specifies the start time from the preceding sstore capture command and requests two results for each of the top four SSIDs. The values in the first result (the start time) are exactly the same as the values for those SSIDs in the preceding sstore capture example. The values in the second result are the average of the next 60 values for each SSID; they are not just the values at the end time.

Notice that if you had requested the top three SSIDs, the kmem_task process would not be listed. The kmem_task process used the third most CPU time at the start time, but the sstored process used more CPU time on average over the entire requested 61-datapoint period than the kmem_task process used over that same period. The sstored process is shown in the third position at both time stamps because the sstore export command shows only limit SSIDs: the top limit SSIDs over all the data points in the entire requested period, not the top limit SSIDs at each point reported.

$ sstore export -t 2020-09-09T15:21:30 -e 2020-09-09T15:22:30 -i 60 \
> //:class.proc//:res.*//:stat.cpu-percentage//:op.top(4)
TIME                VALUE IDENTIFIER
2020-09-09T15:21:30 3.997802734375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:22:30 3.94287109375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:21:30 0.4180908203125 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:22:30 0.4058837890625 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:21:30 0.1556396484375 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:22:30 0.177001953125 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:21:30 0.2288818359375 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top(4)
2020-09-09T15:22:30 0.09765625 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top(4)

Sub-Sort by Maximum Values

The op.top(limit, metric=max) operation returns the limit SSIDs with the largest average values over the entire specified period, in descending order from the SSID with the largest maximum value to the SSID with the smallest maximum value.

The following example shows the same four SSIDs as are shown in the preceding example because these are the four resources that used the most average CPU time over the entire period. However, in the following example, these same four SSIDs are listed in a different order than in the preceding example.

The sstored process used more CPU time over the entire period than the kmem_task process did, but the kmem_task process has a larger maximum value over the entire period than the sstored process has:

$ sstore export -t 2020-09-09T15:21:30 -e 2020-09-09T15:22:30 -i 60 \
> //:class.proc//:res.*//:stat.cpu-percentage//:op.top(4,metric=max)
TIME                VALUE IDENTIFIER
2020-09-09T15:21:30 3.997802734375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:22:30 3.94287109375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:21:30 0.4180908203125 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:22:30 0.4058837890625 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:21:30 0.2288818359375 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:22:30 0.09765625 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:21:30 0.1556396484375 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top(4,metric=max)
2020-09-09T15:22:30 0.177001953125 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top(4,metric=max)

The values at the reported data points might not include the maximum values. Larger and smaller values might occur at points that are not reported.

Sub-Sort by Value Variance

The op.top(limit, metric=variance) operation returns the limit SSIDs with the largest average values over the entire specified period, in descending order from the SSID with the largest difference between its maximum and minimum values to the SSID with the smallest difference between its maximum and minimum values.

The following example shows the same four SSIDs as are shown in the preceding two examples because these are the four resources that used the most average CPU time over the entire period. In the following example, these same four SSIDs are listed in a different order than in either of the two preceding examples.

The kmem_task process has the greatest variance in its values over the entire period:

$ sstore export -t 2020-09-09T15:21:30 -e 2020-09-09T15:22:30 -i 60 \
> //:class.proc//:res.*//:stat.cpu-percentage//:op.top(4,metric=variance)
TIME                VALUE IDENTIFIER
2020-09-09T15:21:30 0.2288818359375 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:22:30 0.09765625 //:class.proc//:res.kmem_task/7/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:21:30 3.997802734375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:22:30 3.94287109375 //:class.proc//:res.pkg/18905/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:21:30 0.1556396484375 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:22:30 0.177001953125 //:class.proc//:res.sstored/1046/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:21:30 0.4180908203125 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top(4,metric=variance)
2020-09-09T15:22:30 0.4058837890625 //:class.proc//:res.zpool-rpool/6/root//:stat.cpu-percentage//:op.top(4,metric=variance)

The values at the reported data points might not demonstrate the variance. Larger and smaller values might occur at points that are not reported.

Top Values of a Partition Resource

The following examples show how the op.top operation handles partitioned SSIDs. The following example shows the number of bytes sent by each listed application.

$ sstore capture //:class.net/ip//:stat.out-bytes//:part.application
2016-05-18T12:18:55  //:class.net/ip//:stat.out-bytes//:part.application
                    sshd: 332648.0
                    httpd: 0.0
                    sched: 79741.0
                    nscd: 604.0
                    pkg: 0.0
                    extract_boot_fil: 0.0
                    grub-mkconfig: 0.0
                    00_header: 0.0
                    nfsmapid: 399.0
                    grub-install: 0.0
                    ntpd: 448.0
                    ldap_cachemgr: 3051.0
2016-05-18T12:18:56  //:class.net/ip//:stat.out-bytes//:part.application
                    sshd: 348264.0
                    httpd: 0.0
                    sched: 86397.0
                    nscd: 604.0
                    pkg: 5302.0
                    extract_boot_fil: 0.0
                    grub-mkconfig: 0.0
                    00_header: 0.0
                    nfsmapid: 399.0
                    grub-install: 0.0
                    ntpd: 448.0
                    ldap_cachemgr: 3051.0

The following sstore capture command reduces the data to just the largest three partition key values at each data point.

$ sstore capture //:class.net/ip//:stat.out-bytes//:part.application//:op.top(3)
2016-05-18T12:18:55  //:class.net/ip//:stat.out-bytes//:part.application//:op.top(3)
                    sshd: 332648.0
                    sched: 79741.0
                    ldap_cachemgr: 3051.0
2016-05-18T12:18:56  //:class.net/ip//:stat.out-bytes//:part.application//:op.top(3)
                    sshd: 348264.0
                    sched: 86397.0
                    pkg: 5302.0

The sstore export command determines the top values of each partition key over the entire period for which data are available and then compares those top values for each key to determine the top keys over the entire period. Thus the sstore export command shows the same partition keys at each time stamp, even if the key has a zero value at some points. In the preceding sstore capture results, the ldap_cachemgr key has the third largest value of all the partition keys at time 12:18:55. The sstore export results at that same time report the value of the pkg key because over the entire time period, the sshd, sched, and pkg keys have the highest values. The sstore export results show these same three keys in this same order at all data points.

$ sstore export //:class.net/ip//:stat.out-bytes//:part.application//:op.top(3)
2016-05-18T12:18:55  //:class.net/ip//:stat.out-bytes//:part.application//:op.top(3)
                    sshd: 332648.0
                    sched: 79741.0
                    pkg: 0.0
2016-05-18T12:18:56  //:class.net/ip//:stat.out-bytes//:part.application//:op.top(3)
                    sshd: 348264.0
                    sched: 86397.0
                    pkg: 5302.0

If a single SSID specifies both partitioned SSIDs and non-partitioned SSIDs, partitioned SSIDs are ignored. The following command records only values for //:class.proc//:res.*//:stat.cpu-percentage; no values are recorded for //:class.net/ip//:stat.out-bytes//:part.application:

$ sstore capture \
> //:s.[//:class.proc//:res.*//:stat.cpu-percentage,//:class.net/ip//:stat.out-bytes//:part.application]//:op.top

If you specify multiple non-partitioned SSIDs in a single SSID for op.top, all data values are compared together to determine the top values. Possibly the values of one of the component SSIDs will not appear in the op.top results.