diff --git a/consumer/influx_stat.go b/consumer/influx_stat.go index 5d0bc5f..8bccca0 100644 --- a/consumer/influx_stat.go +++ b/consumer/influx_stat.go @@ -86,18 +86,17 @@ func (m *influxMetric) StartLogging() { panic(err) } ticker := time.Tick(time.Second) - metricData := make([]data, m.processorCount) + pastMetricData, newMetricData := make([]data, m.processorCount), make([]data, m.processorCount) for { select { case <-ticker: - sendData := make([]data, m.processorCount) - copy(sendData, metricData) - m.sendPoint(influxDbConn, batchPoint, sendData) + copy(pastMetricData, newMetricData) + go m.sendPoint(influxDbConn, batchPoint, pastMetricData) case changedSpeed := <-m.fanSpeedConsumer: - metricData[changedSpeed.Id].FanSpeed = changedSpeed.FanSpeed + newMetricData[changedSpeed.Id].FanSpeed = changedSpeed.FanSpeed case changedTempeture := <-m.tempetureConsumer: - metricData[changedTempeture.Id].Tempeture = changedTempeture.Tempeture + newMetricData[changedTempeture.Id].Tempeture = changedTempeture.Tempeture case <-m.handler.Done(): return }