Documentation
¶
Index ¶
- func CreateRootNode(g *graph.Graph) *graph.Node
- func NewAnalyzerWSJSONClientPool() (*shttp.WSJSONClientPool, error)
- func NewTopologyProbeBundleFromConfig(g *graph.Graph, n *graph.Node) (*probe.ProbeBundle, error)
- type Agent
- type AgentStatus
- type AnalyzerConnStatus
- type TopologyForwarder
- func (t *TopologyForwarder) GetMaster() shttp.WSSpeaker
- func (t *TopologyForwarder) OnEdgeAdded(e *graph.Edge)
- func (t *TopologyForwarder) OnEdgeDeleted(e *graph.Edge)
- func (t *TopologyForwarder) OnEdgeUpdated(e *graph.Edge)
- func (t *TopologyForwarder) OnNewMaster(c shttp.WSSpeaker)
- func (t *TopologyForwarder) OnNodeAdded(n *graph.Node)
- func (t *TopologyForwarder) OnNodeDeleted(n *graph.Node)
- func (t *TopologyForwarder) OnNodeUpdated(n *graph.Node)
- type TopologyServer
- func (t *TopologyServer) OnEdgeAdded(e *graph.Edge)
- func (t *TopologyServer) OnEdgeDeleted(e *graph.Edge)
- func (t *TopologyServer) OnEdgeUpdated(e *graph.Edge)
- func (t *TopologyServer) OnNodeAdded(n *graph.Node)
- func (t *TopologyServer) OnNodeDeleted(n *graph.Node)
- func (t *TopologyServer) OnNodeUpdated(n *graph.Node)
- func (t *TopologyServer) OnWSJSONMessage(c shttp.WSSpeaker, msg *shttp.WSJSONMessage)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateRootNode ¶ added in v0.9.0
CreateRootNode creates a graph.Node based on the host properties and aims to have an unique ID
func NewAnalyzerWSJSONClientPool ¶ added in v0.13.0
func NewAnalyzerWSJSONClientPool() (*shttp.WSJSONClientPool, error)
NewAnalyzerWSJSONClientPool creates a new http WebSocket client Pool with authentification
Types ¶
type Agent ¶
type Agent struct {
shttp.DefaultWSSpeakerEventHandler
// contains filtered or unexported fields
}
Agent object started on each hosts/namespaces
func NewAgent ¶
NewAgent instanciates a new Agent aiming to launch probes (topology and flow)
type AgentStatus ¶ added in v0.13.0
type AgentStatus struct {
Clients map[string]shttp.WSConnStatus
Analyzers map[string]AnalyzerConnStatus
}
AgentStatus represents the status of an agent
type AnalyzerConnStatus ¶ added in v0.13.0
type AnalyzerConnStatus struct {
shttp.WSConnStatus
IsMaster bool
}
AnalyzerConnStatus represents the status of a connection to an analyzer
type TopologyForwarder ¶ added in v0.12.0
type TopologyForwarder struct {
// contains filtered or unexported fields
}
TopologyForwarder forwards the topology to only one master server. When switching from one analyzer to another one the agent does a full re-sync since some messages could have been lost.
func NewTopologyForwarder ¶ added in v0.12.0
func NewTopologyForwarder(host string, g *graph.Graph, pool shttp.WSJSONSpeakerPool) *TopologyForwarder
NewTopologyForwarder returns a new Graph forwarder which forwards event of the given graph to the given WebSocket JSON speakers.
func NewTopologyForwarderFromConfig ¶ added in v0.12.0
func NewTopologyForwarderFromConfig(g *graph.Graph, pool shttp.WSJSONSpeakerPool) *TopologyForwarder
NewTopologyForwarderFromConfig creates a TopologyForwarder from configuration
func (*TopologyForwarder) GetMaster ¶ added in v0.13.0
func (t *TopologyForwarder) GetMaster() shttp.WSSpeaker
GetMaster returns the current analyzer the agent is sending its events to
func (*TopologyForwarder) OnEdgeAdded ¶ added in v0.12.0
func (t *TopologyForwarder) OnEdgeAdded(e *graph.Edge)
OnEdgeAdded graph edge added event. Implements the GraphEventListener interface.
func (*TopologyForwarder) OnEdgeDeleted ¶ added in v0.12.0
func (t *TopologyForwarder) OnEdgeDeleted(e *graph.Edge)
OnEdgeDeleted graph edge deleted event. Implements the GraphEventListener interface.
func (*TopologyForwarder) OnEdgeUpdated ¶ added in v0.12.0
func (t *TopologyForwarder) OnEdgeUpdated(e *graph.Edge)
OnEdgeUpdated graph edge updated event. Implements the GraphEventListener interface.
func (*TopologyForwarder) OnNewMaster ¶ added in v0.13.0
func (t *TopologyForwarder) OnNewMaster(c shttp.WSSpeaker)
OnNewMaster is called by the master election mechanism when a new master is elected. In such case a "Re-sync" is triggerd in order to be in sync with the new master.
func (*TopologyForwarder) OnNodeAdded ¶ added in v0.12.0
func (t *TopologyForwarder) OnNodeAdded(n *graph.Node)
OnNodeAdded graph node added event. Implements the GraphEventListener interface.
func (*TopologyForwarder) OnNodeDeleted ¶ added in v0.12.0
func (t *TopologyForwarder) OnNodeDeleted(n *graph.Node)
OnNodeDeleted graph node deleted event. Implements the GraphEventListener interface.
func (*TopologyForwarder) OnNodeUpdated ¶ added in v0.12.0
func (t *TopologyForwarder) OnNodeUpdated(n *graph.Node)
OnNodeUpdated graph node updated event. Implements the GraphEventListener interface.
type TopologyServer ¶ added in v0.13.0
type TopologyServer struct {
Graph *graph.Graph
Pool shttp.WSJSONSpeakerPool
}
TopologyServer serves Graph events through websocket connections. It forwards all the Graph events and handles specific websocket API calls. All the API calls handled by the server are of type graph.*MsgType.
func NewTopologyServer ¶ added in v0.13.0
func NewTopologyServer(g *graph.Graph, pool shttp.WSJSONSpeakerPool) *TopologyServer
NewTopologyServer returns a new graph server for the given graph and WSJSONSpeakerPool.
func (*TopologyServer) OnEdgeAdded ¶ added in v0.13.0
func (t *TopologyServer) OnEdgeAdded(e *graph.Edge)
OnEdgeAdded graph edge added event. Implements the GraphEventListener interface.
func (*TopologyServer) OnEdgeDeleted ¶ added in v0.13.0
func (t *TopologyServer) OnEdgeDeleted(e *graph.Edge)
OnEdgeDeleted graph edge deleted event. Implements the GraphEventListener interface.
func (*TopologyServer) OnEdgeUpdated ¶ added in v0.13.0
func (t *TopologyServer) OnEdgeUpdated(e *graph.Edge)
OnEdgeUpdated graph edge updated event. Implements the GraphEventListener interface.
func (*TopologyServer) OnNodeAdded ¶ added in v0.13.0
func (t *TopologyServer) OnNodeAdded(n *graph.Node)
OnNodeAdded graph node added event. Implements the GraphEventListener interface.
func (*TopologyServer) OnNodeDeleted ¶ added in v0.13.0
func (t *TopologyServer) OnNodeDeleted(n *graph.Node)
OnNodeDeleted graph node deleted event. Implements the GraphEventListener interface.
func (*TopologyServer) OnNodeUpdated ¶ added in v0.13.0
func (t *TopologyServer) OnNodeUpdated(n *graph.Node)
OnNodeUpdated graph node updated event. Implements the GraphEventListener interface.
func (*TopologyServer) OnWSJSONMessage ¶ added in v0.13.0
func (t *TopologyServer) OnWSJSONMessage(c shttp.WSSpeaker, msg *shttp.WSJSONMessage)
OnWSJSONMessage is called by the pool of Websocket JSON speakers. it Implements the shttp.WSJSONMessageHandler interface.
Source Files
¶
- agent.go
- probes.go
- topology_forwarder.go
- topology_server.go