Documentation ¶
Index ¶
- func Collect(stop <-chan struct{}, intf, bpfFilter string, proc Collector) error
- type BackendCollector
- type Collector
- func New3PTrackerFilterCollector(col Collector) Collector
- func NewBackendCollector(svc akid.ServiceID, lrn akid.LearnSessionID, lc rest.LearnClient, ...) Collector
- func NewHTTPHostFilterCollector(matchers []*regexp.Regexp, col Collector) Collector
- func NewHTTPPathFilterCollector(matchers []*regexp.Regexp, col Collector) Collector
- type HARCollector
- type SamplingCollector
- type TeeCollector
- type UserTrafficCollector
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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 ¶
func (c *BackendCollector) Process(t akinet.ParsedNetworkTraffic) error
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 ¶
Filters out third-party trackers.
func NewBackendCollector ¶
func NewBackendCollector(svc akid.ServiceID, lrn akid.LearnSessionID, lc rest.LearnClient, dir kgxapi.NetworkDirection, plugins []plugin.AkitaPlugin) Collector
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 ¶
func (h *HARCollector) Process(t akinet.ParsedNetworkTraffic) error
type SamplingCollector ¶
Wraps a Collector and peforms sampling.
func (*SamplingCollector) Close ¶
func (sc *SamplingCollector) Close() error
func (*SamplingCollector) Process ¶
func (sc *SamplingCollector) Process(t akinet.ParsedNetworkTraffic) error
type TeeCollector ¶
Not to be confused with coffee collector.
func (TeeCollector) Close ¶
func (tc TeeCollector) Close() error
func (TeeCollector) Process ¶
func (tc TeeCollector) Process(t akinet.ParsedNetworkTraffic) error
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 ¶
func (sc *UserTrafficCollector) Process(t akinet.ParsedNetworkTraffic) error
Click to show internal directories.
Click to hide internal directories.