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)