2016-12-16 17:03:35 +00:00
|
|
|
package runc
|
|
|
|
|
|
|
|
type Event struct {
|
2017-01-20 21:42:14 +00:00
|
|
|
// Type are the event type generated by runc
|
|
|
|
// If the type is "error" then check the Err field on the event for
|
|
|
|
// the actual error
|
2016-12-16 17:03:35 +00:00
|
|
|
Type string `json:"type"`
|
|
|
|
ID string `json:"id"`
|
|
|
|
Stats *Stats `json:"data,omitempty"`
|
2017-01-20 21:42:14 +00:00
|
|
|
// Err has a read error if we were unable to decode the event from runc
|
|
|
|
Err error `json:"-"`
|
2016-12-16 17:03:35 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type Stats struct {
|
|
|
|
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"`
|
|
|
|
}
|