Exemplo n.º 1
0
func Init(metrics met.Backend, t string, addr string, enabled bool) {
	if !enabled {
		return
	}
	topic = t
	cfg := nsq.NewConfig()
	cfg.UserAgent = fmt.Sprintf("raintank-apps-server")
	var err error
	globalProducer, err = nsq.NewProducer(addr, cfg)
	if err != nil {
		log.Fatal(4, "failed to initialize nsq producer for events. %s", err)
	}
	err = globalProducer.Ping()
	if err != nil {
		log.Fatal(4, "can't connect to nsqd: %s", err)
	}
	eventsPublished = metrics.NewCount("eventpublisher.events-published")
	messagesSize = metrics.NewMeter("eventpublisher.message_size", 0)
	publishDuration = metrics.NewTimer("eventpublisher.publish_duration", 0)
}