sstore - Statistics Store management utility
/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]
The sstore command provides the ability to capture, export, and display statistics and event information contained within a statistics repository.
The following option is supported:
Displays a usage message.
The following options are supported for all subcommands unless specified otherwise:
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.
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.
Omits the headers from the output.
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.
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 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 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 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.
Ends the timestamp (for information on formatting, see –t). This option defaults to now if not present when –t is specified without –p.
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.
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.
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.
The following subcommands are supported:
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.
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.
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.
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.
This subcommand displays information about a given identifier.
The time range specification behavior is identical to that for the sstore list command.
See the ssid-op(7) man page for examples of //:op and //:fmt.
Example 1 Record a Statistic Every Five Seconds TwiceThis 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-usageExample 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-bytesExample 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-bytesExample 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-bytesExample 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_idleExample 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_idleExample 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_idleExample 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.faultExample 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.ifspeedExample 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 instanceExample 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 ...
The following exit values are returned:
Command succeeded.
An error occurred.
Invalid command line options were specified.
Multiple operations were requested, but only some of them succeeded.
An unanticipated error occurred.
See attributes(7) for descriptions of the following attributes:
|
libsstore(3LIB), ssid-metadata(7), ssid-op(7), sstoreadm(1), sstored(8)
Using Oracle Solaris 11.4 StatsStore and System Web Interface