func (a *AlertNode) batchToResult(b models.Batch) influxql.Result { row := models.BatchToRow(b) r := influxql.Result{ Series: imodels.Rows{row}, } return r }
func (h *HTTPOutNode) runOut([]byte) error { hndl := func(w http.ResponseWriter, req *http.Request) { h.mu.RLock() defer h.mu.RUnlock() if b, err := json.Marshal(h.result); err != nil { httpd.HttpError( w, err.Error(), true, http.StatusInternalServerError, ) } else { w.Write(b) } } p := path.Join("/task", h.et.Task.Name, h.c.Endpoint) r := []httpd.Route{{ Name: h.Name(), Method: "GET", Pattern: p, HandlerFunc: hndl, }} h.endpoint = h.et.tm.HTTPDService.URL() + p func() { h.mu.Lock() defer h.mu.Unlock() h.routes = r }() err := h.et.tm.HTTPDService.AddRoutes(r) if err != nil { return err } switch h.Wants() { case pipeline.StreamEdge: for p, ok := h.ins[0].NextPoint(); ok; p, ok = h.ins[0].NextPoint() { h.timer.Start() row := models.PointToRow(p) h.updateResultWithRow(p.Group, row) h.timer.Stop() } case pipeline.BatchEdge: for b, ok := h.ins[0].NextBatch(); ok; b, ok = h.ins[0].NextBatch() { h.timer.Start() row := models.BatchToRow(b) h.updateResultWithRow(b.Group, row) h.timer.Stop() } } return nil }