Merge pull request #123599 from bobbypage/bump-cadvisor-v0.49.0
Bump cAdvisor to v0.49.0
This commit is contained in:
		
							
								
								
									
										2
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								go.mod
									
									
									
									
									
								
							@@ -35,7 +35,7 @@ require (
 | 
			
		||||
	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
 | 
			
		||||
	github.com/golang/mock v1.6.0
 | 
			
		||||
	github.com/golang/protobuf v1.5.3
 | 
			
		||||
	github.com/google/cadvisor v0.48.1
 | 
			
		||||
	github.com/google/cadvisor v0.49.0
 | 
			
		||||
	github.com/google/cel-go v0.17.8
 | 
			
		||||
	github.com/google/gnostic-models v0.6.8
 | 
			
		||||
	github.com/google/go-cmp v0.6.0
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								go.sum
									
									
									
									
									
								
							@@ -294,8 +294,8 @@ github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK
 | 
			
		||||
github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
 | 
			
		||||
github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
 | 
			
		||||
github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
 | 
			
		||||
github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE=
 | 
			
		||||
github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 | 
			
		||||
github.com/docker/docker v20.10.27+incompatible h1:Id/ZooynV4ZlD6xX20RCd3SR0Ikn7r4QZDa2ECK2TgA=
 | 
			
		||||
github.com/docker/docker v20.10.27+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
 | 
			
		||||
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
 | 
			
		||||
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
 | 
			
		||||
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
 | 
			
		||||
@@ -428,8 +428,8 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z
 | 
			
		||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
 | 
			
		||||
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
 | 
			
		||||
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
 | 
			
		||||
github.com/google/cadvisor v0.48.1 h1:eyYTxKBd+KxI1kh6rst4JSTLUhfHQM34qGpp+0AMlSg=
 | 
			
		||||
github.com/google/cadvisor v0.48.1/go.mod h1:ZkYbiiVdyoqBmI2ahZI8GlmirT78OAOER0z4EQugkxQ=
 | 
			
		||||
github.com/google/cadvisor v0.49.0 h1:1PYeiORXmcFYi609M4Qvq5IzcvcVaWgYxDt78uH8jYA=
 | 
			
		||||
github.com/google/cadvisor v0.49.0/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk=
 | 
			
		||||
github.com/google/cel-go v0.17.8 h1:j9m730pMZt1Fc4oKhCLUHfjj6527LuhYcYw0Rl8gqto=
 | 
			
		||||
github.com/google/cel-go v0.17.8/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY=
 | 
			
		||||
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								vendor/github.com/google/cadvisor/container/crio/client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								vendor/github.com/google/cadvisor/container/crio/client.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -44,6 +44,7 @@ var (
 | 
			
		||||
type Info struct {
 | 
			
		||||
	StorageDriver string `json:"storage_driver"`
 | 
			
		||||
	StorageRoot   string `json:"storage_root"`
 | 
			
		||||
	StorageImage  string `json:"storage_image"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ContainerInfo represents a given container information
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								vendor/github.com/google/cadvisor/container/crio/factory.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/google/cadvisor/container/crio/factory.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -32,6 +32,9 @@ import (
 | 
			
		||||
// The namespace under which crio aliases are unique.
 | 
			
		||||
const CrioNamespace = "crio"
 | 
			
		||||
 | 
			
		||||
// The namespace suffix under which crio aliases are unique.
 | 
			
		||||
const CrioNamespaceSuffix = ".scope"
 | 
			
		||||
 | 
			
		||||
// The namespace systemd runs components under.
 | 
			
		||||
const SystemdNamespace = "system-systemd"
 | 
			
		||||
 | 
			
		||||
@@ -114,16 +117,21 @@ func (f *crioFactory) CanHandleAndAccept(name string) (bool, bool, error) {
 | 
			
		||||
		// TODO(runcom): should we include crio-conmon cgroups?
 | 
			
		||||
		return false, false, nil
 | 
			
		||||
	}
 | 
			
		||||
	if !strings.HasPrefix(path.Base(name), CrioNamespace) {
 | 
			
		||||
		return false, false, nil
 | 
			
		||||
	}
 | 
			
		||||
	if strings.HasPrefix(path.Base(name), SystemdNamespace) {
 | 
			
		||||
		return true, false, nil
 | 
			
		||||
	}
 | 
			
		||||
	if !strings.HasPrefix(path.Base(name), CrioNamespace) {
 | 
			
		||||
		return false, false, nil
 | 
			
		||||
	}
 | 
			
		||||
	// if the container is not associated with CRI-O, we can't handle it or accept it.
 | 
			
		||||
	if !isContainerName(name) {
 | 
			
		||||
		return false, false, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if !strings.HasSuffix(path.Base(name), CrioNamespaceSuffix) {
 | 
			
		||||
		// this mean it's a sandbox container
 | 
			
		||||
		return true, false, nil
 | 
			
		||||
	}
 | 
			
		||||
	return true, true, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/google/cadvisor/container/crio/plugin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/google/cadvisor/container/crio/plugin.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -40,7 +40,7 @@ func (p *plugin) InitializeFSContext(context *fs.Context) error {
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		klog.V(5).Infof("CRI-O not connected: %v", err)
 | 
			
		||||
	} else {
 | 
			
		||||
		context.Crio = fs.CrioContext{Root: crioInfo.StorageRoot}
 | 
			
		||||
		context.Crio = fs.CrioContext{Root: crioInfo.StorageRoot, ImageStore: crioInfo.StorageImage, Driver: crioInfo.StorageDriver}
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										28
									
								
								vendor/github.com/google/cadvisor/fs/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								vendor/github.com/google/cadvisor/fs/fs.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -43,6 +43,7 @@ const (
 | 
			
		||||
	LabelSystemRoot          = "root"
 | 
			
		||||
	LabelDockerImages        = "docker-images"
 | 
			
		||||
	LabelCrioImages          = "crio-images"
 | 
			
		||||
	LabelCrioContainers      = "crio-containers"
 | 
			
		||||
	DriverStatusPoolName     = "Pool Name"
 | 
			
		||||
	DriverStatusDataLoopFile = "Data loop file"
 | 
			
		||||
)
 | 
			
		||||
@@ -295,14 +296,37 @@ func (i *RealFsInfo) addDockerImagesLabel(context Context, mounts []*mount.Info)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (i *RealFsInfo) addCrioImagesLabel(context Context, mounts []*mount.Info) {
 | 
			
		||||
	labelCrioImageOrContainers := LabelCrioContainers
 | 
			
		||||
	// If imagestore is not specified, let's fall back to the original case.
 | 
			
		||||
	// Everything will be stored in crio-images
 | 
			
		||||
	if context.Crio.ImageStore == "" {
 | 
			
		||||
		labelCrioImageOrContainers = LabelCrioImages
 | 
			
		||||
	}
 | 
			
		||||
	if context.Crio.Root != "" {
 | 
			
		||||
		crioPath := context.Crio.Root
 | 
			
		||||
		crioImagePaths := map[string]struct{}{
 | 
			
		||||
			"/": {},
 | 
			
		||||
		}
 | 
			
		||||
		for _, dir := range []string{"devicemapper", "btrfs", "aufs", "overlay", "zfs"} {
 | 
			
		||||
			crioImagePaths[path.Join(crioPath, dir+"-images")] = struct{}{}
 | 
			
		||||
		imageOrContainerPath := context.Crio.Driver + "-containers"
 | 
			
		||||
		if context.Crio.ImageStore == "" {
 | 
			
		||||
			// If ImageStore is not specified then we will assume ImageFs is complete separate.
 | 
			
		||||
			// No need to split the image store.
 | 
			
		||||
			imageOrContainerPath = context.Crio.Driver + "-images"
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
		crioImagePaths[path.Join(crioPath, imageOrContainerPath)] = struct{}{}
 | 
			
		||||
		for crioPath != "/" && crioPath != "." {
 | 
			
		||||
			crioImagePaths[crioPath] = struct{}{}
 | 
			
		||||
			crioPath = filepath.Dir(crioPath)
 | 
			
		||||
		}
 | 
			
		||||
		i.updateContainerImagesPath(labelCrioImageOrContainers, mounts, crioImagePaths)
 | 
			
		||||
	}
 | 
			
		||||
	if context.Crio.ImageStore != "" {
 | 
			
		||||
		crioPath := context.Crio.ImageStore
 | 
			
		||||
		crioImagePaths := map[string]struct{}{
 | 
			
		||||
			"/": {},
 | 
			
		||||
		}
 | 
			
		||||
		crioImagePaths[path.Join(crioPath, context.Crio.Driver+"-images")] = struct{}{}
 | 
			
		||||
		for crioPath != "/" && crioPath != "." {
 | 
			
		||||
			crioImagePaths[crioPath] = struct{}{}
 | 
			
		||||
			crioPath = filepath.Dir(crioPath)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/github.com/google/cadvisor/fs/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/github.com/google/cadvisor/fs/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -38,7 +38,9 @@ type PodmanContext struct {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type CrioContext struct {
 | 
			
		||||
	Root string
 | 
			
		||||
	Root       string
 | 
			
		||||
	ImageStore string
 | 
			
		||||
	Driver     string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type DeviceInfo struct {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								vendor/github.com/google/cadvisor/perf/collector_libpfm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/google/cadvisor/perf/collector_libpfm.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -253,9 +253,9 @@ func (c *collector) createLeaderFileDescriptors(events []Event, cgroupFd int, gr
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func readPerfEventAttr(name string, pfmGetOsEventEncoding func(string, unsafe.Pointer) error) (*unix.PerfEventAttr, error) {
 | 
			
		||||
	perfEventAttrMemory := C.malloc(C.ulong(unsafe.Sizeof(unix.PerfEventAttr{})))
 | 
			
		||||
	perfEventAttrMemory := C.malloc(C.size_t(unsafe.Sizeof(unix.PerfEventAttr{})))
 | 
			
		||||
	// Fill memory with 0 values.
 | 
			
		||||
	C.memset(perfEventAttrMemory, 0, C.ulong(unsafe.Sizeof(unix.PerfEventAttr{})))
 | 
			
		||||
	C.memset(perfEventAttrMemory, 0, C.size_t(unsafe.Sizeof(unix.PerfEventAttr{})))
 | 
			
		||||
	err := pfmGetOsEventEncoding(name, unsafe.Pointer(perfEventAttrMemory))
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, err
 | 
			
		||||
@@ -269,7 +269,7 @@ func pfmGetOsEventEncoding(name string, perfEventAttrMemory unsafe.Pointer) erro
 | 
			
		||||
	defer C.free(unsafe.Pointer(fstr))
 | 
			
		||||
	event.fstr = unsafe.Pointer(fstr)
 | 
			
		||||
	event.attr = perfEventAttrMemory
 | 
			
		||||
	event.size = C.ulong(unsafe.Sizeof(event))
 | 
			
		||||
	event.size = C.size_t(unsafe.Sizeof(event))
 | 
			
		||||
	cSafeName := C.CString(name)
 | 
			
		||||
	defer C.free(unsafe.Pointer(cSafeName))
 | 
			
		||||
	pErr := C.pfm_get_os_event_encoding(cSafeName, C.PFM_PLM0|C.PFM_PLM3, C.PFM_OS_PERF_EVENT, unsafe.Pointer(&event))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/github.com/google/cadvisor/stats/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/google/cadvisor/stats/types.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -22,7 +22,7 @@ import info "github.com/google/cadvisor/info/v1"
 | 
			
		||||
// For each container detected by the cAdvisor manager, it will call
 | 
			
		||||
// GetCollector() with the devices cgroup path for that container.
 | 
			
		||||
// GetCollector() is supposed to return an object that can update
 | 
			
		||||
// accelerator stats for that container.
 | 
			
		||||
// external stats for that container.
 | 
			
		||||
type Manager interface {
 | 
			
		||||
	Destroy()
 | 
			
		||||
	GetCollector(deviceCgroup string) (Collector, error)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/modules.txt
									
									
									
									
										vendored
									
									
								
							@@ -266,7 +266,7 @@ github.com/golang/protobuf/ptypes/wrappers
 | 
			
		||||
# github.com/google/btree v1.0.1
 | 
			
		||||
## explicit; go 1.12
 | 
			
		||||
github.com/google/btree
 | 
			
		||||
# github.com/google/cadvisor v0.48.1
 | 
			
		||||
# github.com/google/cadvisor v0.49.0
 | 
			
		||||
## explicit; go 1.19
 | 
			
		||||
github.com/google/cadvisor/cache/memory
 | 
			
		||||
github.com/google/cadvisor/client/v2
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user