 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
      Index ¶
- func EnterPid(cgroupPaths map[string]string, pid int) error
- func FindCgroupMountpoint(subsystem string) (string, error)
- func FindCgroupMountpointDir() (string, error)
- func GetAllSubsystems() ([]string, error)
- func GetHugePageSize() ([]string, error)
- func GetInitCgroupDir(subsystem string) (string, error)
- func GetThisCgroupDir(subsystem string) (string, error)
- func IsNotFound(err error) bool
- func NewNotFoundError(sub string) error
- func ParseCgroupFile(subsystem string, r io.Reader) (string, error)
- func PathExists(path string) bool
- func ReadProcsFile(dir string) ([]int, error)
- func RemovePaths(paths map[string]string) (err error)
- type BlkioStatEntry
- type BlkioStats
- type CpuStats
- type CpuUsage
- type HugetlbStats
- type Manager
- type MemoryData
- type MemoryStats
- type Mount
- type NotFoundError
- type Stats
- type ThrottlingData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindCgroupMountpointDir ¶ added in v0.16.0
func GetAllSubsystems ¶
Returns all the cgroup subsystems supported by the kernel
func GetHugePageSize ¶ added in v1.1.1
func GetInitCgroupDir ¶
func GetThisCgroupDir ¶
Returns the relative path to the cgroup docker is running in.
func IsNotFound ¶
func NewNotFoundError ¶
func PathExists ¶
func ReadProcsFile ¶
func RemovePaths ¶
RemovePaths iterates over the provided paths removing them. We trying to remove all paths five times with increasing delay between tries. If after all there are not removed cgroups - appropriate error will be returned.
Types ¶
type BlkioStatEntry ¶
type BlkioStats ¶
type BlkioStats struct {
	// number of bytes tranferred to and from the block device
	IoServiceBytesRecursive []BlkioStatEntry `json:"io_service_bytes_recursive,omitempty"`
	IoServicedRecursive     []BlkioStatEntry `json:"io_serviced_recursive,omitempty"`
	IoQueuedRecursive       []BlkioStatEntry `json:"io_queue_recursive,omitempty"`
	IoServiceTimeRecursive  []BlkioStatEntry `json:"io_service_time_recursive,omitempty"`
	IoWaitTimeRecursive     []BlkioStatEntry `json:"io_wait_time_recursive,omitempty"`
	IoMergedRecursive       []BlkioStatEntry `json:"io_merged_recursive,omitempty"`
	IoTimeRecursive         []BlkioStatEntry `json:"io_time_recursive,omitempty"`
	SectorsRecursive        []BlkioStatEntry `json:"sectors_recursive,omitempty"`
}
    type CpuStats ¶
type CpuStats struct {
	CpuUsage       CpuUsage       `json:"cpu_usage,omitempty"`
	ThrottlingData ThrottlingData `json:"throttling_data,omitempty"`
}
    type CpuUsage ¶
type CpuUsage struct {
	// Total CPU time consumed.
	// Units: nanoseconds.
	TotalUsage uint64 `json:"total_usage,omitempty"`
	// Total CPU time consumed per core.
	// Units: nanoseconds.
	PercpuUsage []uint64 `json:"percpu_usage,omitempty"`
	// Time spent by tasks of the cgroup in kernel mode.
	// Units: nanoseconds.
	UsageInKernelmode uint64 `json:"usage_in_kernelmode"`
	// Time spent by tasks of the cgroup in user mode.
	// Units: nanoseconds.
	UsageInUsermode uint64 `json:"usage_in_usermode"`
}
    All CPU stats are aggregate since container inception.
type HugetlbStats ¶ added in v1.1.1
type Manager ¶ added in v0.16.0
type Manager interface {
	// Apply cgroup configuration to the process with the specified pid
	Apply(pid int) error
	// Returns the PIDs inside the cgroup set
	GetPids() ([]int, error)
	// Returns statistics for the cgroup set
	GetStats() (*Stats, error)
	// Toggles the freezer cgroup according with specified state
	Freeze(state configs.FreezerState) error
	// Destroys the cgroup set
	Destroy() error
	// Returns cgroup paths to save in a state file and to be able to
	// restore the object later.
	GetPaths() map[string]string
	// Set the cgroup as configured.
	Set(container *configs.Config) error
}
    type MemoryData ¶ added in v1.1.1
type MemoryStats ¶
type MemoryStats struct {
	// memory used for cache
	Cache uint64 `json:"cache,omitempty"`
	// usage of memory
	Usage MemoryData `json:"usage,omitempty"`
	// usage of memory + swap
	SwapUsage MemoryData `json:"swap_usage,omitempty"`
	// usafe of kernel memory
	KernelUsage MemoryData        `json:"kernel_usage,omitempty"`
	Stats       map[string]uint64 `json:"stats,omitempty"`
}
    type NotFoundError ¶
type NotFoundError struct {
	Subsystem string
}
    func (*NotFoundError) Error ¶
func (e *NotFoundError) Error() string
type Stats ¶
type Stats struct {
	CpuStats    CpuStats    `json:"cpu_stats,omitempty"`
	MemoryStats MemoryStats `json:"memory_stats,omitempty"`
	BlkioStats  BlkioStats  `json:"blkio_stats,omitempty"`
	// the map is in the format "size of hugepage: stats of the hugepage"
	HugetlbStats map[string]HugetlbStats `json:"hugetlb_stats,omitempty"`
}
    type ThrottlingData ¶
type ThrottlingData struct {
	// Number of periods with throttling active
	Periods uint64 `json:"periods,omitempty"`
	// Number of periods when the container hit its throttling limit.
	ThrottledPeriods uint64 `json:"throttled_periods,omitempty"`
	// Aggregate time the container was throttled for in nanoseconds.
	ThrottledTime uint64 `json:"throttled_time,omitempty"`
}
     Click to show internal directories. 
   Click to hide internal directories.