Documentation
¶
Index ¶
- Constants
- Variables
- func AddLayer2Link(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, metadata graph.Metadata) (*graph.Edge, error)
- func AddLink(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, relationType string, ...) (*graph.Edge, error)
- func AddOwnershipLink(g *graph.Graph, parent *graph.Node, child *graph.Node, metadata graph.Metadata) (*graph.Edge, error)
- func GetOwnershipLink(g *graph.Graph, parent *graph.Node, child *graph.Node) *graph.Edge
- func HaveLayer2Link(g *graph.Graph, node1 *graph.Node, node2 *graph.Node) bool
- func HaveLink(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, relationType string) bool
- func HaveOwnershipLink(g *graph.Graph, parent *graph.Node, child *graph.Node) bool
- func InterfaceMetricMetadataDecoder(raw json.RawMessage) (common.Getter, error)
- func IsInterfaceUp(node *graph.Node) bool
- func IsOwnershipLinked(g *graph.Graph, node *graph.Node) bool
- func Layer2Metadata() graph.Metadata
- func NamespaceFromNode(g *graph.Graph, n *graph.Node) (string, string, error)
- func NewLink(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, relationType string, ...) (*graph.Edge, error)
- func NewNetNSContextByNode(g *graph.Graph, n *graph.Node) (*common.NetNSContext, error)
- func OwnershipMetadata() graph.Metadata
- type HostNodeTIDMap
- type InterfaceMetric
- func (im *InterfaceMetric) Add(m common.Metric) common.Metric
- func (im *InterfaceMetric) GetField(key string) (interface{}, error)
- func (im *InterfaceMetric) GetFieldInt64(field string) (int64, error)
- func (im *InterfaceMetric) GetFieldKeys() []string
- func (im *InterfaceMetric) GetFieldString(key string) (string, error)
- func (im *InterfaceMetric) GetLast() int64
- func (im *InterfaceMetric) GetStart() int64
- func (im *InterfaceMetric) IsZero() bool
- func (im *InterfaceMetric) SetLast(last int64)
- func (im *InterfaceMetric) SetStart(start int64)
- func (im *InterfaceMetric) Split(cut int64) (common.Metric, common.Metric)
- func (im *InterfaceMetric) Sub(m common.Metric) common.Metric
- type SchemaValidator
- type TIDMapper
Constants ¶
const ( OwnershipLink = "ownership" Layer2Link = "layer2" )
ErrNetworkPathNotFound
Variables ¶
ErrInvalidSchema is return when a JSON schema is invalid
Functions ¶
func AddLayer2Link ¶ added in v0.16.0
func AddLayer2Link(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, metadata graph.Metadata) (*graph.Edge, error)
AddLayer2Link links the parent and the child node
func AddLink ¶ added in v0.22.0
func AddLink(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, relationType string, metadata graph.Metadata) (*graph.Edge, error)
AddLink links the parent and the child node with the specified relation type and metadata
func AddOwnershipLink ¶ added in v0.16.0
func AddOwnershipLink(g *graph.Graph, parent *graph.Node, child *graph.Node, metadata graph.Metadata) (*graph.Edge, error)
AddOwnershipLink Link between the parent and the child node, the child can have only one parent, previous will be overwritten
func GetOwnershipLink ¶ added in v0.18.0
GetOwnershipLink get ownership Link between the parent and the child node or nil
func HaveLayer2Link ¶ added in v0.16.0
HaveLayer2Link returns true if parent and child have the same layer 2
func HaveLink ¶ added in v0.22.0
HaveLink returns true if parent and child are linked
func HaveOwnershipLink ¶ added in v0.16.0
HaveOwnershipLink returns true if parent and child have an ownership link
func InterfaceMetricMetadataDecoder ¶ added in v0.22.0
func InterfaceMetricMetadataDecoder(raw json.RawMessage) (common.Getter, error)
InterfaceMetricMetadataDecoder implements a json message raw decoder
func IsInterfaceUp ¶ added in v0.22.0
IsInterfaceUp returns whether an interface has the flag UP set
func IsOwnershipLinked ¶ added in v0.16.0
IsOwnershipLinked checks whether the node has an OwnershipLink
func Layer2Metadata ¶ added in v0.16.0
Layer2Metadata returns metadata for a layer2 link
func NamespaceFromNode ¶ added in v0.16.0
NamespaceFromNode returns the namespace name and the path of a node in the graph
func NewLink ¶ added in v0.23.0
func NewLink(g *graph.Graph, node1 *graph.Node, node2 *graph.Node, relationType string, metadata graph.Metadata) (*graph.Edge, error)
NewLink creates a link between a parent and a child node with the specified relation type and metadata
func NewNetNSContextByNode ¶ added in v0.9.0
NewNetNSContextByNode creates a new network namespace context based on the node
Types ¶
type HostNodeTIDMap ¶ added in v0.9.0
HostNodeTIDMap a map that store the value node TID and the key node host
func BuildHostNodeTIDMap ¶ added in v0.9.0
func BuildHostNodeTIDMap(nodes []*graph.Node) HostNodeTIDMap
BuildHostNodeTIDMap creates a new node and host (key) map
type InterfaceMetric ¶ added in v0.16.0
type InterfaceMetric struct {
Collisions int64 `json:"Collisions,omitempty"`
Multicast int64 `json:"Multicast,omitempty"`
RxBytes int64 `json:"RxBytes,omitempty"`
RxCompressed int64 `json:"RxCompressed,omitempty"`
RxCrcErrors int64 `json:"RxCrcErrors,omitempty"`
RxDropped int64 `json:"RxDropped,omitempty"`
RxErrors int64 `json:"RxErrors,omitempty"`
RxFifoErrors int64 `json:"RxFifoErrors,omitempty"`
RxFrameErrors int64 `json:"RxFrameErrors,omitempty"`
RxLengthErrors int64 `json:"RxLengthErrors,omitempty"`
RxMissedErrors int64 `json:"RxMissedErrors,omitempty"`
RxOverErrors int64 `json:"RxOverErrors,omitempty"`
RxPackets int64 `json:"RxPackets,omitempty"`
TxAbortedErrors int64 `json:"TxAbortedErrors,omitempty"`
TxBytes int64 `json:"TxBytes,omitempty"`
TxCarrierErrors int64 `json:"TxCarrierErrors,omitempty"`
TxCompressed int64 `json:"TxCompressed,omitempty"`
TxDropped int64 `json:"TxDropped,omitempty"`
TxErrors int64 `json:"TxErrors,omitempty"`
TxFifoErrors int64 `json:"TxFifoErrors,omitempty"`
TxHeartbeatErrors int64 `json:"TxHeartbeatErrors,omitempty"`
TxPackets int64 `json:"TxPackets,omitempty"`
TxWindowErrors int64 `json:"TxWindowErrors,omitempty"`
Start int64 `json:"Start,omitempty"`
Last int64 `json:"Last,omitempty"`
}
InterfaceMetric the interface packets counters easyjson:json
func (*InterfaceMetric) Add ¶ added in v0.16.0
func (im *InterfaceMetric) Add(m common.Metric) common.Metric
Add sum two metrics and return a new Metrics object
func (*InterfaceMetric) GetField ¶ added in v0.22.0
func (im *InterfaceMetric) GetField(key string) (interface{}, error)
GetField implements Getter interface
func (*InterfaceMetric) GetFieldInt64 ¶ added in v0.16.0
func (im *InterfaceMetric) GetFieldInt64(field string) (int64, error)
GetFieldInt64 implements Getter and Metrics interfaces
func (*InterfaceMetric) GetFieldKeys ¶ added in v0.22.0
func (im *InterfaceMetric) GetFieldKeys() []string
GetFieldKeys implements Getter and Metrics interfaces
func (*InterfaceMetric) GetFieldString ¶ added in v0.22.0
func (im *InterfaceMetric) GetFieldString(key string) (string, error)
GetFieldString implements Getter interface
func (*InterfaceMetric) GetLast ¶ added in v0.16.0
func (im *InterfaceMetric) GetLast() int64
GetLast returns last time
func (*InterfaceMetric) GetStart ¶ added in v0.16.0
func (im *InterfaceMetric) GetStart() int64
GetStart returns start time
func (*InterfaceMetric) IsZero ¶ added in v0.16.0
func (im *InterfaceMetric) IsZero() bool
IsZero returns true if all the values are equal to zero
func (*InterfaceMetric) SetLast ¶ added in v0.16.0
func (im *InterfaceMetric) SetLast(last int64)
SetLast set last tome
func (*InterfaceMetric) SetStart ¶ added in v0.16.0
func (im *InterfaceMetric) SetStart(start int64)
SetStart set start time
func (*InterfaceMetric) Split ¶ added in v0.18.0
Split splits a metric into two parts
type SchemaValidator ¶ added in v0.20.1
type SchemaValidator struct {
// contains filtered or unexported fields
}
SchemaValidator validates graph nodes and edges using a JSON schema
func NewSchemaValidator ¶ added in v0.20.1
func NewSchemaValidator() (*SchemaValidator, error)
NewSchemaValidator returns a new JSON schema validator for graph nodes and edges. based on JSON schema bundled with go-bindata
func (*SchemaValidator) ValidateEdge ¶ added in v0.20.1
func (v *SchemaValidator) ValidateEdge(edge *graph.Edge) error
ValidateEdge valides a graph edge
func (*SchemaValidator) ValidateNode ¶ added in v0.20.1
func (v *SchemaValidator) ValidateNode(node *graph.Node) error
ValidateNode valides a graph node
type TIDMapper ¶ added in v0.9.0
type TIDMapper struct {
graph.DefaultGraphListener
Graph *graph.Graph
// contains filtered or unexported fields
}
TIDMapper describes the hostID nodes stored in a graph the mapper will broadcast node event to the registered listeners
func NewTIDMapper ¶ added in v0.9.0
NewTIDMapper creates a new node mapper in the graph g
func (*TIDMapper) OnEdgeAdded ¶ added in v0.9.0
OnEdgeAdded event
func (*TIDMapper) OnEdgeDeleted ¶ added in v0.16.0
OnEdgeDeleted event
func (*TIDMapper) OnEdgeUpdated ¶ added in v0.9.0
OnEdgeUpdated event
func (*TIDMapper) OnNodeAdded ¶ added in v0.9.0
OnNodeAdded evetn
func (*TIDMapper) OnNodeUpdated ¶ added in v0.9.0
OnNodeUpdated event
Source Files
¶
- metrics.go
- tid.go
- topology.go
- validator.go