github.com/kubewharf/katalyst-core@v0.5.3/pkg/util/machine/machine.go (about)

     1  /*
     2  Copyright 2022 The Katalyst Authors.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package machine
    18  
    19  import (
    20  	info "github.com/google/cadvisor/info/v1"
    21  )
    22  
    23  // KatalystMachineInfo is a combination of machine info generated by cadvisor,
    24  // along with the extra info customized in katalyst environment
    25  type KatalystMachineInfo struct {
    26  	*info.MachineInfo
    27  
    28  	// actually, CPUTopology can be generated by info.MachineInfo,
    29  	// but we still keep it since it construct topology info in a
    30  	// more convenient way
    31  	*CPUTopology
    32  
    33  	*MemoryTopology
    34  
    35  	// ExtraCPUInfo is extra cpu info not in MachineInfo, such as
    36  	// supported instructions
    37  	*ExtraCPUInfo
    38  
    39  	// ExtraNetworkInfo is extra network info not in MachineInfo,
    40  	// such as numa node of each interface
    41  	*ExtraNetworkInfo
    42  
    43  	// ExtraTopologyInfo is extra topology info not in MachineInfo,
    44  	// such as numa node distance between each other
    45  	*ExtraTopologyInfo
    46  }