wrapper

package
v0.0.0-...-4c9e8ac Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2022 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cgroups2Stats = map[string]Stats{
	"cpuset":  &fs.CpusetGroup{},
	"cpu":     &fs.CpuGroup{},
	"cpuacct": &fs.CpuacctGroup{},
	"memory":  &fs.MemoryGroup{},
	"devices": &fs.DevicesGroup{},
}

Functions

This section is empty.

Types

type FilesystemInterface

type FilesystemInterface struct {
	// The block device name associated with the filesystem
	Device string `json:"device_name"`

	// Type of the filesystem
	Type string `json:"type"`

	// Number of bytes that can be consumed on this filesystem
	Limit uint64 `json:"capacity"`

	// Number of bytes that is consumed on this filesystem
	Usage uint64 `json:"usage"`

	// Base Usage that is consumed by the container's writable layer
	BaseUsage uint64 `json:"base_usage"`

	// Number of bytes available for non-root user
	Available uint64 `json:"available"`

	// Number of available Inodes
	InodesFree uint64 `json:"inodes_free"`

	// This is the total number of reads completed successfully
	ReadsCompleted uint64 `json:"reads_completed"`

	// This is the total number of reads merged successfully. This field lets you know how often this was done
	ReadsMerged uint64 `json:"reads_merged"`

	// This is the total number of sectors read successfully
	SectorsRead uint64 `json:"sectors_read"`

	// This is the total number of milliseconds spent reading
	ReadTime uint64 `json:"read_time"`

	// This is the total number of writes completed successfully
	WritesCompleted uint64 `json:"writes_completed"`

	// This is the total number of writes merged successfully
	WritesMerged uint64 `json:"writes_merged"`

	// This is the total number of sectors written successfully
	SectorsWritten uint64 `json:"sectors_written"`

	// This is the total number of milliseconds spent writing
	WriteTime uint64 `json:"write_time"`

	// Number of I/Os currently in progress
	IoInProgress uint64 `json:"io_in_progress"`

	// Number of milliseconds spent doing I/Os
	IoTime uint64 `json:"io_time"`

	// weighted number of milliseconds spent doing I/Os
	// This field is incremented at each I/O start, I/O completion, I/O
	// merge, or read of these stats by the number of I/Os in progress
	// (field 9) times the number of milliseconds spent doing I/O since the
	// last update of this field.  This can provide an easy measure of both
	// I/O completion time and the backlog that may be accumulating.
	WeightedIoTime uint64 `json:"weighted_io_time"`
}

type NetworkInterface

type NetworkInterface struct {
	// Name is the name of the network interface.
	Name string `json:"name"`

	RxBytes   uint64 `json:"rx_bytes"`
	RxPackets uint64 `json:"rx_packets"`
	RxErrors  uint64 `json:"rx_errors"`
	RxDropped uint64 `json:"rx_dropped"`
	TxBytes   uint64 `json:"tx_bytes"`
	TxPackets uint64 `json:"tx_packets"`
	TxErrors  uint64 `json:"tx_errors"`
	TxDropped uint64 `json:"tx_dropped"`
}

type Statistics

type Statistics struct {
	Network     []NetworkInterface             `json:"network"`
	Connection  TcpInterface                   `json:"connection"` //TCP, TCP6 connection stats
	CgroupStats *cgroups.Stats                 `json:"cgroups"`
	Labels      map[string]string              `json:"labels"`
	Filesystem  map[string]FilesystemInterface `json:"filesystem"`
}

func NewStatistics

func NewStatistics() *Statistics

type Stats

type Stats interface {
	GetStats(path string, stats *cgroups.Stats) error
}

type TcpInterface

type TcpInterface struct {
	Tcp  TcpStat `json:"tcp"`  // TCP connection stats (Established, Listen, etc.)
	Tcp6 TcpStat `json:"tcp6"` // TCP6 connection stats (Established, Listen, etc.)
}

type TcpStat

type TcpStat struct {
	//Count of TCP connections in state "Established"
	Established uint64 `json:"established"`
	//Count of TCP connections in state "Syn_Sent"
	SynSent uint64 `json:"syn_sent"`
	//Count of TCP connections in state "Syn_Recv"
	SynRecv uint64 `json:"syn_recv"`
	//Count of TCP connections in state "Fin_Wait1"
	FinWait1 uint64 `json:"fin_wait1"`
	//Count of TCP connections in state "Fin_Wait2"
	FinWait2 uint64 `json:"fin_wait2"`
	//Count of TCP connections in state "Time_Wait
	TimeWait uint64 `json:"time_wait"`
	//Count of TCP connections in state "Close"
	Close uint64 `json:"close"`
	//Count of TCP connections in state "Close_Wait"
	CloseWait uint64 `json:"close_wait"`
	//Count of TCP connections in state "Listen_Ack"
	LastAck uint64 `json:"last_ack"`
	//Count of TCP connections in state "Listen"
	Listen uint64 `json:"listen"`
	//Count of TCP connections in state "Closing"
	Closing uint64 `json:"closing"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL