base

package
v0.0.0-...-24e3e83 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 16, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Copyright © 2020 GUILLAUME FOURNIER

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, 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.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Monitor

type Monitor struct {
	Name         model.MonitorName
	SnapshotFunc SnapshotFunc
	Nsp          model.NSPInterface

	// eBPF specific fields
	MapNames []string
	Probes   []*Probe
	// SchedCLS specific parameters
	Ifindex int32
	Netns   int
	// contains filtered or unexported fields
}

Monitor - Base monitor

func (*Monitor) GetName

func (m *Monitor) GetName() model.MonitorName

GetName - Returns the monitor name

func (*Monitor) Init

func (m *Monitor) Init(nsp model.NSPInterface) error

Init - Initializes the monitor

func (*Monitor) Start

func (m *Monitor) Start() error

Start - Starts the monitor

func (*Monitor) Stop

func (m *Monitor) Stop() error

Stop - Stops the monitor

type PerfMap

type PerfMap struct {
	UserSpaceBufferLen int
	PerfOutputMapName  string

	DataHandler func(data []byte, m *Monitor)
	LostHandler func(count uint64, mapName string, m *Monitor)
	// contains filtered or unexported fields
}

PerfMap - Definition of a perf map, used to bring data back to user space

type Probe

type Probe struct {
	Name    string
	Enabled bool

	Type        ebpf.ProgType
	SectionName string
	// Kprobe specific parameters
	KProbeMaxActive int
	// UProbe specific parameters
	UProbeFilename string
	UProbeOffset   uint64
	// SchedCLS specific parameters
	QdiscParent uint32

	// Cgroup specific parameters
	CgroupPath string
	// Perf maps
	PerfMaps []*PerfMap
	// contains filtered or unexported fields
}

Probe - eBPF probe structure

func (*Probe) Init

func (p *Probe) Init(m *Monitor) error

Init - Initializes the probe

func (*Probe) Start

func (p *Probe) Start() error

Start - Starts the probe

func (*Probe) Stop

func (p *Probe) Stop() error

Stop - Stops the probe

type SnapshotFunc

type SnapshotFunc func(m *Monitor) error

SnapshotFunc - Snapshot function for the given monitor

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL