Documentation ¶
Index ¶
- type ChannelStats
- type ChannelStatsByHost
- type ChannelStatsList
- type ClientStats
- type ClientStatsList
- type ClientsByHost
- type ClusterInfo
- func (c *ClusterInfo) CreateTopicChannel(topicName string, channelName string, lookupdHTTPAddrs []string) error
- func (c *ClusterInfo) DeleteChannel(topicName string, channelName string, lookupdHTTPAddrs []string, ...) error
- func (c *ClusterInfo) DeleteTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
- func (c *ClusterInfo) EmptyChannel(topicName string, channelName string, lookupdHTTPAddrs []string, ...) error
- func (c *ClusterInfo) EmptyTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
- func (c *ClusterInfo) GetLookupdProducers(lookupdHTTPAddrs []string) (Producers, error)
- func (c *ClusterInfo) GetLookupdTopicChannels(topic string, lookupdHTTPAddrs []string) ([]string, error)
- func (c *ClusterInfo) GetLookupdTopicProducers(topic string, lookupdHTTPAddrs []string) (Producers, error)
- func (c *ClusterInfo) GetLookupdTopics(lookupdHTTPAddrs []string) ([]string, error)
- func (c *ClusterInfo) GetNSQDProducers(nsqdHTTPAddrs []string) (Producers, error)
- func (c *ClusterInfo) GetNSQDStats(producers Producers, selectedTopic string) ([]*TopicStats, map[string]*ChannelStats, error)
- func (c *ClusterInfo) GetNSQDTopicProducers(topic string, nsqdHTTPAddrs []string) (Producers, error)
- func (c *ClusterInfo) GetNSQDTopics(nsqdHTTPAddrs []string) ([]string, error)
- func (c *ClusterInfo) GetProducers(lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) (Producers, error)
- func (c *ClusterInfo) GetTopicProducers(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) (Producers, error)
- func (c *ClusterInfo) GetVersion(addr string) (semver.Version, error)
- func (c *ClusterInfo) PauseChannel(topicName string, channelName string, lookupdHTTPAddrs []string, ...) error
- func (c *ClusterInfo) PauseTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
- func (c *ClusterInfo) TombstoneNodeForTopic(topic string, node string, lookupdHTTPAddrs []string) error
- func (c *ClusterInfo) UnPauseChannel(topicName string, channelName string, lookupdHTTPAddrs []string, ...) error
- func (c *ClusterInfo) UnPauseTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
- type ErrList
- type PartialErr
- type Producer
- type ProducerTopic
- type ProducerTopics
- type Producers
- type ProducersByHost
- type TopicStats
- type TopicStatsByHost
- type TopicStatsList
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ChannelStats ¶
type ChannelStats struct { Node string `json:"node"` Hostname string `json:"hostname"` TopicName string `json:"topic_name"` ChannelName string `json:"channel_name"` Depth int64 `json:"depth"` MemoryDepth int64 `json:"memory_depth"` BackendDepth int64 `json:"backend_depth"` InFlightCount int64 `json:"in_flight_count"` DeferredCount int64 `json:"deferred_count"` RequeueCount int64 `json:"requeue_count"` TimeoutCount int64 `json:"timeout_count"` MessageCount int64 `json:"message_count"` ClientCount int `json:"-"` Selected bool `json:"-"` NodeStats []*ChannelStats `json:"nodes"` Clients []*ClientStats `json:"clients"` Paused bool `json:"paused"` E2eProcessingLatency *quantile.E2eProcessingLatencyAggregate `json:"e2e_processing_latency"` }
func (*ChannelStats) Add ¶
func (c *ChannelStats) Add(a *ChannelStats)
type ChannelStatsByHost ¶
type ChannelStatsByHost struct {
ChannelStatsList
}
func (ChannelStatsByHost) Less ¶
func (c ChannelStatsByHost) Less(i, j int) bool
type ChannelStatsList ¶
type ChannelStatsList []*ChannelStats
func (ChannelStatsList) Len ¶
func (c ChannelStatsList) Len() int
func (ChannelStatsList) Swap ¶
func (c ChannelStatsList) Swap(i, j int)
type ClientStats ¶
type ClientStats struct { Node string `json:"node"` RemoteAddress string `json:"remote_address"` Name string `json:"name"` // TODO: deprecated, remove in 1.0 Version string `json:"version"` ClientID string `json:"client_id"` Hostname string `json:"hostname"` UserAgent string `json:"user_agent"` ConnectTs int64 `json:"connect_ts"` ConnectedDuration time.Duration `json:"connected"` InFlightCount int `json:"in_flight_count"` ReadyCount int `json:"ready_count"` FinishCount int64 `json:"finish_count"` RequeueCount int64 `json:"requeue_count"` MessageCount int64 `json:"message_count"` SampleRate int32 `json:"sample_rate"` Deflate bool `json:"deflate"` Snappy bool `json:"snappy"` Authed bool `json:"authed"` AuthIdentity string `json:"auth_identity"` AuthIdentityURL string `json:"auth_identity_url"` TLS bool `json:"tls"` CipherSuite string `json:"tls_cipher_suite"` TLSVersion string `json:"tls_version"` TLSNegotiatedProtocol string `json:"tls_negotiated_protocol"` TLSNegotiatedProtocolIsMutual bool `json:"tls_negotiated_protocol_is_mutual"` }
func (*ClientStats) HasSampleRate ¶
func (c *ClientStats) HasSampleRate() bool
func (*ClientStats) HasUserAgent ¶
func (c *ClientStats) HasUserAgent() bool
func (*ClientStats) UnmarshalJSON ¶
func (s *ClientStats) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler and postprocesses ConnectedDuration
type ClientStatsList ¶
type ClientStatsList []*ClientStats
func (ClientStatsList) Len ¶
func (c ClientStatsList) Len() int
func (ClientStatsList) Swap ¶
func (c ClientStatsList) Swap(i, j int)
type ClientsByHost ¶
type ClientsByHost struct {
ClientStatsList
}
func (ClientsByHost) Less ¶
func (c ClientsByHost) Less(i, j int) bool
type ClusterInfo ¶
type ClusterInfo struct {
// contains filtered or unexported fields
}
func New ¶
func New(log logger, client *http_api.Client) *ClusterInfo
func (*ClusterInfo) CreateTopicChannel ¶
func (c *ClusterInfo) CreateTopicChannel(topicName string, channelName string, lookupdHTTPAddrs []string) error
func (*ClusterInfo) DeleteChannel ¶
func (*ClusterInfo) DeleteTopic ¶
func (c *ClusterInfo) DeleteTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
func (*ClusterInfo) EmptyChannel ¶
func (*ClusterInfo) EmptyTopic ¶
func (c *ClusterInfo) EmptyTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
func (*ClusterInfo) GetLookupdProducers ¶
func (c *ClusterInfo) GetLookupdProducers(lookupdHTTPAddrs []string) (Producers, error)
GetLookupdProducers returns Producers of all the nsqd connected to the given lookupds
func (*ClusterInfo) GetLookupdTopicChannels ¶
func (c *ClusterInfo) GetLookupdTopicChannels(topic string, lookupdHTTPAddrs []string) ([]string, error)
GetLookupdTopicChannels returns a []string containing a union of all the channels from all the given lookupd for the given topic
func (*ClusterInfo) GetLookupdTopicProducers ¶
func (c *ClusterInfo) GetLookupdTopicProducers(topic string, lookupdHTTPAddrs []string) (Producers, error)
GetLookupdTopicProducers returns Producers of all the nsqd for a given topic by unioning the nodes returned from the given lookupd
func (*ClusterInfo) GetLookupdTopics ¶
func (c *ClusterInfo) GetLookupdTopics(lookupdHTTPAddrs []string) ([]string, error)
GetLookupdTopics returns a []string containing a union of all the topics from all the given nsqlookupd
func (*ClusterInfo) GetNSQDProducers ¶
func (c *ClusterInfo) GetNSQDProducers(nsqdHTTPAddrs []string) (Producers, error)
GetNSQDProducers returns Producers of all the given nsqd
func (*ClusterInfo) GetNSQDStats ¶
func (c *ClusterInfo) GetNSQDStats(producers Producers, selectedTopic string) ([]*TopicStats, map[string]*ChannelStats, error)
GetNSQDStats returns aggregate topic and channel stats from the given Producers
if selectedTopic is empty, this will return stats for *all* topic/channels and the ChannelStats dict will be keyed by topic + ':' + channel
func (*ClusterInfo) GetNSQDTopicProducers ¶
func (c *ClusterInfo) GetNSQDTopicProducers(topic string, nsqdHTTPAddrs []string) (Producers, error)
GetNSQDTopicProducers returns Producers containing the addresses of all the nsqd that produce the given topic
func (*ClusterInfo) GetNSQDTopics ¶
func (c *ClusterInfo) GetNSQDTopics(nsqdHTTPAddrs []string) ([]string, error)
GetNSQDTopics returns a []string containing all the topics produced by the given nsqd
func (*ClusterInfo) GetProducers ¶
func (c *ClusterInfo) GetProducers(lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) (Producers, error)
func (*ClusterInfo) GetTopicProducers ¶
func (*ClusterInfo) GetVersion ¶
func (c *ClusterInfo) GetVersion(addr string) (semver.Version, error)
GetVersion returns a semver.Version object by querying /info
func (*ClusterInfo) PauseChannel ¶
func (*ClusterInfo) PauseTopic ¶
func (c *ClusterInfo) PauseTopic(topicName string, lookupdHTTPAddrs []string, nsqdHTTPAddrs []string) error
func (*ClusterInfo) TombstoneNodeForTopic ¶
func (c *ClusterInfo) TombstoneNodeForTopic(topic string, node string, lookupdHTTPAddrs []string) error
TombstoneNodeForTopic tombstones the given node for the given topic on all the given nsqlookupd and deletes the topic from the node
func (*ClusterInfo) UnPauseChannel ¶
type Producer ¶
type Producer struct { RemoteAddresses []string `json:"remote_addresses"` RemoteAddress string `json:"remote_address"` Hostname string `json:"hostname"` BroadcastAddress string `json:"broadcast_address"` TCPPort int `json:"tcp_port"` HTTPPort int `json:"http_port"` Version string `json:"version"` VersionObj semver.Version `json:"-"` Topics ProducerTopics `json:"topics"` OutOfDate bool `json:"out_of_date"` }
func (*Producer) IsInconsistent ¶
IsInconsistent checks for cases where an unexpected number of nsqd connections are reporting the same information to nsqlookupd (ie: multiple instances are using the same broadcast address), or cases where some nsqd are not reporting to all nsqlookupd.
type ProducerTopic ¶
type ProducerTopics ¶
type ProducerTopics []ProducerTopic
func (ProducerTopics) Len ¶
func (pt ProducerTopics) Len() int
func (ProducerTopics) Less ¶
func (pt ProducerTopics) Less(i, j int) bool
func (ProducerTopics) Swap ¶
func (pt ProducerTopics) Swap(i, j int)
type ProducersByHost ¶
type ProducersByHost struct {
Producers
}
func (ProducersByHost) Less ¶
func (c ProducersByHost) Less(i, j int) bool
type TopicStats ¶
type TopicStats struct { Node string `json:"node"` Hostname string `json:"hostname"` TopicName string `json:"topic_name"` Depth int64 `json:"depth"` MemoryDepth int64 `json:"memory_depth"` BackendDepth int64 `json:"backend_depth"` MessageCount int64 `json:"message_count"` NodeStats []*TopicStats `json:"nodes"` Channels []*ChannelStats `json:"channels"` Paused bool `json:"paused"` E2eProcessingLatency *quantile.E2eProcessingLatencyAggregate `json:"e2e_processing_latency"` }
func (*TopicStats) Add ¶
func (t *TopicStats) Add(a *TopicStats)
type TopicStatsByHost ¶
type TopicStatsByHost struct {
TopicStatsList
}
func (TopicStatsByHost) Less ¶
func (c TopicStatsByHost) Less(i, j int) bool
type TopicStatsList ¶
type TopicStatsList []*TopicStats
func (TopicStatsList) Len ¶
func (t TopicStatsList) Len() int
func (TopicStatsList) Swap ¶
func (t TopicStatsList) Swap(i, j int)