NVME-OCP-TELEMETRY(1)

πŸ¦‹ NVME-OCP-TELEMETRY(1) πŸ¦‹

okay so bestie, this is a page from the NVMe Manual and it's genuinely so useful, stay with me πŸ’–

✨ NAME ✨

nvme-ocp-telemetry-string-log β€” grab the OCP Telemetry String Log page. that's the whole vibe πŸŽ€

✨ SYNOPSIS ✨

nvme [<global-options>] ocp telemetry-string-log <device>
                        [--output-file=<file> | -f <file>] [--no-uuid | -n]

✨ DESCRIPTION ✨

so for the NVMe device you give it, this pulls the OCP Telemetry String Log page. literally that's it, that's the job 🫢

the <device> parameter is mandatory (no skipping it, bestie, it's not optional) and it can be either the NVMe character device (ex: /dev/nvme0) or a block device (ex: /dev/nvme0n1). both slay πŸ’…

⚠️ this will only work on OCP compliant devices that support this feature. results for any other device are undefined β€” so like, don't come crying to me if you point it at something random 😭 it's giving undefined behaviour and that's not a cute look.

on success it returns 0, and an error code otherwise. yup, standard king behaviour πŸ‘‘

✨ OPTIONS ✨

  • -f <file>, --output-file=<file> β€” filepath name for where the binary output data gets saved. that's your destination, bestie πŸ“
  • -n, --no-uuid β€” don't try to automatically detect the UUID index for this command (it just defaults the UUID index to 0). lowkey the chill option πŸ™ˆ

✨ GLOBAL OPTIONS ✨

these are defined at the top-level nvme command and they're available to this subcommand too, so you get them for free, no cap ✨

  • --dry-run β€” prints the command that would be executed, but doesn't actually execute it. it's giving "look but don't touch" πŸ‘€
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support.
  • --no-retries β€” disables the retry logic on transient errors. one shot, no second chances πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” sets the reporting format to normal, tabular, 'json, or binary. only one output format at a time, so pick your fave and commit πŸ’…
  • --output-format-version=<version> β€” selects the output format version. version 1 uses the original field naming, while version 2 (the default) gives you more consistent and script-friendly field names. any other versions are rejected β€” no exceptions 🚫
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. it's the "shhh, i'm focusing" era 🀫
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). patient queen energy ⏳
  • -v, --verbose β€” increases the level of detail in the output. you can specify it multiple times to increase verbosity even further. more -v = more lore πŸ”₯

these options can also be set as machine-wide defaults in nvme-cli.conf(5). and a command-line flag always overrides the file β€” CLI stays main character, periodt πŸ‘‘


✨ EXAMPLES ✨

  • has the program issue a telemetry-string-log command to get the log page data from the bin file. iconic, honestly 🌈
# nvme ocp telemetry-string-log /dev/nvme0n1

✨ NVME ✨

part of the nvme-user suite. family πŸ’œ


and that's the whole page bestie, go forth and telemetry πŸ§šβ€β™€οΈβœ¨ this was NVMe, dated 10/30/2026, page NVME-OCP-TELEMETRY(1) β€” mwah, drink some water, ily πŸ«ΆπŸ’–

πŸ“¦ where this page comes from