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.