Ejemplo n.º 1
0
// Consume kafka messages
func consumeMessages(producer kafka.AsyncProducer, consumer kafka.PartitionConsumer) error {
	select {
	case message := <-consumer.Messages():
		var dat map[string]interface{}
		if err := json.Unmarshal(message.Value, &dat); err != nil {
			fmt.Printf("Error with Unmarshal: %s\n", err)
		} else {
			monascaTS, monascaUS, monascaSS := createMonascaSpec(dat)
			mtm, mum, msm := marshalMonasca(monascaTS, monascaUS, monascaSS)

			produceMonascaMetrics(producer, dat, mtm, mum, msm)

		}
	case err := <-consumer.Errors():
		return err
	}
	return nil
}