trace

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2021 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Collect

func Collect(stop <-chan struct{}, intf, bpfFilter string, proc Collector) error

Types

type BackendCollector

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

Sends witnesses up to akita cloud.

func (*BackendCollector) Close

func (c *BackendCollector) Close() error

func (*BackendCollector) Process

type Collector

type Collector interface {
	// Hands new data from network to the collector. The implementation may choose
	// to process them asynchronously (e.g. to wait for the response to a
	// corresponding request).
	// Implementations should only return error if the error is unrecoverable and
	// the whole process should stop immediately.
	Process(akinet.ParsedNetworkTraffic) error

	// Implementations must complete processing all requests/responses before
	// returning.
	Close() error
}

func New3PTrackerFilterCollector

func New3PTrackerFilterCollector(col Collector) Collector

Filters out third-party trackers.

func NewHTTPHostFilterCollector

func NewHTTPHostFilterCollector(matchers []*regexp.Regexp, col Collector) Collector

func NewHTTPPathFilterCollector

func NewHTTPPathFilterCollector(matchers []*regexp.Regexp, col Collector) Collector

Filters out HTTP paths.

type HARCollector

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

func NewHARCollector

func NewHARCollector(interfaceName, outDir string, isOutbound bool, tags map[string]string) *HARCollector

func (*HARCollector) Close

func (h *HARCollector) Close() error

TODO: output HAR files periodically instead of buffering everything in memory.

func (*HARCollector) Process

type SamplingCollector

type SamplingCollector struct {
	SampleRate float64
	Collector  Collector
}

Wraps a Collector and peforms sampling.

func (*SamplingCollector) Close

func (sc *SamplingCollector) Close() error

func (*SamplingCollector) Process

type TeeCollector

type TeeCollector struct {
	Dst1 Collector
	Dst2 Collector
}

Not to be confused with coffee collector.

func (TeeCollector) Close

func (tc TeeCollector) Close() error

func (TeeCollector) Process

type UserTrafficCollector

type UserTrafficCollector struct {
	Collector Collector
}

Filters out CLI's own traffic to Akita APIs.

func (*UserTrafficCollector) Close

func (sc *UserTrafficCollector) Close() error

func (*UserTrafficCollector) Process

Jump to

Keyboard shortcuts

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