Documentation ¶
Index ¶
Constants ¶
View Source
const ( E_OK = iota E_VM_SHUTDOWN E_POD_RUNNING E_BAD_REQUEST E_FAILED E_EXEC_FINISHED E_CONTAINER_FINISHED E_NO_TTY E_JSON_PARSE_FAIL E_UNEXPECTED )
View Source
const ( S_POD_NONE = iota S_POD_CREATED S_POD_RUNNING S_POD_FAILED S_POD_SUCCEEDED S_POD_PAUSED S_VM_IDLE S_VM_ASSOCIATED S_VM_PAUSED )
status for POD or container
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BlkioStatEntry ¶
type BlkioStatEntry struct { Name string `json:"name"` Type string `json:"type"` Source string `json:"source"` Major uint64 `json:"major"` Minor uint64 `json:"minor"` Stat map[string]uint64 `json:"stat"` }
BlkioStatEntry is one small entity to store a piece of Blkio stats
type BlkioStats ¶
type BlkioStats struct { // number of bytes transferred to and from the block device IoServiceBytesRecursive []BlkioStatEntry `json:"io_service_bytes_recursive"` IoServicedRecursive []BlkioStatEntry `json:"io_serviced_recursive"` IoQueuedRecursive []BlkioStatEntry `json:"io_queue_recursive"` IoServiceTimeRecursive []BlkioStatEntry `json:"io_service_time_recursive"` IoWaitTimeRecursive []BlkioStatEntry `json:"io_wait_time_recursive"` IoMergedRecursive []BlkioStatEntry `json:"io_merged_recursive"` IoTimeRecursive []BlkioStatEntry `json:"io_time_recursive"` SectorsRecursive []BlkioStatEntry `json:"sectors_recursive"` }
BlkioStats stores All IO service stats for data read and write
type ContainerStats ¶
type ContainerStats struct { ContainerID string `json:"id"` Cpu CpuStats `json:"cpu,omitempty"` Block BlkioStats `json:"block,omitempty"` Memory MemoryStats `json:"memory,omitempty"` Network NetworkStats `json:"network,omitempty"` Filesystem []FsStats `json:"filesystem,omitempty"` Timestamp time.Time `json:"timestamp"` }
type CpuStats ¶
type CpuStats struct { Usage CpuUsage `json:"usage"` // Smoothed average of number of runnable threads x 1000. // We multiply by thousand to avoid using floats, but preserving precision. // Load is smoothed over the last 10 seconds. Instantaneous value can be read // from LoadStats.NrRunning. LoadAverage int32 `json:"load_average"` }
All CPU usage metrics are cumulative from the creation of the container
type CpuUsage ¶
type CpuUsage struct { // Total CPU usage. // Units: nanoseconds Total uint64 `json:"total"` // Per CPU/core usage of the container. // Unit: nanoseconds. PerCpu []uint64 `json:"per_cpu_usage,omitempty"` // Time spent in user space. // Unit: nanoseconds User uint64 `json:"user"` // Time spent in kernel space. // Unit: nanoseconds System uint64 `json:"system"` }
CPU usage time statistics.
type FsStats ¶
type FsStats struct { // The block device name associated with the filesystem. Device string `json:"device,omitempty"` // Number of bytes that can be consumed by the container on this filesystem. Limit uint64 `json:"capacity"` // Number of bytes that is consumed by the container on this filesystem. Usage uint64 `json:"usage"` // Number of bytes available for non-root user. Available uint64 `json:"available"` // Number of reads completed // This is the total number of reads completed successfully. ReadsCompleted uint64 `json:"reads_completed"` // Number of reads merged // Reads and writes which are adjacent to each other may be merged for // efficiency. Thus two 4K reads may become one 8K read before it is // ultimately handed to the disk, and so it will be counted (and queued) // as only one I/O. This field lets you know how often this was done. ReadsMerged uint64 `json:"reads_merged"` // Number of sectors read // This is the total number of sectors read successfully. SectorsRead uint64 `json:"sectors_read"` // Number of milliseconds spent reading // This is the total number of milliseconds spent by all reads (as // measured from __make_request() to end_that_request_last()). ReadTime uint64 `json:"read_time"` // Number of writes completed // This is the total number of writes completed successfully. WritesCompleted uint64 `json:"writes_completed"` // Number of writes merged // See the description of reads merged. WritesMerged uint64 `json:"writes_merged"` // Number of sectors written // This is the total number of sectors written successfully. SectorsWritten uint64 `json:"sectors_written"` // Number of milliseconds spent writing // This is the total number of milliseconds spent by all writes (as // measured from __make_request() to end_that_request_last()). WriteTime uint64 `json:"write_time"` // Number of I/Os currently in progress // The only field that should go to zero. Incremented as requests are // given to appropriate struct request_queue and decremented as they finish. IoInProgress uint64 `json:"io_in_progress"` // Number of milliseconds spent doing I/Os // This field increases so long as field 9 is nonzero. 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 InterfaceStats ¶
type InterfaceStats struct { // The name of the interface. Name string `json:"name"` // Cumulative count of bytes received. RxBytes uint64 `json:"rx_bytes"` // Cumulative count of packets received. RxPackets uint64 `json:"rx_packets"` // Cumulative count of receive errors encountered. RxErrors uint64 `json:"rx_errors"` // Cumulative count of packets dropped while receiving. RxDropped uint64 `json:"rx_dropped"` // Cumulative count of bytes transmitted. TxBytes uint64 `json:"tx_bytes"` // Cumulative count of packets transmitted. TxPackets uint64 `json:"tx_packets"` // Cumulative count of transmit errors encountered. TxErrors uint64 `json:"tx_errors"` // Cumulative count of packets dropped while transmitting. TxDropped uint64 `json:"tx_dropped"` }
type MemoryStats ¶
type MemoryStats struct { // Current memory usage, this includes all memory regardless of when it was // accessed. // Units: Bytes. Usage uint64 `json:"usage"` // The amount of working set memory, this includes recently accessed memory, // dirty memory, and kernel memory. Working set is <= "usage". // Units: Bytes. WorkingSet uint64 `json:"working_set"` Failcnt uint64 `json:"failcnt"` ContainerData MemoryStatsMemoryData `json:"container_data,omitempty"` HierarchicalData MemoryStatsMemoryData `json:"hierarchical_data,omitempty"` }
type MemoryStatsMemoryData ¶
type NetworkStats ¶
type NetworkStats struct { Interfaces []InterfaceStats `json:"interfaces,omitempty"` // TCP connection stats (Established, Listen...) Tcp TcpStat `json:"tcp"` // TCP6 connection stats (Established, Listen...) Tcp6 TcpStat `json:"tcp6"` }
type PodStats ¶
type PodStats struct { Cpu CpuStats `json:"cpu,omitempty"` Block BlkioStats `json:"block,omitempty"` Memory MemoryStats `json:"memory,omitempty"` Network NetworkStats `json:"network,omitempty"` Filesystem []FsStats `json:"filesystem,omitempty"` Timestamp time.Time `json:"timestamp"` ContainersStats []ContainerStats `json:"container_stats"` }
type ProcessFinished ¶ added in v0.6.2
type TcpStat ¶
type TcpStat struct { //Count of TCP connections in state "Established" Established uint64 //Count of TCP connections in state "Syn_Sent" SynSent uint64 //Count of TCP connections in state "Syn_Recv" SynRecv uint64 //Count of TCP connections in state "Fin_Wait1" FinWait1 uint64 //Count of TCP connections in state "Fin_Wait2" FinWait2 uint64 //Count of TCP connections in state "Time_Wait TimeWait uint64 //Count of TCP connections in state "Close" Close uint64 //Count of TCP connections in state "Close_Wait" CloseWait uint64 //Count of TCP connections in state "Listen_Ack" LastAck uint64 //Count of TCP connections in state "Listen" Listen uint64 //Count of TCP connections in state "Closing" Closing uint64 }
type VmResponse ¶
Click to show internal directories.
Click to hide internal directories.