func()

in pipeline/inputs/aggregator.go [87:103]


func (h *Aggregator) AddReport(report metrics.MetricReport) error {
	glog.V(2).Infof("aggregator: received report: %v", report.Name)
	if err := report.Validate(h.metric); err != nil {
		return err
	}
	h.closeMutex.RLock()
	defer h.closeMutex.RUnlock()
	if h.closed {
		return errors.New("aggregator: AddReport called on closed aggregator")
	}
	msg := addMsg{
		report: report,
		result: make(chan error, 1),
	}
	h.add <- msg
	return <-msg.result
}