func (self *Server) influxWriter(influxClient influxdb.Client, options InfluxOptions) { defer close(self.influxChan) defer influxClient.Close() for stat := range self.influxChan { tags := map[string]string{ "id": stat.ID.String(), "family": stat.ID.Family(), "name": stat.SensorConfig.String(), } fields := map[string]interface{}{ "temperature": stat.Temperature.Float64(), } // write point, err := influxdb.NewPoint("onewire", tags, fields, stat.Time) if err != nil { log.Printf("server.Server: influxWriter: influxdb.NewPoint: %v\n", err) } points, err := options.batchPoints() if err != nil { log.Printf("server.Server: influxWriter: newBatchPoints: %v\n", err) continue } points.AddPoint(point) if err := influxClient.Write(points); err != nil { log.Printf("server.Server: influxWriter: influxdb.Client %v: Write %v: %v\n", influxClient, points, err) continue } } }