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
	 David Porter
					David Porter