func getProducers(topicName string) []string { var producers []string if len(lookupdHTTPAddrs) != 0 { producers, _ = lookupd.GetLookupdTopicProducers(topicName, lookupdHTTPAddrs) } else { producers, _ = lookupd.GetNSQDTopicProducers(topicName, nsqdHTTPAddrs) } return producers }
func (s *httpServer) getProducers(topicName string) []string { var producers []string if len(s.context.nsqadmin.options.NSQLookupdHTTPAddresses) != 0 { producers, _ = lookupd.GetLookupdTopicProducers(topicName, s.context.nsqadmin.options.NSQLookupdHTTPAddresses) } else { producers, _ = lookupd.GetNSQDTopicProducers(topicName, s.context.nsqadmin.options.NSQDHTTPAddresses) } return producers }
func statLoop(interval time.Duration, topic string, channel string, nsqdTCPAddrs []string, lookupdHTTPAddrs []string) { i := 0 for { var producers []string var err error log.SetOutput(ioutil.Discard) if len(lookupdHTTPAddrs) != 0 { producers, err = lookupd.GetLookupdTopicProducers(topic, lookupdHTTPAddrs) } else { producers, err = lookupd.GetNSQDTopicProducers(topic, nsqdHTTPAddrs) } log.SetOutput(os.Stdout) if err != nil { log.Fatalf("ERROR: failed to get topic producers - %s", err.Error()) } log.SetOutput(ioutil.Discard) _, allChannelStats, err := lookupd.GetNSQDStats(producers, topic) log.SetOutput(os.Stdout) if err != nil { log.Fatalf("ERROR: failed to get nsqd stats - %s", err.Error()) } c, ok := allChannelStats[channel] if !ok { log.Fatalf("ERROR: failed to find channel(%s) in stats metadata for topic(%s)", channel, topic) } if i%25 == 0 { fmt.Printf("---------------depth---------------+--------------metadata---------------\n") fmt.Printf("%7d %7s %7s %5s %5s | %7s %7s %12s %7s\n", "total", "mem", "disk", "inflt", "def", "req", "t-o", "msgs", "clients") } // TODO: paused fmt.Printf("%7d %7d %7d %5d %5d | %7d %7d %12d %7d\n", c.Depth, c.MemoryDepth, c.BackendDepth, c.InFlightCount, c.DeferredCount, c.RequeueCount, c.TimeoutCount, c.MessageCount, c.ClientCount) time.Sleep(interval) i++ } }