Documentation ¶
Index ¶
- Constants
- func ToIntf(s interface{}) []interface{}
- func UpdateHost(c *FlowController, deleted bool, name string, host *HostRecord) error
- func UpdateProcess(c *FlowController, deleted bool, name string, process *ProcessRecord) error
- type ApiRequest
- type ApiResponse
- type Base
- type BeaconRecord
- type CollectorRecord
- type ConnectorRecord
- type ControllerRecord
- type EgressRecord
- type FlowAggregateRecord
- type FlowCollector
- type FlowController
- type FlowPairRecord
- type FlowRecord
- type FlushRecord
- type HeartbeatRecord
- type HostRecord
- type ImageRecord
- type IngressRecord
- type LinkRecord
- type ListenerRecord
- type Payload
- type ProcessGroupRecord
- type ProcessRecord
- type RouterRecord
- type SiteRecord
- type VanAddressRecord
Constants ¶
View Source
const ( BeaconAddress string = "mc/sfe.all" RecordPrefix string = "mc/sfe." DirectPrefix string = "sfe." )
View Source
const ( Site = iota // 0 Router // 1 Link // 2 Controller // 3 Listener // 4 Connector // 5 Flow // 6 Process // 7 Image // 8 Ingress // 9 Egress // 10 Collector // 11 ProcessGroup // 12 Host // 13 FlowPair // 14 (generated) FlowAggregate // 15 EventSource // 16 SitePair // 17 ProcessGroupPair // 18 ProcessPair // 19 Address // 20 )
RecordTypes
View Source
const ( TypeOfRecord = iota //0 Identity // 1 Parent // 2 StartTime // 3 EndTime // 4 CounterFlow // 5 PeerIdentity // 6 ProcessIdentity // 7 SiblingOrdinal // 8 Location // 9 Provider // 10 Platform // 11 Namespace // 12 Mode // 13 SourceHost // 14 DestHost // 15 Protocol // 16 SourcePort // 17 DestPort // 18 VanAddress // 19 ImageName // 20 ImageVersion // 21 HostName // 22 Octets // 23 Latency // 24 TransitLatency // 25 Backlog // 26 Method // 27 Result // 28 Reason // 29 Name // 30 Trace // 31 BuildVersion // 32 LinkCost // 33 Direction // 34 OctetRate // 35 OctetsOut // 36 OctetsUnacked // 37 WindowClosures // 38 WindowSize // 39 FlowCountL4 // 40 FlowCountL7 // 41 FlowRateL4 // 42 FlowRateL7 // 43 Duration // 44 ImageAttr // 45 Group // 46 StreamIdentity // 47 )
Attribute Types
View Source
const (
FlowControllerEvent string = "FlowControllerEvent"
)
Variables ¶
This section is empty.
Functions ¶
func ToIntf ¶
func ToIntf(s interface{}) []interface{}
Convert a slice or array of a specific type to array of interface{}
func UpdateHost ¶
func UpdateHost(c *FlowController, deleted bool, name string, host *HostRecord) error
func UpdateProcess ¶
func UpdateProcess(c *FlowController, deleted bool, name string, process *ProcessRecord) error
Types ¶
type ApiResponse ¶
type BeaconRecord ¶
type CollectorRecord ¶
type CollectorRecord struct {
Base
}
type ConnectorRecord ¶
type ConnectorRecord struct { Base DestHost *string `json:"destHost,omitempty"` DestPort *string `json:"destPort,omitempty"` Protocol *string `json:"protocol,omitempty"` Address *string `json:"address,omitempty"` FlowCountL4 *uint64 `json:"flowCountL4,omitempty"` FlowRateL4 *uint64 `json:"flowRateL4,omitempty"` FlowCountL7 *uint64 `json:"flowCountL7,omitempty"` FlowRateL7 *uint64 `json:"flowRateL7,omitempty"` // contains filtered or unexported fields }
type ControllerRecord ¶
type ControllerRecord struct { ImageName string `json:"imageName,omitempty"` ImageVersion string `json:"imageVersion,omitempty"` Hostname string `json:"hostame,omitempty"` Name string `json:"name,omitempty"` BuildVersion string `json:"buildVersion,omitempty"` // contains filtered or unexported fields }
type EgressRecord ¶
type EgressRecord struct {
Base
}
type FlowAggregateRecord ¶
type FlowAggregateRecord struct { Base PairType string `json:"pairType,omitempty"` RecordCount uint64 `json:"recordCount,omitempty"` SourceId *string `json:"sourceId,omitempty"` SourceName *string `json:"sourceName,omitempty"` DestinationId *string `json:"destinationId,omitempty"` DestinationName *string `json:"destinationName,omitempty"` SourceOctets uint64 `json:"sourceOctets,omitempty"` SourceOctetRate uint64 `json:"sourceOctetRate,omitempty"` SourceMinLatency uint64 `json:"sourceMinLatency,omitempty"` SourceMaxLatency uint64 `json:"sourceMaxLatency,omitempty"` SourceAverageLatency uint64 `json:"sourceAverageLatency,omitempty"` DestinationOctets uint64 `json:"destinationOctets,omitempty"` DestinationOctetRate uint64 `json:"destinationOctetRate,omitempty"` DestinationMinLatency uint64 `json:"destinationMinLatency,omitempty"` DestinationMaxLatency uint64 `json:"destinationMaxLatency,omitempty"` DestinationAverageLatency uint64 `json:"destinationAverageLatency,omitempty"` }
type FlowCollector ¶
type FlowCollector struct { Request chan ApiRequest Response chan ApiResponse Beacons map[string]*BeaconRecord Sites map[string]*SiteRecord Hosts map[string]*HostRecord Routers map[string]*RouterRecord Links map[string]*LinkRecord Listeners map[string]*ListenerRecord Connectors map[string]*ConnectorRecord Flows map[string]*FlowRecord FlowPairs map[string]*FlowPairRecord FlowAggregates map[string]*FlowAggregateRecord Processes map[string]*ProcessRecord ProcessGroups map[string]*ProcessGroupRecord VanAddresses map[string]*VanAddressRecord // contains filtered or unexported fields }
func NewFlowCollector ¶
func NewFlowCollector(origin string, connectionFactory messaging.ConnectionFactory) *FlowCollector
func (*FlowCollector) Start ¶
func (c *FlowCollector) Start(stopCh <-chan struct{})
type FlowController ¶
type FlowController struct {
// contains filtered or unexported fields
}
func NewFlowController ¶
func NewFlowController(origin string, creationTime uint64, connectionFactory messaging.ConnectionFactory) *FlowController
func (*FlowController) Start ¶
func (c *FlowController) Start(stopCh <-chan struct{})
type FlowPairRecord ¶
type FlowPairRecord struct { Base SourceSiteId string `json:"sourceSiteId,omitempty"` DestinationSiteId string `json:"destinationSiteId,omitempty"` ForwardFlow *FlowRecord `json:"forwardFlow,omitempty"` CounterFlow *FlowRecord `json:"counterFlow,omitempty"` SiteAggregateId *string `json:"siteAggregateId,omitempty"` ProcessGroupAggregateId *string `json:"processGroupAggregateId,omitempty"` ProcessAggregateId *string `json:"processAggregateId,omitempty"` }
Note a flowpair does not have a defined parent relationship through Base
type FlowRecord ¶
type FlowRecord struct { Base SourceHost *string `json:"sourceHost,omitempty"` SourcePort *string `json:"sourcePort,omitempty"` CounterFlow *string `json:"counterFlow,omitempty"` Trace *string `json:"trace,omitempty"` Latency *uint64 `json:"latency,omitempty"` Octets *uint64 `json:"octets"` OctetRate *uint64 `json:"octetRate"` OctetsOut *uint64 `json:"octetsOut,omitempty"` OctetsUnacked *uint64 `json:"octetsUnacked,omitempty"` WindowClosures *uint64 `json:"windowClosures,omitempty"` WindowSize *uint64 `json:"windowSize,omitempty"` Reason *string `json:"reason,omitempty"` Method *string `json:"method,omitempty"` Result *string `json:"result,omitempty"` Process *string `json:"process,omitempty"` ProcessName *string `json:"processName,omitempty"` }
type FlushRecord ¶
type HeartbeatRecord ¶
type HostRecord ¶
type HostRecord struct { Base Location *string `json:"location,omitempty"` Provider *string `json:"provider,omitempty"` Platform *string `json:"platform,omitempty"` Name *string `json:"name,omitempty"` Arch *string `json:"arch,omitempty"` OperatingSystem *string `json:"operatingSystem,omitempty"` OperatingSystemId *string `json:"operatingSystemId,omitempty"` Region *string `json:"region,omitempty"` Zone *string `json:"zone,omitempty"` ContainerRuntime *string `json:"containerRuntime,omitempty"` KernelVersion *string `json:"kernelVersion,omitempty"` KubeProxyVersion *string `json:"kubeProxyVersion,omitempty"` KubeletVersion *string `json:"kubeletVersion,omitempty"` }
type ImageRecord ¶
type IngressRecord ¶
type IngressRecord struct {
Base
}
type LinkRecord ¶
type ListenerRecord ¶
type ListenerRecord struct { Base Name *string `json:"name,omitempty"` DestHost *string `json:"destHost,omitempty"` DestPort *string `json:"destPort,omitempty"` Protocol *string `json:"protocol,omitempty"` Address *string `json:"address,omitempty"` FlowCountL4 *uint64 `json:"flowCountL4,omitempty"` FlowRateL4 *uint64 `json:"flowRateL4,omitempty"` FlowCountL7 *uint64 `json:"flowCountL7,omitempty"` FlowRateL7 *uint64 `json:"flowRateL7,omitempty"` }
type ProcessGroupRecord ¶
type ProcessRecord ¶
type ProcessRecord struct { Base Name *string `json:"name,omitempty"` ParentName *string `json:"parentName,omitempty"` ImageName *string `json:"imageName,omitempty"` Image *string `json:"image,omitempty"` GroupName *string `json:"groupName,omitempty"` GroupIdentity *string `json:"groupIdentity,omitempty"` HostName *string `json:"hostName,omitempty"` SourceHost *string `json:"sourceHost,omitempty"` OctetsSent uint64 `json:"octetsSent"` OctetsSentRate uint64 `json:"octetSentRate"` OctetsReceived uint64 `json:"octetsReceived"` OctetsReceivedRate uint64 `json:"octetReceivedRate"` // contains filtered or unexported fields }
type RouterRecord ¶
type RouterRecord struct { Base Name *string `json:"name,omitempty"` Namespace *string `json:"namespace,omitempty"` Mode *string `json:"mode,omitempty"` ImageName *string `json:"imageName,omitempty"` ImageVersion *string `json:"imageVersion,omitempty"` Hostname *string `json:"hostname,omitempty"` BuildVersion *string `json:"buildVersion,omitempty"` }
type SiteRecord ¶
type SiteRecord struct { Base Location *string `json:"location,omitempty"` Provider *string `json:"provider,omitempty"` Platform *string `json:"platform,omitempty"` Name *string `json:"name,omitempty"` NameSpace *string `json:"nameSpace,omitempty"` OctetsSent uint64 `json:"octetsSent"` OctetsSentRate uint64 `json:"octetSentRate"` OctetsReceived uint64 `json:"octetsReceived"` OctetsReceivedRate uint64 `json:"octetReceivedRate"` }
type VanAddressRecord ¶
type VanAddressRecord struct { Base Name string `json:"name,omitempty"` ListenerCount int `json:"listenerCount"` ConnectorCount int `json:"connectorCount"` TotalFlows int `json:"totalFlows"` CurrentFlows int `json:"currentFlows"` }
Van Address represents a service that is attached to the application network
Click to show internal directories.
Click to hide internal directories.