Documentation ¶
Overview ¶
Package diskio fetches disk IO metrics from the OS. It is implemented for darwin (requires cgo), freebsd, linux, and windows.
Detailed descriptions of IO stats provided by Linux can be found here: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/iostats.txt?id=refs/tags/v4.6-rc7
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Get_CLK_TCK ¶
func Get_CLK_TCK() uint32
Types ¶
type DiskIOMetric ¶
type DiskIOMetric struct { ReadRequestMergeCountPerSec float64 `json:"rrqmCps"` WriteRequestMergeCountPerSec float64 `json:"wrqmCps"` ReadRequestCountPerSec float64 `json:"rrqCps"` WriteRequestCountPerSec float64 `json:"wrqCps"` // using bytes instead of sector ReadBytesPerSec float64 `json:"rBps"` WriteBytesPerSec float64 `json:"wBps"` AvgRequestSize float64 `json:"avgrqSz"` AvgQueueSize float64 `json:"avgquSz"` AvgAwaitTime float64 `json:"await"` AvgServiceTime float64 `json:"svctm"` BusyPct float64 `json:"busy"` }
mapping fields which output by `iostat -x` on linux
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.06 0.78 0.09 0.27 9.42 8.06 48.64 0.00 1.34 0.99 1.45 0.77 0.03
type DiskIOStat ¶
type DiskIOStat struct {
// contains filtered or unexported fields
}
func NewDiskIOStat ¶
func NewDiskIOStat() *DiskIOStat
func (*DiskIOStat) CalIOStatistics ¶
func (stat *DiskIOStat) CalIOStatistics(counter disk.IOCountersStat) (DiskIOMetric, error)
func (*DiskIOStat) CloseSampling ¶
func (stat *DiskIOStat) CloseSampling()
func (*DiskIOStat) OpenSampling ¶
func (stat *DiskIOStat) OpenSampling() error
create current cpu sampling need call as soon as get IOCounters