libnvme(9) API Manual libnvme(9)

# [NAME](#NAME)

struct nvme\_telemetry\_log - Retrieve internal data specific to the manufacturer.

# [SYNOPSIS](#SYNOPSIS)

struct nvme\_telemetry\_log {  
**\_\_u8 lpi;**  
**\_\_u8 rsvd1\[4];**  
**\_\_u8 ieee\[3];**  
**\_\_le16 dalb1;**  
**\_\_le16 dalb2;**  
**\_\_le16 dalb3;**  
**\_\_u8 rsvd14\[2];**  
**\_\_le32 dalb4;**  
**\_\_u8 rsvd20\[360];**  
**\_\_u8 ths;**  
**union {**  
**\_\_u8 hostdgn;**  
**\_\_u8 tcs;**  
**};**  
**\_\_u8 ctrlavail;**  
**\_\_u8 ctrldgn;**  
**\_\_u8 rsnident\[128];**  
**\_\_u8 data\_area\[];**  
};

# [Members](#Members)

[lpi](#lpi)

Log Identifier, either NVME\_LOG\_LID\_TELEMETRY\_HOST or NVME\_LOG\_LID\_TELEMETRY\_CTRL

[rsvd1](#rsvd1)

Reserved

[ieee](#ieee)

IEEE OUI Identifier is the Organization Unique Identifier (OUI) for the controller vendor that is able to interpret the data.

[dalb1](#dalb1)

Telemetry Host/Controller Initiated Data Area 1 Last Block is the value of the last block in this area.

[dalb2](#dalb2)

Telemetry Host/Controller Initiated Data Area 1 Last Block is the value of the last block in this area.

[dalb3](#dalb3)

Telemetry Host/ControllerInitiated Data Area 1 Last Block is the value of the last block in this area.

[rsvd14](#rsvd14)

Reserved

[dalb4](#dalb4)

Telemetry Host/Controller Initiated Data Area 4 Last Block is the value of the last block in this area.

[rsvd20](#rsvd20)

Reserved

[ths](#ths)

Telemetry Host-Initiated Scope

{unnamed\_union}

anonymous

[hostdgn](#hostdgn)

Telemetry Host-Initiated Data Generation Number is a value that is incremented each time the host initiates a capture of its internal controller state in the controller.

[tcs](#tcs)

Telemetry Controller-Initiated Scope

[ctrlavail](#ctrlavail)

Telemetry Controller-Initiated Data Available, if cleared, then the controller telemetry log does not contain saved internal controller state. If this field is set to 1h, the controller log contains saved internal controller state. If this field is set to 1h, the data will be latched until the host releases it by reading the log with RAE cleared.

[ctrldgn](#ctrldgn)

Telemetry Controller-Initiated Data Generation Number is a value that is incremented each time the controller initiates a capture of its internal controller state in the controller .

[rsnident](#rsnident)

Reason Identifiers a vendor specific identifier that describes the operating conditions of the controller at the time of capture.

[data\_area](#data_area)

Telemetry data blocks, vendor specific information data.

# [Description](#Description)

This log consists of a header describing the log and zero or more Telemetry Data Blocks. All Telemetry Data Blocks are NVME\_LOG\_TELEM\_BLOCK\_SIZE, 512 bytes, in size. This log captures the controller’s internal state.

struct nvme\_telemetry\_log October 2026

---

Document: nvme_telemetry_log-libnvme3(2) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
