Go to main content

Using Oracle® Solaris 11.4 StatsStore and System Web Interface

Exit Print View

Updated: November 2020
 
 

Displaying Values of Statistic Partitions

A partition is a grouping of a set of statistic values. Partitions take arguments to specify which partition data to return. The two types of partitions are static and dynamic.

static

A static partition is a full enumeration of the exact names of the partitions. For example, CPU usage can be broken down by mode, which has component parts user, stolen, kernel, interrupt, and idle time. The components of a static partition are explicitly listed in the partition metadata.

dynamic

Dynamic partitions return a different list of constituents depending on the environment in which the statistic is requested. In many cases, dynamic partitions map to resource names, and the partition metadata describes that mapping. This enables zooming out to examine a partition itself, rather than exploring data by infinite repartitioning.

Use the part keyword to specify which partition data to return. If you do not specify a partition for a statistic that is partitioned, the aggregate value of all parts of the partition is returned.

Displaying Values of Static Partitions

The following command shows that CPU usage is partitioned by mode (partitions: mode):

$ sstore info //:class.cpu//:res.id/0//:stat.usage
 Identifier: //:class.cpu//:res.id/0//:stat.usage
    $schema: //:stat
  copyright: Copyright (c) 2014, 2016, Oracle and/or its affiliates.
description: cpu time
         id: //:class.cpu//:stat.usage
 multiplier: 1000000
  stability: stable
       type: counter
      units: milliseconds
     zeroes: False
 partitions: mode

The following command shows that the mode partition is not further partitioned:

$ sstore info //:class.cpu//:res.id/0//:stat.usage//:part.mode
 Identifier: //:class.cpu//:res.id/0//:stat.usage//:part.mode
    $schema: //:stat
  copyright: Copyright (c) 2014, 2016, Oracle and/or its affiliates.
description: cpu time
         id: //:class.cpu//:stat.usage
 multiplier: 1000000
  stability: stable
      units: milliseconds
     zeroes: False
       type: partition
Example 1  Display the Aggregate Value of a Partition

The following command shows that the value of a partition is aggregated if you do not specify a component of the partition:

$ sstore capture //:class.cpu//:res.id/0//:stat.usage 1 1
TIME                VALUE             IDENTIFIER
2020-08-27T23:09:56 1503723065.775699 //:class.cpu//:res.id/0//:stat.usage
Example 2  Display the Value of Each Component of a Partition

The following sstore export command uses the time from the previous sstore capture command to show the values of the individual components of the mode partition:

$ sstore export -t 2020-08-27T23:09:56 -p 1 \
> //:class.cpu//:res.id/0//:stat.usage//:part.mode
TIME                VALUE IDENTIFIER
2020-08-27T23:09:56  //:class.cpu//:res.id/0//:stat.usage//:part.mode
                    idle: 1501048573.375829
                    intr: 1143137.286091
                    kernel: 1398988.483238
                    user: 132366.630541

The preceding command shows the arguments that the mode partition can take (idle, intr, kernel, user) and the CPU usage for each component. This output also shows that the aggregate value is equal to the sum of the values of all components.

Example 3  Display the Values of Selected Partition Components

The following command specifies the time output from the previous command as the start time and requests CPU usage values at 30-second intervals for just the user and kernel components:

$ sstore export -t 2020-08-27T23:09:56 -e 2020-08-27T23:10:56 -i 30 \
> //:class.cpu//:res.id/0//:stat.usage//:part.mode(user,kernel)
TIME                VALUE IDENTIFIER
2020-08-27T23:09:56  //:class.cpu//:res.id/0//:stat.usage//:part.mode(user,kernel)
                    kernel: 1398988.483238
                    user: 132366.630541
2020-08-27T23:10:26  //:class.cpu//:res.id/0//:stat.usage//:part.mode(user,kernel)
                    kernel: 1399010.830562
                    user: 132366.630541
2020-08-27T23:10:56  //:class.cpu//:res.id/0//:stat.usage//:part.mode(user,kernel)
                    kernel: 1399038.108177
                    user: 132366.630541

Displaying Values of Dynamic Partitions

The following command shows that CPU interrupt time is partitioned by level:

$ sstore info //:class.cpu//:res.id/0//:stat.interrupt-time
     Identifier: //:class.cpu//:res.id/0//:stat.interrupt-time
        $schema: //:stat
      copyright: Copyright (c) 2014, 2016, Oracle and/or its affiliates.
    description: interrupt time
             id: //:class.cpu//:stat.interrupt-time
     multiplier: 1000000
      stability: stable
           type: counter
          units: milliseconds
index-partition: level
     partitions: level

The following command shows that the level partition is not further partitioned:

$ sstore info //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level
     Identifier: //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level
        $schema: //:stat
      copyright: Copyright (c) 2014, 2016, Oracle and/or its affiliates.
    description: interrupt time
             id: //:class.cpu//:stat.interrupt-time
     multiplier: 1000000
      stability: stable
          units: milliseconds
index-partition: level
           type: partition

CPU interrupt time levels are defined dynamically. These levels are not defined in metadata.

The following sstore export command shows the total interrupt time for all levels and the total broken down by level:

$ sstore export -t 2020-08-28T00:02:47 -p 1 \
> //:class.cpu//:res.id/0//:stat.interrupt-time \
> //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level
TIME                VALUE IDENTIFIER
2020-08-28T00:02:47 1145541.536654 //:class.cpu//:res.id/0//:stat.interrupt-time
2020-08-28T00:02:47  //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level
                    0: 17242.24916
                    1: 0.374476
                    2: 1.916197
                    3: 0.0
                    4: 8.525565
                    5: 1112.138469
                    6: 0.0
                    7: 0.0
                    8: 2.595788
                    9: 789717.736216
                    10: 0.0
                    11: 0.0
                    12: 1516.502436
                    13: 335933.168499
                    14: 6.329848

The following command shows specifying components of a partition:

$ sstore export -t 2020-08-28T00:02:47 -e 2020-08-28T00:03:47 -i 60 \
> //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level(1,9,13)
TIME                VALUE IDENTIFIER
2020-08-28T00:02:47  //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level(1,9,13)
                    1: 0.374476
                    9: 789717.736216
                    13: 335933.168499
2020-08-28T00:03:47  //:class.cpu//:res.id/0//:stat.interrupt-time//:part.level(1,9,13)
                    1: 0.374476
                    9: 789747.46965
                    13: 335946.036757