Documentation ¶
Index ¶
- func ManagerType() interface{}
- func SubscribeRunnableChannel(c Channel) (chan interface{}, error)
- func UnsubscribeClosableChannel(c Channel, sub chan interface{}) error
- type Channel
- type Counter
- type Manager
- type NoopManager
- func (NoopManager) Close() error
- func (NoopManager) GetChannel(string) Channel
- func (NoopManager) GetCounter(string) Counter
- func (NoopManager) RegisterChannel(string) (Channel, error)
- func (NoopManager) RegisterCounter(string) (Counter, error)
- func (NoopManager) Start() error
- func (NoopManager) Type() interface{}
- func (NoopManager) UnregisterChannel(string) error
- func (NoopManager) UnregisterCounter(string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ManagerType ¶
func ManagerType() interface{}
ManagerType returns the type of Manager interface. Can be used to implement common.HasType.
xray:api:stable
func SubscribeRunnableChannel ¶
SubscribeRunnableChannel subscribes the channel and starts it if there is first subscriber coming.
func UnsubscribeClosableChannel ¶
UnsubscribeClosableChannel unsubcribes the channel and close it if there is no more subscriber.
Types ¶
type Channel ¶
type Channel interface { // Channel is a runnable unit. common.Runnable // Publish broadcasts a message through the channel with a controlling context. Publish(context.Context, interface{}) // SubscriberCount returns the number of the subscribers. Subscribers() []chan interface{} // Subscribe registers for listening to channel stream and returns a new listener channel. Subscribe() (chan interface{}, error) // Unsubscribe unregisters a listener channel from current Channel object. Unsubscribe(chan interface{}) error }
Channel is the interface for stats channel.
xray:api:stable
type Counter ¶
type Counter interface { // Value is the current value of the counter. Value() int64 // Set sets a new value to the counter, and returns the previous one. Set(int64) int64 // Add adds a value to the current counter value, and returns the previous value. Add(int64) int64 }
Counter is the interface for stats counters.
xray:api:stable
type Manager ¶
type Manager interface { features.Feature // RegisterCounter registers a new counter to the manager. The identifier string must not be empty, and unique among other counters. RegisterCounter(string) (Counter, error) // UnregisterCounter unregisters a counter from the manager by its identifier. UnregisterCounter(string) error // GetCounter returns a counter by its identifier. GetCounter(string) Counter // RegisterChannel registers a new channel to the manager. The identifier string must not be empty, and unique among other channels. RegisterChannel(string) (Channel, error) // UnregisterCounter unregisters a channel from the manager by its identifier. UnregisterChannel(string) error // GetChannel returns a channel by its identifier. GetChannel(string) Channel }
Manager is the interface for stats manager.
xray:api:stable
type NoopManager ¶
type NoopManager struct{}
NoopManager is an implementation of Manager, which doesn't has actual functionalities.
func (NoopManager) GetChannel ¶
func (NoopManager) GetChannel(string) Channel
GetChannel implements Manager.
func (NoopManager) GetCounter ¶
func (NoopManager) GetCounter(string) Counter
GetCounter implements Manager.
func (NoopManager) RegisterChannel ¶
func (NoopManager) RegisterChannel(string) (Channel, error)
RegisterChannel implements Manager.
func (NoopManager) RegisterCounter ¶
func (NoopManager) RegisterCounter(string) (Counter, error)
RegisterCounter implements Manager.
func (NoopManager) UnregisterChannel ¶
func (NoopManager) UnregisterChannel(string) error
UnregisterChannel implements Manager.
func (NoopManager) UnregisterCounter ¶
func (NoopManager) UnregisterCounter(string) error
UnregisterCounter implements Manager.