Documentation ¶
Overview ¶
Unmarshal's a Containers description json file. The json file contains an array of ContainerHint structs, each with a container's id and networkInterface This allows collecting stats about network interfaces configured outside docker and lxc
Handler for Docker containers.
Index ¶
- Constants
- Variables
- func AssignDeviceNamesToDiskStats(namer DeviceNamer, stats *info.DiskIoStats)
- func CgroupExists(cgroupPaths map[string]string) bool
- func DebugInfo(watches map[string][]string) map[string][]string
- func GetSpec(cgroupPaths map[string]string, machineInfoFactory info.MachineInfoFactory, ...) (info.ContainerSpec, error)
- func ListContainers(name string, cgroupPaths map[string]string, listType container.ListType) ([]info.ContainerReference, error)
- func ListDirectories(dirpath string, parent string, recursive bool, output map[string]struct{}) error
- func MakeCgroupPaths(mountPoints map[string]string, name string) map[string]string
- type ContainerHints
- type DeviceNamer
- type FsHandler
- type FsUsage
- type FsUsageProvider
- type InotifyWatcher
- func (iw *InotifyWatcher) AddWatch(containerName, dir string) (bool, error)
- func (iw *InotifyWatcher) Close() error
- func (iw *InotifyWatcher) Error() chan error
- func (iw *InotifyWatcher) Event() chan *inotify.Event
- func (iw *InotifyWatcher) GetWatches() map[string][]string
- func (iw *InotifyWatcher) RemoveWatch(containerName, dir string) (bool, error)
- type MachineInfoNamer
- type Mount
Constants ¶
const DefaultPeriod = time.Minute
Variables ¶
var ArgContainerHints = flag.String("container_hints", "/etc/cadvisor/container_hints.json", "location of the container hints file")
Functions ¶
func AssignDeviceNamesToDiskStats ¶ added in v0.26.0
func AssignDeviceNamesToDiskStats(namer DeviceNamer, stats *info.DiskIoStats)
AssignDeviceNamesToDiskStats assigns the Device field on the provided DiskIoStats by looking up the device major and minor identifiers in the provided device namer.
func CgroupExists ¶
func GetSpec ¶
func GetSpec(cgroupPaths map[string]string, machineInfoFactory info.MachineInfoFactory, hasNetwork, hasFilesystem bool) (info.ContainerSpec, error)
func ListContainers ¶ added in v0.23.1
Types ¶
type ContainerHints ¶ added in v0.37.0
type ContainerHints struct {
AllHosts []containerHint `json:"all_hosts,omitempty"`
}
func GetContainerHintsFromFile ¶
func GetContainerHintsFromFile(containerHintsFile string) (ContainerHints, error)
type DeviceNamer ¶ added in v0.26.0
type DeviceNamer interface { // DeviceName returns the name of the device by its major and minor ids, or false if no // such device is recognized. DeviceName(major, minor uint64) (string, bool) }
DeviceNamer returns string names for devices by their major and minor id.
type FsHandler ¶
type FsHandler interface { Start() Usage() FsUsage Stop() }
func NewFsHandler ¶
func NewFsHandler(period time.Duration, provider FsUsageProvider) FsHandler
type FsUsageProvider ¶ added in v0.42.0
type FsUsageProvider interface { // Usage returns the fs usage Usage() (*FsUsage, error) // Targets returns where the fs usage metric is collected,it maybe a directory, a file or some // information about the snapshotter(for containerd) Targets() []string }
func NewGeneralFsUsageProvider ¶ added in v0.42.0
func NewGeneralFsUsageProvider(fsInfo fs.FsInfo, rootFs, extraDir string) FsUsageProvider
type InotifyWatcher ¶
type InotifyWatcher struct {
// contains filtered or unexported fields
}
Watcher for container-related inotify events in the cgroup hierarchy.
Implementation is thread-safe.
func NewInotifyWatcher ¶
func NewInotifyWatcher() (*InotifyWatcher, error)
func (*InotifyWatcher) AddWatch ¶
func (iw *InotifyWatcher) AddWatch(containerName, dir string) (bool, error)
Add a watch to the specified directory. Returns if the container was already being watched.
func (*InotifyWatcher) Error ¶
func (iw *InotifyWatcher) Error() chan error
Errors are returned on this channel.
func (*InotifyWatcher) Event ¶
func (iw *InotifyWatcher) Event() chan *inotify.Event
Events are returned on this channel.
func (*InotifyWatcher) GetWatches ¶
func (iw *InotifyWatcher) GetWatches() map[string][]string
Returns a map of containers to the cgroup paths being watched.
func (*InotifyWatcher) RemoveWatch ¶
func (iw *InotifyWatcher) RemoveWatch(containerName, dir string) (bool, error)
Remove watch from the specified directory. Returns if this was the last watch on the specified container.
type MachineInfoNamer ¶ added in v0.26.0
type MachineInfoNamer info.MachineInfo
func (*MachineInfoNamer) DeviceName ¶ added in v0.26.0
func (n *MachineInfoNamer) DeviceName(major, minor uint64) (string, bool)