// emitter examines the config file for api information // and returns the correct func (js *JavascriptBuilder) emitter() events.Emitter { if js.config.API.URI == "" { // no URI set, return a noop emitter return events.NewNoopEmitter() } return events.NewHTTPPostEmitter(js.config.API.URI, js.config.API.Key, js.config.API.Pid) }
// NewDefaultPipeline returns a new Transporter Pipeline with the given node tree, and // uses the events.HttpPostEmitter to deliver metrics. // eg. // source := // transporter.NewNode("source", "mongo", adaptor.Config{"uri": "mongodb://localhost/", "namespace": "boom.foo", "debug": false, "tail": true}). // Add(transporter.NewNode("out", "file", adaptor.Config{"uri": "stdout://"})) // pipeline, err := transporter.NewDefaultPipeline(source, events.Api{URI: "http://localhost/endpoint"}, 1*time.Second) // if err != nil { // fmt.Println(err) // os.Exit(1) // } // pipeline.Run() func NewDefaultPipeline(source *Node, uri, key, pid string, interval time.Duration) (*Pipeline, error) { emitter := events.NewHTTPPostEmitter(uri, key, pid) return NewPipeline(source, emitter, interval, nil, 10*time.Second) }