 9ed8422e8c
			
		
	
	9ed8422e8c
	
	
	
		
			
			runc `events --stats` now has stable output so we don't need to bind to libcontainer directly to get stats output for the containers. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package runtime
 | |
| 
 | |
| import "time"
 | |
| 
 | |
| type Stat struct {
 | |
| 	// Timestamp is the time that the statistics where collected
 | |
| 	Timestamp time.Time
 | |
| 	Cpu       Cpu                `json:"cpu"`
 | |
| 	Memory    Memory             `json:"memory"`
 | |
| 	Pids      Pids               `json:"pids"`
 | |
| 	Blkio     Blkio              `json:"blkio"`
 | |
| 	Hugetlb   map[string]Hugetlb `json:"hugetlb"`
 | |
| }
 | |
| 
 | |
| type Hugetlb struct {
 | |
| 	Usage   uint64 `json:"usage,omitempty"`
 | |
| 	Max     uint64 `json:"max,omitempty"`
 | |
| 	Failcnt uint64 `json:"failcnt"`
 | |
| }
 | |
| 
 | |
| type BlkioEntry struct {
 | |
| 	Major uint64 `json:"major,omitempty"`
 | |
| 	Minor uint64 `json:"minor,omitempty"`
 | |
| 	Op    string `json:"op,omitempty"`
 | |
| 	Value uint64 `json:"value,omitempty"`
 | |
| }
 | |
| 
 | |
| type Blkio struct {
 | |
| 	IoServiceBytesRecursive []BlkioEntry `json:"ioServiceBytesRecursive,omitempty"`
 | |
| 	IoServicedRecursive     []BlkioEntry `json:"ioServicedRecursive,omitempty"`
 | |
| 	IoQueuedRecursive       []BlkioEntry `json:"ioQueueRecursive,omitempty"`
 | |
| 	IoServiceTimeRecursive  []BlkioEntry `json:"ioServiceTimeRecursive,omitempty"`
 | |
| 	IoWaitTimeRecursive     []BlkioEntry `json:"ioWaitTimeRecursive,omitempty"`
 | |
| 	IoMergedRecursive       []BlkioEntry `json:"ioMergedRecursive,omitempty"`
 | |
| 	IoTimeRecursive         []BlkioEntry `json:"ioTimeRecursive,omitempty"`
 | |
| 	SectorsRecursive        []BlkioEntry `json:"sectorsRecursive,omitempty"`
 | |
| }
 | |
| 
 | |
| type Pids struct {
 | |
| 	Current uint64 `json:"current,omitempty"`
 | |
| 	Limit   uint64 `json:"limit,omitempty"`
 | |
| }
 | |
| 
 | |
| type Throttling struct {
 | |
| 	Periods          uint64 `json:"periods,omitempty"`
 | |
| 	ThrottledPeriods uint64 `json:"throttledPeriods,omitempty"`
 | |
| 	ThrottledTime    uint64 `json:"throttledTime,omitempty"`
 | |
| }
 | |
| 
 | |
| type CpuUsage struct {
 | |
| 	// Units: nanoseconds.
 | |
| 	Total  uint64   `json:"total,omitempty"`
 | |
| 	Percpu []uint64 `json:"percpu,omitempty"`
 | |
| 	Kernel uint64   `json:"kernel"`
 | |
| 	User   uint64   `json:"user"`
 | |
| }
 | |
| 
 | |
| type Cpu struct {
 | |
| 	Usage      CpuUsage   `json:"usage,omitempty"`
 | |
| 	Throttling Throttling `json:"throttling,omitempty"`
 | |
| }
 | |
| 
 | |
| type MemoryEntry struct {
 | |
| 	Limit   uint64 `json:"limit"`
 | |
| 	Usage   uint64 `json:"usage,omitempty"`
 | |
| 	Max     uint64 `json:"max,omitempty"`
 | |
| 	Failcnt uint64 `json:"failcnt"`
 | |
| }
 | |
| 
 | |
| type Memory struct {
 | |
| 	Cache     uint64            `json:"cache,omitempty"`
 | |
| 	Usage     MemoryEntry       `json:"usage,omitempty"`
 | |
| 	Swap      MemoryEntry       `json:"swap,omitempty"`
 | |
| 	Kernel    MemoryEntry       `json:"kernel,omitempty"`
 | |
| 	KernelTCP MemoryEntry       `json:"kernelTCP,omitempty"`
 | |
| 	Raw       map[string]uint64 `json:"raw,omitempty"`
 | |
| }
 |