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"`
|
||
|
}
|