Documentation ¶
Index ¶
- Constants
- Variables
- type CircuitEvent
- type CircuitEventHandler
- type CircuitEventType
- type CircuitPath
- type Dispatcher
- type DispatcherMock
- func (d DispatcherMock) AcceptCircuitEvent(*CircuitEvent)
- func (d DispatcherMock) AcceptLinkEvent(*LinkEvent)
- func (d DispatcherMock) AcceptMetricsEvent(*MetricsEvent)
- func (d DispatcherMock) AcceptMetricsMsg(*metrics_pb.MetricsMessage)
- func (d DispatcherMock) AcceptRouterEvent(*RouterEvent)
- func (d DispatcherMock) AcceptServiceEvent(*ServiceEvent)
- func (d DispatcherMock) AcceptTerminatorEvent(*TerminatorEvent)
- func (d DispatcherMock) AcceptUsageEvent(*UsageEvent)
- func (d DispatcherMock) AddCircuitEventHandler(CircuitEventHandler)
- func (d DispatcherMock) AddLinkEventHandler(LinkEventHandler)
- func (d DispatcherMock) AddMetricsEventHandler(MetricsEventHandler)
- func (d DispatcherMock) AddMetricsMapper(MetricsMapper)
- func (d DispatcherMock) AddMetricsMessageHandler(MetricsMessageHandler)
- func (d DispatcherMock) AddRouterEventHandler(RouterEventHandler)
- func (d DispatcherMock) AddServiceEventHandler(ServiceEventHandler)
- func (d DispatcherMock) AddTerminatorEventHandler(TerminatorEventHandler)
- func (d DispatcherMock) AddUsageEventHandler(UsageEventHandler)
- func (d DispatcherMock) Dispatch(Event)
- func (d DispatcherMock) NewFilteredMetricsAdapter(*regexp.Regexp, *regexp.Regexp, MetricsEventHandler) MetricsMessageHandler
- func (d DispatcherMock) RegisterEventHandlerFactory(string, HandlerFactory)
- func (d DispatcherMock) RegisterEventType(string, RegistrationHandler)
- func (d DispatcherMock) RemoveCircuitEventHandler(CircuitEventHandler)
- func (d DispatcherMock) RemoveLinkEventHandler(LinkEventHandler)
- func (d DispatcherMock) RemoveMetricsEventHandler(MetricsEventHandler)
- func (d DispatcherMock) RemoveMetricsMessageHandler(MetricsMessageHandler)
- func (d DispatcherMock) RemoveRouterEventHandler(RouterEventHandler)
- func (d DispatcherMock) RemoveServiceEventHandler(ServiceEventHandler)
- func (d DispatcherMock) RemoveTerminatorEventHandler(TerminatorEventHandler)
- func (d DispatcherMock) RemoveUsageEventHandler(UsageEventHandler)
- type Event
- type HandlerFactory
- type LinkConnection
- type LinkEvent
- type LinkEventHandler
- type LinkEventType
- type MetricsEvent
- type MetricsEventHandler
- type MetricsEventHandlerF
- type MetricsMapper
- type MetricsMessageHandler
- type MetricsMessageHandlerF
- type RegistrationHandler
- type RouterEvent
- type RouterEventHandler
- type RouterEventType
- type ServiceEvent
- type ServiceEventHandler
- type TerminatorEvent
- type TerminatorEventHandler
- type TerminatorEventType
- type UsageEvent
- type UsageEventHandler
- type UsageEventV3
- type UsageEventV3Handler
Constants ¶
View Source
const ( MetricsEventsNs = "metrics" MetricsEventsVersion = 3 )
View Source
const ( UsageEventsNs = "fabric.usage" UsageEventsVersion = 2 )
View Source
const (
ServiceEventsNs = "services"
)
Variables ¶
View Source
var CircuitEventTypes = []CircuitEventType{CircuitCreated, CircuitUpdated, CircuitDeleted, CircuitFailed}
Functions ¶
This section is empty.
Types ¶
type CircuitEvent ¶ added in v0.19.28
type CircuitEvent struct { Namespace string `json:"namespace"` Version uint32 `json:"version"` EventType CircuitEventType `json:"event_type"` CircuitId string `json:"circuit_id"` Timestamp time.Time `json:"timestamp"` ClientId string `json:"client_id"` ServiceId string `json:"service_id"` TerminatorId string `json:"terminator_id"` InstanceId string `json:"instance_id"` CreationTimespan *time.Duration `json:"creation_timespan,omitempty"` Path CircuitPath `json:"path"` LinkCount int `json:"link_count"` Cost *uint32 `json:"path_cost,omitempty"` FailureCause *string `json:"failure_cause,omitempty"` }
func (*CircuitEvent) String ¶ added in v0.19.28
func (event *CircuitEvent) String() string
type CircuitEventHandler ¶ added in v0.19.28
type CircuitEventHandler interface {
AcceptCircuitEvent(event *CircuitEvent)
}
type CircuitEventType ¶ added in v0.19.28
type CircuitEventType string
const ( CircuitEventsNs = "fabric.circuits" CircuitEventsVersion = 2 CircuitCreated CircuitEventType = "created" CircuitUpdated CircuitEventType = "pathUpdated" CircuitDeleted CircuitEventType = "deleted" CircuitFailed CircuitEventType = "failed" )
type CircuitPath ¶ added in v0.19.28
type CircuitPath struct { Nodes []string `json:"nodes"` Links []string `json:"links"` IngressId string `json:"ingress_id"` EgressId string `json:"egress_id"` TerminatorLocalAddr string `json:"terminator_local_addr"` TerminatorRemoteAddr string `json:"terminator_remote_addr"` }
func (*CircuitPath) String ¶ added in v0.19.28
func (self *CircuitPath) String() string
type Dispatcher ¶
type Dispatcher interface { RegisterEventType(eventType string, registrationHandler RegistrationHandler) RegisterEventHandlerFactory(eventHandlerType string, factory HandlerFactory) Dispatch(event Event) AddCircuitEventHandler(handler CircuitEventHandler) RemoveCircuitEventHandler(handler CircuitEventHandler) AddLinkEventHandler(handler LinkEventHandler) RemoveLinkEventHandler(handler LinkEventHandler) AddMetricsMapper(mapper MetricsMapper) AddMetricsEventHandler(handler MetricsEventHandler) RemoveMetricsEventHandler(handler MetricsEventHandler) AddMetricsMessageHandler(handler MetricsMessageHandler) RemoveMetricsMessageHandler(handler MetricsMessageHandler) NewFilteredMetricsAdapter(sourceFilter *regexp.Regexp, metricFilter *regexp.Regexp, handler MetricsEventHandler) MetricsMessageHandler AddRouterEventHandler(handler RouterEventHandler) RemoveRouterEventHandler(handler RouterEventHandler) AddServiceEventHandler(handler ServiceEventHandler) RemoveServiceEventHandler(handler ServiceEventHandler) AddTerminatorEventHandler(handler TerminatorEventHandler) RemoveTerminatorEventHandler(handler TerminatorEventHandler) AddUsageEventHandler(handler UsageEventHandler) RemoveUsageEventHandler(handler UsageEventHandler) CircuitEventHandler LinkEventHandler MetricsEventHandler MetricsMessageHandler RouterEventHandler ServiceEventHandler TerminatorEventHandler UsageEventHandler }
The Dispatcher interface manages handlers for a number of events as well as dispatching events to those handlers
type DispatcherMock ¶ added in v0.19.28
type DispatcherMock struct{}
func (DispatcherMock) AcceptCircuitEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptCircuitEvent(*CircuitEvent)
func (DispatcherMock) AcceptLinkEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptLinkEvent(*LinkEvent)
func (DispatcherMock) AcceptMetricsEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptMetricsEvent(*MetricsEvent)
func (DispatcherMock) AcceptMetricsMsg ¶ added in v0.19.28
func (d DispatcherMock) AcceptMetricsMsg(*metrics_pb.MetricsMessage)
func (DispatcherMock) AcceptRouterEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptRouterEvent(*RouterEvent)
func (DispatcherMock) AcceptServiceEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptServiceEvent(*ServiceEvent)
func (DispatcherMock) AcceptTerminatorEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptTerminatorEvent(*TerminatorEvent)
func (DispatcherMock) AcceptUsageEvent ¶ added in v0.19.28
func (d DispatcherMock) AcceptUsageEvent(*UsageEvent)
func (DispatcherMock) AddCircuitEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddCircuitEventHandler(CircuitEventHandler)
func (DispatcherMock) AddLinkEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddLinkEventHandler(LinkEventHandler)
func (DispatcherMock) AddMetricsEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddMetricsEventHandler(MetricsEventHandler)
func (DispatcherMock) AddMetricsMapper ¶ added in v0.19.28
func (d DispatcherMock) AddMetricsMapper(MetricsMapper)
func (DispatcherMock) AddMetricsMessageHandler ¶ added in v0.19.28
func (d DispatcherMock) AddMetricsMessageHandler(MetricsMessageHandler)
func (DispatcherMock) AddRouterEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddRouterEventHandler(RouterEventHandler)
func (DispatcherMock) AddServiceEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddServiceEventHandler(ServiceEventHandler)
func (DispatcherMock) AddTerminatorEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddTerminatorEventHandler(TerminatorEventHandler)
func (DispatcherMock) AddUsageEventHandler ¶ added in v0.19.28
func (d DispatcherMock) AddUsageEventHandler(UsageEventHandler)
func (DispatcherMock) Dispatch ¶ added in v0.19.28
func (d DispatcherMock) Dispatch(Event)
func (DispatcherMock) NewFilteredMetricsAdapter ¶ added in v0.19.28
func (d DispatcherMock) NewFilteredMetricsAdapter(*regexp.Regexp, *regexp.Regexp, MetricsEventHandler) MetricsMessageHandler
func (DispatcherMock) RegisterEventHandlerFactory ¶ added in v0.19.28
func (d DispatcherMock) RegisterEventHandlerFactory(string, HandlerFactory)
func (DispatcherMock) RegisterEventType ¶ added in v0.19.28
func (d DispatcherMock) RegisterEventType(string, RegistrationHandler)
func (DispatcherMock) RemoveCircuitEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveCircuitEventHandler(CircuitEventHandler)
func (DispatcherMock) RemoveLinkEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveLinkEventHandler(LinkEventHandler)
func (DispatcherMock) RemoveMetricsEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveMetricsEventHandler(MetricsEventHandler)
func (DispatcherMock) RemoveMetricsMessageHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveMetricsMessageHandler(MetricsMessageHandler)
func (DispatcherMock) RemoveRouterEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveRouterEventHandler(RouterEventHandler)
func (DispatcherMock) RemoveServiceEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveServiceEventHandler(ServiceEventHandler)
func (DispatcherMock) RemoveTerminatorEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveTerminatorEventHandler(TerminatorEventHandler)
func (DispatcherMock) RemoveUsageEventHandler ¶ added in v0.19.28
func (d DispatcherMock) RemoveUsageEventHandler(UsageEventHandler)
type HandlerFactory ¶ added in v0.19.28
type HandlerFactory interface {
NewEventHandler(config map[interface{}]interface{}) (interface{}, error)
}
A HandlerFactory knows how to create a given event handler type using the provided configuration map
type LinkConnection ¶ added in v0.19.28
type LinkEvent ¶ added in v0.19.28
type LinkEvent struct { Namespace string `json:"namespace"` EventType LinkEventType `json:"event_type"` Timestamp time.Time `json:"timestamp"` LinkId string `json:"link_id"` SrcRouterId string `json:"src_router_id"` DstRouterId string `json:"dst_router_id"` Protocol string `json:"protocol"` DialAddress string `json:"dial_address"` Cost int32 `json:"cost"` Connections []*LinkConnection `json:"connections,omitempty"` }
type LinkEventHandler ¶ added in v0.19.28
type LinkEventHandler interface {
AcceptLinkEvent(event *LinkEvent)
}
type LinkEventType ¶ added in v0.19.28
type LinkEventType string
const ( LinkEventsNs = "fabric.links" LinkDialed LinkEventType = "dialed" LinkFault LinkEventType = "fault" LinkConnected LinkEventType = "connected" LinkFromRouterNew LinkEventType = "routerLinkNew" LinkFromRouterKnown LinkEventType = "routerLinkKnown" LinkFromRouterDisconnectedDest LinkEventType = "routerLinkDisconnectedDest" )
type MetricsEvent ¶ added in v0.19.28
type MetricsEvent struct { MetricType string `json:"metric_type" mapstructure:"metric_type"` Namespace string `json:"namespace"` SourceAppId string `json:"source_id" mapstructure:"source_id"` SourceEntityId string `json:"source_entity_id,omitempty" mapstructure:"source_entity_id,omitempty"` Version uint32 `json:"version"` Timestamp time.Time `json:"timestamp"` Metric string `json:"metric"` Metrics map[string]interface{} `json:"metrics"` Tags map[string]string `json:"tags,omitempty"` SourceEventId string `json:"source_event_id" mapstructure:"source_event_id"` }
type MetricsEventHandler ¶ added in v0.19.28
type MetricsEventHandler interface {
AcceptMetricsEvent(event *MetricsEvent)
}
type MetricsEventHandlerF ¶ added in v0.19.28
type MetricsEventHandlerF func(event *MetricsEvent)
func (MetricsEventHandlerF) AcceptMetricsEvent ¶ added in v0.19.28
func (self MetricsEventHandlerF) AcceptMetricsEvent(event *MetricsEvent)
type MetricsMapper ¶ added in v0.19.28
type MetricsMapper func(msg *metrics_pb.MetricsMessage, event *MetricsEvent)
type MetricsMessageHandler ¶ added in v0.19.28
type MetricsMessageHandler interface { // AcceptMetricsMsg is called when new metrics become available AcceptMetricsMsg(message *metrics_pb.MetricsMessage) }
type MetricsMessageHandlerF ¶ added in v0.19.28
type MetricsMessageHandlerF func(msg *metrics_pb.MetricsMessage)
func (MetricsMessageHandlerF) AcceptMetricsMsg ¶ added in v0.19.28
func (self MetricsMessageHandlerF) AcceptMetricsMsg(msg *metrics_pb.MetricsMessage)
type RegistrationHandler ¶ added in v0.19.28
type RegistrationHandler func(handler interface{}, config map[interface{}]interface{}) error
A RegistrationHandler can take a handler, which may implement multiple event handler interfaces, and configure it using the configuration map provided
type RouterEvent ¶ added in v0.19.28
type RouterEvent struct { Namespace string `json:"namespace"` EventType RouterEventType `json:"event_type"` Timestamp time.Time `json:"timestamp"` RouterId string `json:"router_id"` RouterOnline bool `json:"router_online"` }
func (*RouterEvent) String ¶ added in v0.19.28
func (event *RouterEvent) String() string
type RouterEventHandler ¶ added in v0.19.28
type RouterEventHandler interface {
AcceptRouterEvent(event *RouterEvent)
}
type RouterEventType ¶ added in v0.19.28
type RouterEventType string
const ( RouterEventsNs = "fabric.routers" RouterOnline RouterEventType = "router-online" RouterOffline RouterEventType = "router-offline" )
type ServiceEvent ¶ added in v0.19.28
type ServiceEvent struct { Namespace string `json:"namespace"` Version uint32 `json:"version"` EventType string `json:"event_type"` ServiceId string `json:"service_id"` TerminatorId string `json:"terminator_id"` Count uint64 `json:"count"` IntervalStartUTC int64 `json:"interval_start_utc"` IntervalLength uint64 `json:"interval_length"` }
func (*ServiceEvent) String ¶ added in v0.19.28
func (event *ServiceEvent) String() string
type ServiceEventHandler ¶ added in v0.19.28
type ServiceEventHandler interface {
AcceptServiceEvent(event *ServiceEvent)
}
type TerminatorEvent ¶ added in v0.19.28
type TerminatorEvent struct { Namespace string `json:"namespace"` EventType TerminatorEventType `json:"event_type"` Timestamp time.Time `json:"timestamp"` ServiceId string `json:"service_id"` TerminatorId string `json:"terminator_id"` RouterId string `json:"router_id"` HostId string `json:"host_id"` RouterOnline bool `json:"router_online"` Precedence string `json:"precedence"` StaticCost uint16 `json:"static_cost"` DynamicCost uint16 `json:"dynamic_cost"` TotalTerminators int `json:"total_terminators"` UsableDefaultTerminators int `json:"usable_default_terminators"` UsableRequiredTerminators int `json:"usable_required_terminators"` }
func (*TerminatorEvent) String ¶ added in v0.19.28
func (event *TerminatorEvent) String() string
type TerminatorEventHandler ¶ added in v0.19.28
type TerminatorEventHandler interface {
AcceptTerminatorEvent(event *TerminatorEvent)
}
type TerminatorEventType ¶ added in v0.19.28
type TerminatorEventType string
const ( TerminatorEventsNs = "fabric.terminators" TerminatorCreated TerminatorEventType = "created" TerminatorUpdated TerminatorEventType = "updated" TerminatorDeleted TerminatorEventType = "deleted" TerminatorRouterOnline TerminatorEventType = "router-online" TerminatorRouterOffline TerminatorEventType = "router-offline" )
type UsageEvent ¶ added in v0.19.28
type UsageEvent struct { Namespace string `json:"namespace"` Version uint32 `json:"version"` EventType string `json:"event_type"` SourceId string `json:"source_id"` CircuitId string `json:"circuit_id"` Usage uint64 `json:"usage"` IntervalStartUTC int64 `json:"interval_start_utc"` IntervalLength uint64 `json:"interval_length"` Tags map[string]string `json:"tags"` }
func (*UsageEvent) String ¶ added in v0.19.28
func (event *UsageEvent) String() string
type UsageEventHandler ¶ added in v0.19.28
type UsageEventHandler interface {
AcceptUsageEvent(event *UsageEvent)
}
type UsageEventV3 ¶ added in v0.20.0
type UsageEventV3 struct { Namespace string `json:"namespace"` Version uint32 `json:"version"` SourceId string `json:"source_id"` CircuitId string `json:"circuit_id"` Usage map[string]uint64 `json:"usage"` IntervalStartUTC int64 `json:"interval_start_utc"` IntervalLength uint64 `json:"interval_length"` Tags map[string]string `json:"tags"` }
func (*UsageEventV3) String ¶ added in v0.20.0
func (event *UsageEventV3) String() string
type UsageEventV3Handler ¶ added in v0.20.0
type UsageEventV3Handler interface {
AcceptUsageEventV3(event *UsageEventV3)
}
Click to show internal directories.
Click to hide internal directories.