mem_bpfel.go
Go Source File · 138 lines
// Code generated by bpf2go; DO NOT EDIT.//go:build 386 || amd64 || arm || arm64 || loong64 || mips64le || mipsle || ppc64le || riscv64
package collector
import ( "bytes" _ "embed" "fmt" "io"
"github.com/cilium/ebpf")
type memMemStat struct { DirectReclaimCount uint64 DirectReclaimNs uint64 Comm [16]int8}
// loadMem returns the embedded CollectionSpec for mem.func loadMem() (*ebpf.CollectionSpec, error) { reader := bytes.NewReader(_MemBytes) spec, err := ebpf.LoadCollectionSpecFromReader(reader) if err != nil { return nil, fmt.Errorf("can't load mem: %w", err) }
return spec, err}
// loadMemObjects loads mem and converts it into a struct.//// The following types are suitable as obj argument://// *memObjects// *memPrograms// *memMaps//// See ebpf.CollectionSpec.LoadAndAssign documentation for details.func loadMemObjects(obj interface{}, opts *ebpf.CollectionOptions) error { spec, err := loadMem() if err != nil { return err }
return spec.LoadAndAssign(obj, opts)}
// memSpecs contains maps and programs before they are loaded into the kernel.//// It can be passed ebpf.CollectionSpec.Assign.type memSpecs struct { memProgramSpecs memMapSpecs}
// memSpecs contains programs before they are loaded into the kernel.//// It can be passed ebpf.CollectionSpec.Assign.type memProgramSpecs struct { HandleDirectBegin *ebpf.ProgramSpec `ebpf:"handle_direct_begin"` HandleDirectEnd *ebpf.ProgramSpec `ebpf:"handle_direct_end"` HandleKswapdWake *ebpf.ProgramSpec `ebpf:"handle_kswapd_wake"`}
// memMapSpecs contains maps before they are loaded into the kernel.//// It can be passed ebpf.CollectionSpec.Assign.type memMapSpecs struct { KswapdWakes *ebpf.MapSpec `ebpf:"kswapd_wakes"` MemStats *ebpf.MapSpec `ebpf:"mem_stats"` ReclaimStart *ebpf.MapSpec `ebpf:"reclaim_start"`}
// memObjects contains all objects after they have been loaded into the kernel.//// It can be passed to loadMemObjects or ebpf.CollectionSpec.LoadAndAssign.type memObjects struct { memPrograms memMaps}
func (o *memObjects) Close() error { return _MemClose( &o.memPrograms, &o.memMaps, )}
// memMaps contains all maps after they have been loaded into the kernel.//// It can be passed to loadMemObjects or ebpf.CollectionSpec.LoadAndAssign.type memMaps struct { KswapdWakes *ebpf.Map `ebpf:"kswapd_wakes"` MemStats *ebpf.Map `ebpf:"mem_stats"` ReclaimStart *ebpf.Map `ebpf:"reclaim_start"`}
func (m *memMaps) Close() error { return _MemClose( m.KswapdWakes, m.MemStats, m.ReclaimStart, )}
// memPrograms contains all programs after they have been loaded into the kernel.//// It can be passed to loadMemObjects or ebpf.CollectionSpec.LoadAndAssign.type memPrograms struct { HandleDirectBegin *ebpf.Program `ebpf:"handle_direct_begin"` HandleDirectEnd *ebpf.Program `ebpf:"handle_direct_end"` HandleKswapdWake *ebpf.Program `ebpf:"handle_kswapd_wake"`}
func (p *memPrograms) Close() error { return _MemClose( p.HandleDirectBegin, p.HandleDirectEnd, p.HandleKswapdWake, )}
func _MemClose(closers ...io.Closer) error { for _, closer := range closers { if err := closer.Close(); err != nil { return err } } return nil}
// Do not access this directly.////go:embed mem_bpfel.ovar _MemBytes []byte





