MCPcopy Create free account
hub / github.com/prometheus/procfs / BlockQueueStats

Struct BlockQueueStats

blockdevice/stats.go:95–180  ·  view source on GitHub ↗

BlockQueueStats models the queue files that are located in the sysfs tree for each block device and described in the kernel documentation: https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt https://www.kernel.org/doc/html/latest/block/queue-sysfs.html

Source from the content-addressed store, hash-verified

93// https://www.kernel.org/doc/Documentation/block/queue-sysfs.txt
94// https://www.kernel.org/doc/html/latest/block/queue-sysfs.html
95type BlockQueueStats struct {
96 // AddRandom is the status of a disk entropy (1 is on, 0 is off).
97 AddRandom uint64
98 // Dax indicates whether the device supports Direct Access (DAX) (1 is on, 0 is off).
99 DAX uint64
100 // DiscardGranularity is the size of internal allocation of the device in bytes, 0 means device
101 // does not support the discard functionality.
102 DiscardGranularity uint64
103 // DiscardMaxHWBytes is the hardware maximum number of bytes that can be discarded in a single operation,
104 // 0 means device does not support the discard functionality.
105 DiscardMaxHWBytes uint64
106 // DiscardMaxBytes is the software maximum number of bytes that can be discarded in a single operation.
107 DiscardMaxBytes uint64
108 // HWSectorSize is the sector size of the device, in bytes.
109 HWSectorSize uint64
110 // IOPoll indicates if polling is enabled (1 is on, 0 is off).
111 IOPoll uint64
112 // IOPollDelay indicates how polling will be performed, -1 for classic polling, 0 for hybrid polling,
113 // with greater than 0 the kernel will put process issuing IO to sleep for this amount of time in
114 // microseconds before entering classic polling.
115 IOPollDelay int64
116 // IOTimeout is the request timeout in milliseconds.
117 IOTimeout uint64
118 // IOStats indicates if iostats accounting is used for the disk (1 is on, 0 is off).
119 IOStats uint64
120 // LogicalBlockSize is the logical block size of the device, in bytes.
121 LogicalBlockSize uint64
122 // MaxHWSectorsKB is the maximum number of kilobytes supported in a single data transfer.
123 MaxHWSectorsKB uint64
124 // MaxIntegritySegments is the max limit of integrity segments as set by block layer which a hardware controller
125 // can handle.
126 MaxIntegritySegments uint64
127 // MaxSectorsKB is the maximum number of kilobytes that the block layer will allow for a filesystem request.
128 MaxSectorsKB uint64
129 // MaxSegments is the number of segments on the device.
130 MaxSegments uint64
131 // MaxSegmentsSize is the maximum segment size of the device.
132 MaxSegmentSize uint64
133 // MinimumIOSize is the smallest preferred IO size reported by the device.
134 MinimumIOSize uint64
135 // NoMerges shows the lookup logic involved with IO merging requests in the block layer. 0 all merges are
136 // enabled, 1 only simple one hit merges are tried, 2 no merge algorithms will be tried.
137 NoMerges uint64
138 // NRRequests is the number of how many requests may be allocated in the block layer for read or write requests.
139 NRRequests uint64
140 // OptimalIOSize is the optimal IO size reported by the device.
141 OptimalIOSize uint64
142 // PhysicalBlockSize is the physical block size of device, in bytes.
143 PhysicalBlockSize uint64
144 // ReadAHeadKB is the maximum number of kilobytes to read-ahead for filesystems on this block device.
145 ReadAHeadKB uint64
146 // Rotational indicates if the device is of rotational type or non-rotational type.
147 Rotational uint64
148 // RQAffinity indicates affinity policy of device, if 1 the block layer will migrate request completions to the
149 // cpu “group” that originally submitted the request, if 2 forces the completion to run on the requesting cpu.
150 RQAffinity uint64
151 // SchedulerList contains list of available schedulers for this block device.
152 SchedulerList []string

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected