deps: Bump cAdvisor to v0.46.0
Signed-off-by: David Porter <david@porter.me>
This commit is contained in:
1
vendor/github.com/google/cadvisor/accelerators/nvidia.go
generated
vendored
1
vendor/github.com/google/cadvisor/accelerators/nvidia.go
generated
vendored
@@ -11,6 +11,7 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package accelerators
|
||||
|
||||
import (
|
||||
|
3
vendor/github.com/google/cadvisor/container/containerd/client.go
generated
vendored
3
vendor/github.com/google/cadvisor/container/containerd/client.go
generated
vendored
@@ -25,6 +25,7 @@ import (
|
||||
ptypes "github.com/gogo/protobuf/types"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/backoff"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
|
||||
"github.com/google/cadvisor/container/containerd/containers"
|
||||
"github.com/google/cadvisor/container/containerd/errdefs"
|
||||
@@ -77,7 +78,7 @@ func Client(address, namespace string) (ContainerdClient, error) {
|
||||
connParams.Backoff.BaseDelay = baseBackoffDelay
|
||||
connParams.Backoff.MaxDelay = maxBackoffDelay
|
||||
gopts := []grpc.DialOption{
|
||||
grpc.WithInsecure(),
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
grpc.WithContextDialer(dialer.ContextDialer),
|
||||
grpc.WithBlock(),
|
||||
grpc.WithConnectParams(connParams),
|
||||
|
2
vendor/github.com/google/cadvisor/container/containerd/grpc.go
generated
vendored
2
vendor/github.com/google/cadvisor/container/containerd/grpc.go
generated
vendored
@@ -12,7 +12,7 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//This code has been taken from containerd repo to avoid large library import
|
||||
// This code has been taken from containerd repo to avoid large library import
|
||||
package containerd
|
||||
|
||||
import (
|
||||
|
2
vendor/github.com/google/cadvisor/container/containerd/namespaces/store.go
generated
vendored
2
vendor/github.com/google/cadvisor/container/containerd/namespaces/store.go
generated
vendored
@@ -37,8 +37,6 @@ import "context"
|
||||
// oriented. A namespace is really just a name and a set of labels. Objects
|
||||
// that belong to a namespace are returned when the namespace is assigned to a
|
||||
// given context.
|
||||
//
|
||||
//
|
||||
type Store interface {
|
||||
Create(ctx context.Context, namespace string, labels map[string]string) error
|
||||
Labels(ctx context.Context, namespace string) (map[string]string, error)
|
||||
|
1
vendor/github.com/google/cadvisor/devicemapper/dmsetup_client.go
generated
vendored
1
vendor/github.com/google/cadvisor/devicemapper/dmsetup_client.go
generated
vendored
@@ -11,6 +11,7 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package devicemapper
|
||||
|
||||
import (
|
||||
|
1
vendor/github.com/google/cadvisor/devicemapper/thin_ls_client.go
generated
vendored
1
vendor/github.com/google/cadvisor/devicemapper/thin_ls_client.go
generated
vendored
@@ -11,6 +11,7 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package devicemapper
|
||||
|
||||
import (
|
||||
|
1
vendor/github.com/google/cadvisor/devicemapper/thin_pool_watcher.go
generated
vendored
1
vendor/github.com/google/cadvisor/devicemapper/thin_pool_watcher.go
generated
vendored
@@ -11,6 +11,7 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package devicemapper
|
||||
|
||||
import (
|
||||
|
1
vendor/github.com/google/cadvisor/devicemapper/util.go
generated
vendored
1
vendor/github.com/google/cadvisor/devicemapper/util.go
generated
vendored
@@ -11,6 +11,7 @@
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package devicemapper
|
||||
|
||||
import (
|
||||
|
1
vendor/github.com/google/cadvisor/info/v1/machine.go
generated
vendored
1
vendor/github.com/google/cadvisor/info/v1/machine.go
generated
vendored
@@ -44,6 +44,7 @@ type Node struct {
|
||||
HugePages []HugePagesInfo `json:"hugepages"`
|
||||
Cores []Core `json:"cores"`
|
||||
Caches []Cache `json:"caches"`
|
||||
Distances []uint64 `json:"distances"`
|
||||
}
|
||||
|
||||
type Core struct {
|
||||
|
8
vendor/github.com/google/cadvisor/metrics/prometheus_fake.go
generated
vendored
8
vendor/github.com/google/cadvisor/metrics/prometheus_fake.go
generated
vendored
@@ -153,6 +153,10 @@ func (p testSubcontainersInfoProvider) GetMachineInfo() (*info.MachineInfo, erro
|
||||
},
|
||||
},
|
||||
},
|
||||
Distances: []uint64{
|
||||
10,
|
||||
12,
|
||||
},
|
||||
},
|
||||
{
|
||||
Id: 1,
|
||||
@@ -260,6 +264,10 @@ func (p testSubcontainersInfoProvider) GetMachineInfo() (*info.MachineInfo, erro
|
||||
Level: 3,
|
||||
},
|
||||
},
|
||||
Distances: []uint64{
|
||||
12,
|
||||
10,
|
||||
},
|
||||
},
|
||||
},
|
||||
}, nil
|
||||
|
40
vendor/github.com/google/cadvisor/metrics/prometheus_machine.go
generated
vendored
40
vendor/github.com/google/cadvisor/metrics/prometheus_machine.go
generated
vendored
@@ -28,13 +28,14 @@ import (
|
||||
var baseLabelsNames = []string{"machine_id", "system_uuid", "boot_id"}
|
||||
|
||||
const (
|
||||
prometheusModeLabelName = "mode"
|
||||
prometheusTypeLabelName = "type"
|
||||
prometheusLevelLabelName = "level"
|
||||
prometheusNodeLabelName = "node_id"
|
||||
prometheusCoreLabelName = "core_id"
|
||||
prometheusThreadLabelName = "thread_id"
|
||||
prometheusPageSizeLabelName = "page_size"
|
||||
prometheusModeLabelName = "mode"
|
||||
prometheusTypeLabelName = "type"
|
||||
prometheusLevelLabelName = "level"
|
||||
prometheusNodeLabelName = "node_id"
|
||||
prometheusCoreLabelName = "core_id"
|
||||
prometheusThreadLabelName = "thread_id"
|
||||
prometheusPageSizeLabelName = "page_size"
|
||||
prometheusTargetNodeLabelName = "target_node_id"
|
||||
|
||||
nvmMemoryMode = "memory_mode"
|
||||
nvmAppDirectMode = "app_direct_mode"
|
||||
@@ -191,6 +192,15 @@ func NewPrometheusMachineCollector(i infoProvider, includedMetrics container.Met
|
||||
return getHugePagesCount(machineInfo)
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "machine_node_distance",
|
||||
help: "Distance between NUMA node and target NUMA node.",
|
||||
valueType: prometheus.GaugeValue,
|
||||
extraLabels: []string{prometheusNodeLabelName, prometheusTargetNodeLabelName},
|
||||
getValues: func(machineInfo *info.MachineInfo) metricValues {
|
||||
return getDistance(machineInfo)
|
||||
},
|
||||
},
|
||||
}...)
|
||||
}
|
||||
return c
|
||||
@@ -356,3 +366,19 @@ func getCaches(machineInfo *info.MachineInfo) metricValues {
|
||||
}
|
||||
return mValues
|
||||
}
|
||||
|
||||
func getDistance(machineInfo *info.MachineInfo) metricValues {
|
||||
mValues := make(metricValues, 0, len(machineInfo.Topology)^2)
|
||||
for _, node := range machineInfo.Topology {
|
||||
nodeID := strconv.Itoa(node.Id)
|
||||
for i, target := range node.Distances {
|
||||
mValues = append(mValues,
|
||||
metricValue{
|
||||
value: float64(target),
|
||||
labels: []string{nodeID, strconv.Itoa(i)},
|
||||
timestamp: machineInfo.Timestamp,
|
||||
})
|
||||
}
|
||||
}
|
||||
return mValues
|
||||
}
|
||||
|
15
vendor/github.com/google/cadvisor/utils/sysfs/sysfs.go
generated
vendored
15
vendor/github.com/google/cadvisor/utils/sysfs/sysfs.go
generated
vendored
@@ -38,6 +38,8 @@ const (
|
||||
|
||||
meminfoFile = "meminfo"
|
||||
|
||||
distanceFile = "distance"
|
||||
|
||||
sysFsCPUTopology = "topology"
|
||||
|
||||
// CPUPhysicalPackageID is a physical package id of cpu#. Typically corresponds to a physical socket number,
|
||||
@@ -113,6 +115,10 @@ type SysFs interface {
|
||||
GetCacheInfo(cpu int, cache string) (CacheInfo, error)
|
||||
|
||||
GetSystemUUID() (string, error)
|
||||
|
||||
// GetDistances returns distance array
|
||||
GetDistances(string) (string, error)
|
||||
|
||||
// IsCPUOnline determines if CPU status from kernel hotplug machanism standpoint.
|
||||
// See: https://www.kernel.org/doc/html/latest/core-api/cpu_hotplug.html
|
||||
IsCPUOnline(dir string) bool
|
||||
@@ -161,6 +167,15 @@ func (fs *realSysFs) GetMemInfo(nodePath string) (string, error) {
|
||||
return strings.TrimSpace(string(meminfo)), err
|
||||
}
|
||||
|
||||
func (fs *realSysFs) GetDistances(nodePath string) (string, error) {
|
||||
distancePath := fmt.Sprintf("%s/%s", nodePath, distanceFile)
|
||||
distance, err := ioutil.ReadFile(distancePath)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return strings.TrimSpace(string(distance)), err
|
||||
}
|
||||
|
||||
func (fs *realSysFs) GetHugePagesInfo(hugePagesDirectory string) ([]os.FileInfo, error) {
|
||||
return ioutil.ReadDir(hugePagesDirectory)
|
||||
}
|
||||
|
26
vendor/github.com/google/cadvisor/utils/sysinfo/sysinfo.go
generated
vendored
26
vendor/github.com/google/cadvisor/utils/sysinfo/sysinfo.go
generated
vendored
@@ -243,6 +243,11 @@ func GetNodesInfo(sysFs sysfs.SysFs) ([]info.Node, int, error) {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
node.Distances, err = getDistances(sysFs, nodeDir)
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
|
||||
nodes = append(nodes, node)
|
||||
}
|
||||
return nodes, allLogicalCoresCount, err
|
||||
@@ -391,6 +396,27 @@ func getNodeMemInfo(sysFs sysfs.SysFs, nodeDir string) (uint64, error) {
|
||||
return uint64(memory), nil
|
||||
}
|
||||
|
||||
// getDistances returns information about distances between NUMA nodes
|
||||
func getDistances(sysFs sysfs.SysFs, nodeDir string) ([]uint64, error) {
|
||||
rawDistance, err := sysFs.GetDistances(nodeDir)
|
||||
if err != nil {
|
||||
//Ignore if per-node info is not available.
|
||||
klog.Warningf("Found node without distance information, nodeDir: %s", nodeDir)
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
distances := []uint64{}
|
||||
for _, distance := range strings.Split(rawDistance, " ") {
|
||||
distanceUint, err := strconv.ParseUint(distance, 10, 64)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("cannot convert %s to int", distance)
|
||||
}
|
||||
distances = append(distances, distanceUint)
|
||||
}
|
||||
|
||||
return distances, nil
|
||||
}
|
||||
|
||||
// getCoresInfo returns information about physical cores
|
||||
func getCoresInfo(sysFs sysfs.SysFs, cpuDirs []string) ([]info.Core, error) {
|
||||
cores := make([]info.Core, 0, len(cpuDirs))
|
||||
|
Reference in New Issue
Block a user