tracer

package
v0.0.0-...-cd53e7c Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2019 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventConnect   EventType = 1
	EventAccept              = 2
	EventClose               = 3
	EventFdInstall           = 4
)

These constants should be in sync with the equivalent definitions in the ebpf program.

Variables

View Source
var (
	TimestampOffset uint64 = 100000
)

Offset added to all timestamps, to hold back events so they are less likely to be reported out of order. Value is in nanoseconds.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

func TracerAsset

func TracerAsset() ([]byte, error)

Types

type Callback

type Callback interface {
	TCPEventV4(TcpV4)
	TCPEventV6(TcpV6)
	LostV4(uint64)
	LostV6(uint64)
}

type EventType

type EventType uint32

func (EventType) String

func (e EventType) String() string

type TcpV4

type TcpV4 struct {
	Timestamp uint64    // Monotonic timestamp
	CPU       uint64    // CPU index
	Type      EventType // connect, accept or close
	Pid       uint32    // Process ID, who triggered the event
	Comm      string    // The process command (as in /proc/$pid/comm)
	SAddr     net.IP    // Local IP address
	DAddr     net.IP    // Remote IP address
	SPort     uint16    // Local TCP port
	DPort     uint16    // Remote TCP port
	NetNS     uint32    // Network namespace ID (as in /proc/$pid/ns/net)
	Fd        uint32    // File descriptor for fd_install events
}

TcpV4 represents a TCP event (connect, accept or close) on IPv4

type TcpV6

type TcpV6 struct {
	Timestamp uint64    // Monotonic timestamp
	CPU       uint64    // CPU index
	Type      EventType // connect, accept or close
	Pid       uint32    // Process ID, who triggered the event
	Comm      string    // The process command (as in /proc/$pid/comm)
	SAddr     net.IP    // Local IP address
	DAddr     net.IP    // Remote IP address
	SPort     uint16    // Local TCP port
	DPort     uint16    // Remote TCP port
	NetNS     uint32    // Network namespace ID (as in /proc/$pid/ns/net)
	Fd        uint32    // File descriptor for fd_install events
}

TcpV6 represents a TCP event (connect, accept or close) on IPv6

type Tracer

type Tracer struct {
	// contains filtered or unexported fields
}

func NewTracer

func NewTracer(cb Callback) (*Tracer, error)

func (*Tracer) AddFdInstallWatcher

func (t *Tracer) AddFdInstallWatcher(pid uint32) (err error)

func (*Tracer) RemoveFdInstallWatcher

func (t *Tracer) RemoveFdInstallWatcher(pid uint32) (err error)

func (*Tracer) Start

func (t *Tracer) Start()

func (*Tracer) Stop

func (t *Tracer) Stop()

Jump to

Keyboard shortcuts

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