docker

package
v1.0.3-0...-c2e6ac5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2022 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDockerNotAvailable = errors.New("docker not available")
	ErrCgroupNotAvailable = errors.New("cgroup not available")
)

Functions

func CgroupCPUDockerUsageWithContext

func CgroupCPUDockerUsageWithContext(ctx context.Context, containerid string) (float64, error)

func CgroupCPUUsage

func CgroupCPUUsage(containerID string, base string) (float64, error)

CgroupCPUUsage returns specified cgroup id CPU usage. containerID is same as docker id if you use docker. If you use container via systemd.slice, you could use containerID = docker-<container id>.scope and base=/sys/fs/cgroup/cpuacct/system.slice/

func CgroupCPUUsageDocker

func CgroupCPUUsageDocker(containerid string) (float64, error)

func CgroupCPUUsageWithContext

func CgroupCPUUsageWithContext(ctx context.Context, containerID, base string) (float64, error)

func GetDockerIDList

func GetDockerIDList() ([]string, error)

GetDockerIDList returns a list of DockerID. This requires certain permission.

func GetDockerIDListWithContext

func GetDockerIDListWithContext(ctx context.Context) ([]string, error)

Types

type CgroupCPUStat

type CgroupCPUStat struct {
	cpu.TimesStat
	Usage float64
}

func CgroupCPU

func CgroupCPU(containerID string, base string) (*CgroupCPUStat, error)

CgroupCPU returns specified cgroup id CPU status. containerID is same as docker id if you use docker. If you use container via systemd.slice, you could use containerID = docker-<container id>.scope and base=/sys/fs/cgroup/cpuacct/system.slice/

func CgroupCPUDocker

func CgroupCPUDocker(containerid string) (*CgroupCPUStat, error)

func CgroupCPUDockerWithContext

func CgroupCPUDockerWithContext(ctx context.Context, containerid string) (*CgroupCPUStat, error)

func CgroupCPUWithContext

func CgroupCPUWithContext(ctx context.Context, containerID string, base string) (*CgroupCPUStat, error)

type CgroupDockerStat

type CgroupDockerStat struct {
	ContainerID string `json:"containerID"`
	Name        string `json:"name"`
	Image       string `json:"image"`
	Status      string `json:"status"`
	Running     bool   `json:"running"`
}

func GetDockerStat

func GetDockerStat() ([]CgroupDockerStat, error)

GetDockerStat returns a list of Docker basic stats. This requires certain permission.

func GetDockerStatWithContext

func GetDockerStatWithContext(ctx context.Context) ([]CgroupDockerStat, error)

func (CgroupDockerStat) String

func (c CgroupDockerStat) String() string

type CgroupMemStat

type CgroupMemStat struct {
	ContainerID             string `json:"containerID"`
	Cache                   uint64 `json:"cache"`
	RSS                     uint64 `json:"rss"`
	RSSHuge                 uint64 `json:"rssHuge"`
	MappedFile              uint64 `json:"mappedFile"`
	Pgpgin                  uint64 `json:"pgpgin"`
	Pgpgout                 uint64 `json:"pgpgout"`
	Pgfault                 uint64 `json:"pgfault"`
	Pgmajfault              uint64 `json:"pgmajfault"`
	InactiveAnon            uint64 `json:"inactiveAnon"`
	ActiveAnon              uint64 `json:"activeAnon"`
	InactiveFile            uint64 `json:"inactiveFile"`
	ActiveFile              uint64 `json:"activeFile"`
	Unevictable             uint64 `json:"unevictable"`
	HierarchicalMemoryLimit uint64 `json:"hierarchicalMemoryLimit"`
	TotalCache              uint64 `json:"totalCache"`
	TotalRSS                uint64 `json:"totalRss"`
	TotalRSSHuge            uint64 `json:"totalRssHuge"`
	TotalMappedFile         uint64 `json:"totalMappedFile"`
	TotalPgpgIn             uint64 `json:"totalPgpgin"`
	TotalPgpgOut            uint64 `json:"totalPgpgout"`
	TotalPgFault            uint64 `json:"totalPgfault"`
	TotalPgMajFault         uint64 `json:"totalPgmajfault"`
	TotalInactiveAnon       uint64 `json:"totalInactiveAnon"`
	TotalActiveAnon         uint64 `json:"totalActiveAnon"`
	TotalInactiveFile       uint64 `json:"totalInactiveFile"`
	TotalActiveFile         uint64 `json:"totalActiveFile"`
	TotalUnevictable        uint64 `json:"totalUnevictable"`
	MemUsageInBytes         uint64 `json:"memUsageInBytes"`
	MemMaxUsageInBytes      uint64 `json:"memMaxUsageInBytes"`
	MemLimitInBytes         uint64 `json:"memoryLimitInBytes"`
	MemFailCnt              uint64 `json:"memoryFailcnt"`
}

func CgroupMem

func CgroupMem(containerID string, base string) (*CgroupMemStat, error)

func CgroupMemDocker

func CgroupMemDocker(containerID string) (*CgroupMemStat, error)

func CgroupMemDockerWithContext

func CgroupMemDockerWithContext(ctx context.Context, containerID string) (*CgroupMemStat, error)

func CgroupMemWithContext

func CgroupMemWithContext(ctx context.Context, containerID string, base string) (*CgroupMemStat, error)

func (CgroupMemStat) String

func (m CgroupMemStat) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL