traversal

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2017 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AggregatesGremlinTraversalStep added in v0.9.0

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

AggregatesGremlinTraversalStep aggregates step

func (*AggregatesGremlinTraversalStep) Context added in v0.9.0

Context Aggregates step

func (*AggregatesGremlinTraversalStep) Exec added in v0.9.0

Exec Aggregates step

func (*AggregatesGremlinTraversalStep) Reduce added in v0.9.0

Reduce Aggregates step

type BpfGremlinTraversalStep added in v0.13.0

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

BpfGremlinTraversalStep step

func (*BpfGremlinTraversalStep) Context added in v0.13.0

Context of BPF step

func (*BpfGremlinTraversalStep) Exec added in v0.13.0

Exec BPF step

func (*BpfGremlinTraversalStep) Reduce added in v0.13.0

Reduce BPF step

type CaptureNodeGremlinTraversalStep added in v0.9.0

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

CaptureNodeGremlinTraversalStep capture step

func (*CaptureNodeGremlinTraversalStep) Context added in v0.9.0

Context step

func (*CaptureNodeGremlinTraversalStep) Exec added in v0.9.0

Exec Capture step

func (*CaptureNodeGremlinTraversalStep) Reduce added in v0.9.0

Reduce Capture step

type FlowGremlinTraversalStep

type FlowGremlinTraversalStep struct {
	TableClient *flow.TableClient
	Storage     storage.Storage
	// contains filtered or unexported fields
}

FlowGremlinTraversalStep a flow Gremlin language step

func (*FlowGremlinTraversalStep) Context added in v0.9.0

Context flow step

func (*FlowGremlinTraversalStep) Exec

Exec flow step

func (*FlowGremlinTraversalStep) Reduce

Reduce flow step

type FlowTraversalExtension

type FlowTraversalExtension struct {
	FlowToken        traversal.Token
	HopsToken        traversal.Token
	NodesToken       traversal.Token
	CaptureNodeToken traversal.Token
	AggregatesToken  traversal.Token
	RawPacketsToken  traversal.Token
	BpfToken         traversal.Token
	TableClient      *flow.TableClient
	Storage          storage.Storage
}

FlowTraversalExtension describes flows in a graph Gremlin language extension

func NewFlowTraversalExtension

func NewFlowTraversalExtension(client *flow.TableClient, storage storage.Storage) *FlowTraversalExtension

NewFlowTraversalExtension creates a new flow tranversal extension for Gremlin parser

func (*FlowTraversalExtension) ParseStep

ParseStep creates steps from token

func (*FlowTraversalExtension) ScanIdent

func (e *FlowTraversalExtension) ScanIdent(s string) (traversal.Token, bool)

ScanIdent tokenize the step

type FlowTraversalStep

type FlowTraversalStep struct {
	GraphTraversal *traversal.GraphTraversal
	Storage        storage.Storage
	// contains filtered or unexported fields
}

FlowTraversalStep a flow step linked to a storage

func (*FlowTraversalStep) Both

func (f *FlowTraversalStep) Both(s ...interface{}) *traversal.GraphTraversalV

Both returns A and B nodes

func (*FlowTraversalStep) CaptureNode added in v0.9.0

func (f *FlowTraversalStep) CaptureNode(s ...interface{}) *traversal.GraphTraversalV

CaptureNode step

func (*FlowTraversalStep) Count

func (f *FlowTraversalStep) Count(s ...interface{}) *traversal.GraphTraversalValue

Count step

func (*FlowTraversalStep) Dedup

func (f *FlowTraversalStep) Dedup(keys ...interface{}) *FlowTraversalStep

Dedup deduplicate step

func (*FlowTraversalStep) Error

func (f *FlowTraversalStep) Error() error

Error returns tranversal error

func (*FlowTraversalStep) Has

func (f *FlowTraversalStep) Has(s ...interface{}) *FlowTraversalStep

Has step

func (*FlowTraversalStep) Hops added in v0.9.0

func (f *FlowTraversalStep) Hops(s ...interface{}) *traversal.GraphTraversalV

Hops returns all the capture nodes where the flow was seen

func (*FlowTraversalStep) In

func (f *FlowTraversalStep) In(s ...interface{}) *traversal.GraphTraversalV

In returns the A node

func (*FlowTraversalStep) MarshalJSON

func (f *FlowTraversalStep) MarshalJSON() ([]byte, error)

MarshalJSON serialize in JSON

func (*FlowTraversalStep) Metrics added in v0.9.0

Metrics returns flow metric counters

func (*FlowTraversalStep) Nodes added in v0.9.0

func (f *FlowTraversalStep) Nodes(s ...interface{}) *traversal.GraphTraversalV

Nodes returns A, B and the capture nodes

func (*FlowTraversalStep) Out

func (f *FlowTraversalStep) Out(s ...interface{}) *traversal.GraphTraversalV

Out returns the B node

func (*FlowTraversalStep) PropertyKeys added in v0.9.0

func (f *FlowTraversalStep) PropertyKeys(keys ...interface{}) *traversal.GraphTraversalValue

PropertyKeys returns a flow field

func (*FlowTraversalStep) PropertyValues added in v0.9.0

func (f *FlowTraversalStep) PropertyValues(keys ...interface{}) *traversal.GraphTraversalValue

PropertyValues returns a flow field value

func (*FlowTraversalStep) RawPackets added in v0.12.0

func (f *FlowTraversalStep) RawPackets() *RawPacketsTraversalStep

RawPackets searches for RawPacket based on previous flow filter from either agents or datastore.

func (*FlowTraversalStep) Sort added in v0.9.0

func (f *FlowTraversalStep) Sort(keys ...interface{}) *FlowTraversalStep

Sort step

func (*FlowTraversalStep) Sum added in v0.9.0

func (f *FlowTraversalStep) Sum(keys ...interface{}) *traversal.GraphTraversalValue

Sum aggregates integer values mapped by 'key' cross flows

func (*FlowTraversalStep) Values

func (f *FlowTraversalStep) Values() []interface{}

Values returns list of flows

type HopsGremlinTraversalStep added in v0.9.0

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

HopsGremlinTraversalStep hops step

func (*HopsGremlinTraversalStep) Context added in v0.9.0

Context hops step

func (*HopsGremlinTraversalStep) Exec added in v0.9.0

Exec hops step

func (*HopsGremlinTraversalStep) Reduce added in v0.9.0

Reduce hops step

type NodesGremlinTraversalStep added in v0.9.0

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

NodesGremlinTraversalStep nodes step

func (*NodesGremlinTraversalStep) Context added in v0.9.0

Context Nodes step

func (*NodesGremlinTraversalStep) Exec added in v0.9.0

Exec Nodes step

func (*NodesGremlinTraversalStep) Reduce added in v0.9.0

Reduce Nodes step

type RawPacketsGremlinTraversalStep added in v0.12.0

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

RawPacketsGremlinTraversalStep rawpackets step

func (*RawPacketsGremlinTraversalStep) Context added in v0.12.0

Context RawPackets step

func (*RawPacketsGremlinTraversalStep) Exec added in v0.12.0

Exec RawPackets step

func (*RawPacketsGremlinTraversalStep) Reduce added in v0.12.0

Reduce RawPackets step

type RawPacketsTraversalStep added in v0.12.0

type RawPacketsTraversalStep struct {
	GraphTraversal *traversal.GraphTraversal
	// contains filtered or unexported fields
}

RawPacketsTraversalStep rawpackets step

func (*RawPacketsTraversalStep) BPF added in v0.13.0

func (r *RawPacketsTraversalStep) BPF(s ...interface{}) *RawPacketsTraversalStep

BPF returns only the raw packets that matches the specified BPF filter

func (*RawPacketsTraversalStep) Error added in v0.12.0

func (r *RawPacketsTraversalStep) Error() error

Error returns tranversal error

func (*RawPacketsTraversalStep) MarshalJSON added in v0.12.0

func (r *RawPacketsTraversalStep) MarshalJSON() ([]byte, error)

MarshalJSON serialize in JSON

func (*RawPacketsTraversalStep) Values added in v0.12.0

func (r *RawPacketsTraversalStep) Values() []interface{}

Values returns list of raw packets

Source Files

  • traversal.go

Jump to

Keyboard shortcuts

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