SYNOPSIS

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>]

DESCRIPTION

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.

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.

OPTIONS

-l <file>
--telemetry-log=<file>

File name to existing Telemetry Host-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, host0, host1 or controller. If set to host1, 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 host0, controller shall not update this data.

GLOBAL OPTIONS

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.

--timeout=<ms>

Set the timeout for the command in milliseconds.

-v
--verbose

Increase the level of detail in the output. May be specified multiple times to further increase verbosity.

EXAMPLES

  • Retrieve in both OCP String Log and Telemetry Host-Initiated Log from device. Decode default data-area(s) in default format and output to console.

    # nvme ocp internal-log /dev/nvme0
  • 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

NVME

Part of the nvme-user suite