Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

sstore(1)

Name

sstore - Statistics Store management utility

Synopsis

/usr/bin/sstore [-?]

/usr/bin/sstore help [subcommand]

/usr/bin/sstore capture [-aH]
	 [statid ... | -f ssid_file |
	 [interval [count]]

/usr/bin/sstore export [-F format] [-aH]
	 [[[-t start-time] [-e end-time] [-i step]] |
	 [[-t start-time] [-i step] [-p relative-pts]]]
	 [statid ... | -f ssid_file]

/usr/bin/sstore list [-F format] [-aH]
	 [[[-t start-time] [-e end-time]] |
	 [[-t start-time] [-p relative-pts]]]
	 [statid ... | -f ssid_file]

/usr/bin/sstore info [-F format] [-a]
	 [[[-t start-time] [-e end-time]] |
	 [[-t start-time] [-p relative-pts]]]
	 [statid ... | -f ssid_file]

Description

The sstore command provides the ability to capture, export, and display statistics and event information contained within a statistics repository.

Options

The following option is supported:

-?

Displays a usage message.

Common Sub-Command Options

The following options are supported for all subcommands unless specified otherwise:

–F format

Specifies an alternative output format. The value of format can be tsv (Tab Separated Values), csv (Comma Separated Values), or json (JavaScript Object Notation, formatted for readability). For csv formatted output, the query must include a time range (see the –t option) and a granularity or step in seconds.

The CSV output format is described in the sstore.csv(5) man page. The JSON output format is described in the sstore.json(5) man page.

–a

Makes wildcards match all entries (unstable and unbrowsable identifiers are hidden by default).The subcommand info, if specified without wildcard will list a detailed information of each identifier in the sstore. However, the subcommands export and capture strictly expect a wildcard or an SSID with this option. Refer to examples for more details on the various subcommands.

–H

Omits the headers from the output.

–f ssid_file

Specifies a file that contains a list of identifiers (one per line) or in the same JSON (JavaScript Object Notation) format provided by the sstore export command. This option cannot be combined with a direct identifier specification.

–t start-time

Starts a timestamp formatted with %Y-%m-%dT%H:%M:%S. For more information, see the strftime(3C) man page. The keyword now can be used to specify the current time. This option defaults to epoch when not specified, unless otherwise noted.

There are two ways of specifying a time range:

Form 1: -t start-time -e end-time -i step

Form 1 is always assumed if –t is specified without –p. In this form, the data returned is bounded by the start and end times, with a minimum granularity of step.

Form 2: -t start-time -p relative-pts

Form 2 returns at maximum relative-pts data points with no guaranteed granularity. You can specify a positive or negative value, which signifies whether the points returned come after or before start-time respectively.

Form 3: -t start-time -i step -p relative-pts

Form 3 returns at maximum relative-pts data points with granularity of step seconds. You can specify a positive or negative value for relative-pts, which signifies whether the points returned come after or before start-time respectively.

–e end-time

Ends the timestamp (for information on formatting, see –t). This option defaults to now if not present when –t is specified without –p.

–i step

Specifies the interval between timestamps. The step shall be specified as [n] [ns] [nm] [nh] [nd] [nw], where n is the time duration and s, m, h, d and w corresponds to seconds, minutes, hours, days and weeks respectively. For example, 10 or 10s will be 10 seconds, 5h will be 5 hours, 2d will be 2 days and 3w will be interpreted as 3 weeks. For all non-zero specifications of step, the corresponding time interval is taken and the data is interpolated such that the timestamps between points are exactly step apart.

If step is zero or not specified, data is returned with timestamps unmodified from the sstored initial sampling. By default, sstored attempts to sample statistics once per second, but can occasionally fail to do so, depending on the load of the system. See the sstored(8) man page.

–p relative-pts

Specifies the maximum number of data points to return. This value must be non-zero. An optional start-time can be specified. If start-time is not specified, then the start time defaults to now.

Operands

statid

A statistics store identifier (SSID). To specify multiple identifiers, separate identifiers with spaces or use wildcards or splices as described in Using Oracle Solaris 11.4 StatsStore and System Web Interface.

Sub Commands

The following subcommands are supported:

sstore help subcommand

This command displays usage for the specified sstore subcommand or for all sstore subcommands.

To display usage for a specific subcommand, use the sstore help command with that specific subcommand as an operand.

If you use the sstore help command with no operand, usage for all sstore subcommands is displayed.

sstore capture [–aH] [statid ... | –f ssid_file] [interval [count]]

This subcommand captures and prints statistics and event information for the given identifiers until the process terminates.

If you specify interval, the results are printed every interval seconds until the process is terminated by entering Ctrl-C.

If you specify count, the process terminates after printing the results count times.


Note - To display available resources, statistics, events, and their identifiers, use the sstore list command.
sstore export [–F format] [–aH] [[[–t start-time] [–e end-time] [–i step]] | [[–t start-time] [–i step] [–p relative-pts]]] [statid ... | –f ssid_file]

This subcommand prints the historical statistic and event information for the given identifiers over the given time range.

You must specify at least one identifier. Time ranges are optional. If you do not specify a time range, then all the data for the given identifiers is printed.

sstore list [–F format] [–aH] [[[–t start-time] [–e end-time] | [[–t start-time] [–p relative-pts]]] [statid ... | –f ssid_file]

This subcommand prints the list of matching identifiers.

If you do not specify –t, then now is assumed as the start time value, and the sstore list command prints the list of identifiers that are currently available.

If you specify –t, then the ranges of activity, which indicates the time at which the identifier was available for capture, are also printed. Thus, the –t option can also be used to view when in the past resources were available on the system.

sstore info [–F format] [–a] [[[–t start-time] [–e end-time] | [[–t start-time] [–p relative-pts]]] [statid ... | –f ssid_file]

This subcommand displays information about a given identifier.

The time range specification behavior is identical to that for the sstore list command.

Examples

See the ssid-op(7) man page for examples of //:op and //:fmt.

Example 1 Record a Statistic Every Five Seconds Twice

This example records CPU integer pipeline usage (in a kernel zone with two strands), displaying the current stat values every five seconds for two iterations.

$ sstore capture '//:class.cpu//:res.id/*//:stat.integer-pipe-usage' 5 2
TIME                VALUE IDENTIFIER
2014-10-08T14:42:06 104501725 //:class.cpu//:res.id/0//:stat.integer-pipe-usage
2014-10-08T14:42:06 110927532 //:class.cpu//:res.id/1//:stat.integer-pipe-usage
2014-10-08T14:42:11 123515733 //:class.cpu//:res.id/0//:stat.integer-pipe-usage
Example 2 Export Statistic Values after Previously Capturing

This example exports historical statistics for the datalink net0 after enabling capture eight seconds previously.

$ sstore export '//:class.link/phys//:res.name/net0//:stat.//:s.[out-bytes,in-bytes]'
TIME                VALUE IDENTIFIER
2014-10-08T15:13:46 1073914647 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:47 1073915035 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:48 1073915713 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:49 1073916959 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:50 1073917089 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:51 1073920729 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:52 1073922289 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:53 1073923069 //:class.link/phys//:res.name/net0//:stat.out-bytes
2014-10-08T15:13:47 4226366841 //:class.link/phys//:res.name/net0//:stat.in-bytes
2014-10-08T15:13:48 4226367123 //:class.link/phys//:res.name/net0//:stat.in-bytes
2014-10-08T15:13:49 4226367773 //:class.link/phys//:res.name/net0//:stat.in-bytes
2014-10-08T15:13:50 4226368179 //:class.link/phys//:res.name/net0//:stat.in-bytes
2014-10-08T15:13:51 4226372059 //:class.link/phys//:res.name/net0//:stat.in-bytes
2014-10-08T15:13:52 4226373961 //:class.link/phys//:res.name/net0//:stat.in-bytes
2014-10-08T15:13:53 4226375257 //:class.link/phys//:res.name/net0//:stat.in-bytes
Example 3 Export Statistic Values of previously captured data with 10 second step
$ sstore export -i 10s -t now -e 25 '//:class.link/phys//:res.name/net0//:stat.//:s.[out-bytes,in-bytes]'
TIME                VALUE IDENTIFIER
2020-06-16T11:19:43 150973526.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:19:53 150977726.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:20:03 150981926.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:19:43 46361608.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
2020-06-16T11:19:53 46362448.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
2020-06-16T11:20:03 46363662.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
Example 4 Export Statistic Values of previously captured data with 1 minute step
$ sstore export -i 1m -t now -e 180 '//:class.link/phys//:res.name/net0//:stat.//:s.[out-bytes,in-bytes]'
TIME                VALUE IDENTIFIER
2020-06-16T11:21:23 150987526.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:22:23 150998000.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:23:23 151023386.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:24:23 151051466.0 //:class.link/phys//:res.name/net0//:stat.out-bytes
2020-06-16T11:21:23 46369071.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
2020-06-16T11:22:23 46373059.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
2020-06-16T11:23:23 46379147.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
2020-06-16T11:24:23 46391989.0 //:class.link/phys//:res.name/net0//:stat.in-bytes
Example 5 Export Statistic Values of previously captured data of previous 3 data points relative to now with 5 seconds step
$ sstore export -i 5 -p -3 -t now '//:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle'
TIME                VALUE IDENTIFIER
2021-05-10T09:44:01 932648728114295 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
2021-05-10T09:44:06 932653671291909 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
2021-05-10T09:44:11 932658595839475 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle 
Example 6 Export Statistic Values of previously captured data of next 3 data points relative to given start-time with 5 seconds step
$ sstore export -i 5 -p 3 -t 2021-05-10T09:35:10 '//:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle'
TIME                VALUE IDENTIFIER
2021-05-10T09:35:10 932126235430593 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
2021-05-10T09:35:15 932131178062798 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
2021-05-10T09:35:20 932136105248117 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
Example 7 Export Statistic Values of previously captured data of previous 3 data points relative to given start-time with 5 seconds step
$ sstore export -i 5 -p -3 -t 2021-05-10T09:35:10 '//:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle'
TIME                VALUE IDENTIFIER
2021-05-10T09:34:59 932115382756757 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
2021-05-10T09:35:04 932120312981016 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
2021-05-10T09:35:09 932125248546632 //:class.kstat//:res.system/cpu/0/sys//:stat.cpu_nsec_idle
Example 8 Export Statistic Values by matching wildcards

This example exports historical statistics for the Filesystems displaying all the stats which wildcard matches.

$ sstore export -a '//:class.fs//:*'
TIME                VALUE IDENTIFIER
...
2020-06-03T10:04:27 7097594.0 //:class.fs//:stat.access-ops
2020-06-03T10:04:28 7097846.0 //:class.fs//:stat.access-ops
...
2020-06-03T10:04:41 471072.0 //:class.fs//:stat.addmap-ops
2020-06-03T10:04:42 471072.0 //:class.fs//:stat.addmap-ops
...
2020-06-03T10:04:41 0.0 //:class.fs//:stat.async-cancel-ops
2020-06-03T10:04:42 0.0 //:class.fs//:stat.async-cancel-ops
...
Example 9 List Available CPU Statistics and Events
$ sstore list '//:class.cpu//:res.id/0//://:s.[stat,event].*'
IDENTIFIER            
//:class.cpu//:res.id/0//:stat.usage
//:class.cpu//:res.id/0//:stat.integer-pipe-usage
//:class.cpu//:res.id/0//:stat.interrupt-count
//:class.cpu//:res.id/0//:stat.interrupt-time
//:class.cpu//:res.id/0//:stat.xcalls
//:class.cpu//:res.id/0//:event.adm-action
//:class.cpu//:res.id/0//:event.alert
//:class.cpu//:res.id/0//:event.fault
Example 10 Display Information about a Network Statistic
$ sstore info //:class.link/phys//:res.name/net0//:stat.ifspeed
 Identifier: //:class.link/phys//:res.name/net0//:stat.ifspeed
description: maximum received or transmitted bytes/s
  copyright: Copyright (c) 2014, 2020, Oracle and/or its affiliates.
  stability: stable
   max-rate: //:stat.ifspeed
 multiplier: 8
      units: bytes
    $schema: //:stat
       type: rate
         id: //:class.link/phys//:stat.ifspeed
Example 11 Display Information about a Network and CPU Resource
$ sstore info //:class.link/phys//:res.name/net0 //:class.cpu//:res.id/0   
 Identifier: //:class.link/phys//:res.name/net0
  stability: stable
description: data link instance

 Identifier: //:class.cpu//:res.id/0
  stability: stable
description: cpu instance
Example 12 Display Information on all the indentifiers that are currently available in sstore.
$ sstore info -a
...
Identifier: //:class.zpool
   $schema: //:class
 copyright: Copyright (c) 2015, 2020, Oracle and/or its affiliates.
   description: ZFS pool statistics
    id: zpool
	instance-metadata: {'description': 'ZFS pool', 'stability': 'stable'}
    namespaces: {'name-type': 'string', 'resource-name': 'name'}
     stability: stable
    stat-names: //:stat.size
    stat-names: //:stat.capacity
    stat-names: //:stat.health
    stat-names: //:stat.guid
    stat-names: //:stat.version
    stat-names: //:stat.available
    stat-names: //:stat.allocated
...
Identifier: //:class.app/solaris/audit/class
   $schema: //:class
 copyright: Copyright (c) 2016, 2020, Oracle and/or its affiliates.
   description: Solaris Audit class statistics
    id: app/solaris/audit/class
    namespaces: {'name-type': 'string', 'resource-name': 'name'}
    sau_read_sensitive_auth: solaris.sstore.audit.read
    stability: stable
    stat-names: //:stat.pass
    stat-names: //:stat.fail
...

Exit Status

The following exit values are returned:

0

Command succeeded.

1

An error occurred.

2

Invalid command line options were specified.

3

Multiple operations were requested, but only some of them succeeded.

99

An unanticipated error occurred.

Attributes

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/sstore
Interface Stability
Uncommitted

See Also

libsstore(3LIB), ssid-metadata(7), ssid-op(7), sstoreadm(1), sstored(8)

Using Oracle Solaris 11.4 StatsStore and System Web Interface