nvme-ocp-internal-log - Conditionally retrieves 07h Telemetry
Host-Initiated log, C9h OCP Strings Log from an NVMe device or from
user-specified file path. Takes retrieved logs and decodes into
human-readable output format specified by user.
nvme [<global-options>] ocp internal-log <device>
[--telemetry-log=<file> | -l <file>]
[--string-log=<file> | -s <file>]
[--output-file=<file> | -f <file>]
[--data-area=<da> | -a <da>]
[--telemetry-type=<type> | -t <type>]
[--host-generate=<gen> | -g <gen>]
[--no-uuid | -n]
Conditionally retrieves 07h Telemetry Host-Initiated log, C9h OCP
Strings Log from an NVMe device or from user-specified file path. Takes
retrieved logs and decodes (or) parses into human-readable output format
specified by user. Without --output-format, the report is written as JSON to
<file>.json, or as normal text to <file>.txt when nvme-cli is
built without json-c.
The <device> parameter is mandatory and may be either the
NVMe character device (ex: /dev/nvme0), or a namespace block device (ex:
/dev/nvme0n1).
This will only work on OCP compliant devices supporting this
feature. Results for any other device are undefined.
On success it returns 0, error code otherwise.
-l <file>, --telemetry-log=<file>
File name to existing Telemetry Host- or
Controller-Initiated raw binary data to be used. If no path is specified, a
live retrieval of payload on <device> will be performed.
-s <file>, --string-log=<file>
File name to existing OCP String Log raw binary data to
be used. If no path is specified, a live retrieval of payload on
<device> will be performed.
-f <file>, --output-file=<file>
Filepath name used as the prefix for the telemetry and
string log bin files along with the human-readable parsed output file.
-a <da>, --data-area=<da>
Retrieves the specific data area requested. Valid inputs
are 1, 2, 3, or 4. If this option is not specified, the default value is
1.
-t <type>, --telemetry-type=<type>
Set the telemetry type to host or
controller. With --telemetry-log, the type is detected from the Log
Identifier of the provided log, and --telemetry-type is not required.
Otherwise, if this option is not specified, the default value is host.
host0 and host1 are deprecated and will be removed in the next
major version; use host with --host-generate=0 in place of
host0.
-g <gen>, --host-generate=<gen>
If set to 1, the controller shall capture the Telemetry
Host-Initiated data representing the internal state of the controller at the
time the associated Get Log Page command is processed. If set to 0, the
controller shall not update this data before reading the log. Ignored with
--telemetry-type=controller. If this option is not specified, the default
value is 1.
-n, --no-uuid
Do not try to automatically detect UUID index when
retrieving the OCP String Log from <device> (default UUID index to
0).
The following options are defined at the top-level nvme command
and are available to this subcommand:
--dry-run
Print the command that would be executed, but do not
actually execute it.
--no-ioctl-probing
Disable probing for 64-bit IOCTL support.
--no-retries
Disable retry logic on transient errors.
-o <fmt>, --output-format=<fmt>
Set the reporting format to normal, tabular,
'json, or binary. Only one output format may be used at a
time.
--output-format-version=<version>
Select the output format version. Version 1 uses
the original field naming, while version 2 (default) provides more
consistent and script-friendly field names. Other versions are rejected.
--quiet
Suppress informational messages. Errors are still
reported, and --quiet cancels any --verbose for the library log level.
--set-options=<key=value>[,<key=value>...]
Set libnvme library options for this invocation.
Supported keys are force-4k, mi-probe-enabled,
test-base-dir and test-sysfs-dir.
--timeout=<ms>
Set the timeout for the command in milliseconds.
infinite or -1 waits without a time limit (0xffffffff).
-v, --verbose
Increase the level of detail in the output. May be
specified multiple times to further increase verbosity.
These options can also be set as machine-wide defaults in
nvme-cli.conf(5). A command-line flag always overrides the file.
•Retrieve both OCP String Log and Telemetry
Host-Initiated Log from device. Decode default data-area(s) and output to the
default ./telemetry-log.json.
# nvme ocp internal-log /dev/nvme0
•Retrieve the OCP String Log and the existing
Telemetry Host-Initiated data without having the controller capture new data.
Decode default data-area(s) and output to the default ./telemetry-log.json.
# nvme ocp internal-log /dev/nvme0 --host-generate=0
•Retrieve Telemetry Host-Initiated data, reads in
the OCP String Log locally. Decode default data-area(s) in default format.
# nvme ocp internal-log /dev/nvme0 --string-log=ocp_string_log.bin
--output-file=output_file.json
•Retrieve OCP String Log, reads in the Telemetry
Host-Initiated Log locally. Decode data-areas 1 and 2, and output in json
format.
# nvme ocp internal-log /dev/nvme0 --telemetry-log=host_telemetry.bin
--output-format=json --output-file=output_file.json --data-area=2
•Reads in both OCP String Log and Telemetry
Host-Initiated Log locally. Decode data-areas 1 and 2, and output in normal
text format.
# nvme ocp internal-log /dev/nvme0 --string-log=ocp_string_log.bin
--telemetry-log=host_telemetry.bin --output-format=normal
--output-file=output_file.txt --data-area=2
Part of the nvme-user suite